adcb8d111aae926c3fc78cee0b64c62b637f360f
[gnulib.git] / ChangeLog
1 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2
3         errno: port to LynxOS 178 2.2.2
4         Problem reported by Joel Brobecker in
5         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
6         * doc/posix-headers/errno.texi (errno.h): Document this.
7         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
8         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
9         Supply a string for EILSEQ.
10         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
11
12 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
13
14         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
15         Linux kernel 2.6.39 introduced O_PATH (see
16         <http://lwn.net/Articles/433854/>) and this is a better fallback
17         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
18         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
20         * lib/fcntl.in.h (O_ACCMODE):
21         * tests/test-fcntl-h.c (main):
22         Do not reject O_ACCMODE merely because it has more than the
23         minimal number of bits, as POSIX allows extensions here.
24
25 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
26
27         mountlist: do not classify a bind-mounted dir entry as "dummy"
28         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
29         the "none"-testing clause.
30         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
31         exception for bind-mounted directories.
32
33 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
34
35         quote: provide a means to escape strings with nul characters
36         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37         (quote, quote_n): Rename formal arguments for consistency with
38         quotearg.
39
40 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
41
42         test-raise: don't assume 199 is an invalid signal
43         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
44
45         sh-quote-tests: port to Solaris 9
46         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
47         Problem reported by Dagobert Michelsen in
48         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
49
50 2012-10-28  Jim Meyering  <jim@meyering.net>
51
52         maint.mk: rename a new configurable variable
53         * top/maint.mk (_gl_translatable_string_re): Rename from
54         translation-markers: _gl_ prefix to insulate from user Makefile code,
55         and the _re suffix to inform that it's a regular expression.
56
57 2012-10-26  Eric Blake  <eblake@redhat.com>
58
59         maint.mk: let packages tweak sc_po_check pattern
60         * top/maint.mk (sc_po_check): Add translation-markers, to allow
61         finding files with other translation markers.
62
63 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64
65         euidaccess: speed up 'configure' on GNU hosts
66         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
67         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
68         it's needed only in this case.  Use AC_CHECK_DECLS, not
69         AC_CHECK_DECLS_ONCE.
70         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
71         or AC_REQUIRE for AC_FUNC_GETGROUPS.
72
73         * lib/regexec.c (re_search_internal): Fix grammar in comment.
74
75 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
76
77         fchmodat, fchownat, fstatat: port to non-inlining compilers
78         Problem reported for FreeBSD 9 by Jim Meyering in
79         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
80         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
81         New files, which define FCHMODAT_INLINE etc.
82         * lib/fchmodat.c (FCHMODAT_INLINE):
83         * lib/fchownat.c (FCHOWNAT_INLINE):
84         * lib/fstatat.c (FSTATAT_INLINE):
85         Remove, as chmodat.c etc. now do this.
86         * modules/fchmodat (Files): Add lib/chmodat.c.
87         * modules/fchownat (Files): Add lib/chownat.c.
88         * modules/fstatat (Files): Add lib/statat.c.
89
90 2012-10-15  Jim Meyering  <jim@meyering.net>
91
92         fchmodat.c, fchownat.c: compile-impeding typos
93         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
94         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
95         Introduced in commit v0.0-7636-gd202279.
96
97 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
98
99         fcntl-h: support GNU flags like O_IGNORE_CTTY
100         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
101         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
102         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
103         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
104         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
105         Define to 0 if not already defined.
106         * tests/test-fcntl-h.c: Test these new flags.
107
108 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
109
110         faccessat, etc.: support AT_FDCWD-only use
111         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
112         this function only if its first argument is AT_FDCWD.
113         Emacs wants faccessat for AT_EACCESS but not for any first-arg
114         values other than AT_FDCWD, so it doesn't want all the openat
115         machinery with fchdir etc.
116         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
117         * modules/fstatat, modules/mkdirat, modules/openat (Files):
118         * modules/unlinkat (Files):
119         Remove lib/openat-priv.h, as at-internal supplies this file.
120         Removing this file here allows us to support programs like Emacs
121         that avoid at-internal.
122
123         faccessat: speed up 'configure' on mainstream hosts
124         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
125         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
126         since it's only on unusual platforms that we need to check for
127         'access', and it's better not to slow 'configure' down on all
128         platforms.
129
130         faccessat: port to Solaris 10
131         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
132         Needed on Solaris 10, which doesn't have AT_EACCESS,
133         so we need the Gnulib fcntl.h, which defines it.
134
135 2012-10-14  Pádraig Brady  <P@draigBrady.com>
136         canonicalize: fix C89 compilation
137         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
138         declarations so C89 is supported.  Also remove the comment
139         referencing memorty allocation as the suggested feature could
140         not be implemented as suggested.
141         Reported by Michael Goffioul.
142
143 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
144
145         group-member: omit unnecessary dependencies
146         This is for Emacs, which has its own allocator and where we
147         don't want to use xalloc.
148         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
149         since we no longer use xmalloc.  Do not include stdbool.h, since
150         the changes below happen to remove the only use of bool.
151         (GROUPBUF_SIZE): New constant.
152         (struct group_info): Remove n_groups member.  Add groupbuf member.
153         This lets us get the groups without using malloc, usually.
154         (free_group_info, get_group_info): Adjust to this.
155         (get_group_info): Return the number of groups found, or -1 on error.
156         Use plain malloc not xmalloc, and treat its failure as if there
157         are no groups, as the user already loses in case of error.
158         (group_member): Simplify, based on changes to get_group_info.
159         * modules/group-member (Depends-on): Remove dependencies on
160         xalloc and stdbool.  Add dependency on xalloc-oversized.
161
162 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
163
164         gethrxtime: port to C++
165         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
166
167 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
168
169         ptsname: fix macro-name typo
170         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
171
172 2012-10-03  Simon Josefsson  <simon@josefsson.org>
173
174         inttostr: Relax license.
175         * modules/inttostr (License): Change from LGPL to LGPLv2+.
176
177 2012-10-03  Eric Blake  <eblake@redhat.com>
178
179         ptsname_r: support ptys returned by FreeBSD posix_openpt
180         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
181         lives in /dev/pts/.
182
183 2012-10-02  Eric Blake  <eblake@redhat.com>
184
185         pselect: reject invalid file descriptors
186         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
187         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
188         * modules/pselect (Depends-on): Add dup2.
189         * doc/posix-functions/pselect.texi (pselect): Document this.
190
191         select: reject invalid file descriptors
192         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
193         * lib/select.c (rpl_select) [!win32]: Work around it.
194         * modules/select (Depends-on): Add dup2.
195         * doc/posix-functions/select.texi (select): Document this.
196
197         select: enhance test
198         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
199         New functions.
200         (test_function): Enhance test.
201         (do_select_bad_fd): Avoid any stale errno values.
202
203         ptsname: reject invalid file descriptors
204         http://www.austingroupbugs.net/view.php?id=503
205         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
206         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
207         * modules/stdlib (Makefile.am): Replace witness.
208         * lib/stdlib.in.h (ptsname): Allow for replacement.
209         * modules/ptsname (configure.ac): Trigger replacement.
210         * doc/posix-functions/ptsname.texi (ptsname): Document this.
211
212 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
213
214         hash-pjw-bare: new module
215         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
216         * lib/hash-pjw-bare.h: Likewise.
217         * modules/hash-pjw-bare: New file.
218         * MODULES.html.sh (Misc): Add it.
219
220 2012-10-02  Eric Blake  <eblake@redhat.com>
221
222         manywarnings: cater to more gcc infelicities
223         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
224         -Wuninitialized without -O.
225
226 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
227
228         select, poll tests: Make setsockopt invocation effective.
229         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
230         the bind() call.
231         * tests/test-select.h (open_server_socket): Likewise.
232
233 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
234
235         sockets, sys_stat: restore AC_C_INLINE
236         This undoes the 2012-09-22 patch.
237         * m4/sockets.m4 (gl_SOCKETS):
238         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
239         Restore AC_C_INLINE, since MSVC requires __inline or _inline
240         and does not support plain 'inline'.  Reported by Bruno Haible in
241         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
242
243 2012-09-30  Bruno Haible  <bruno@clisp.org>
244
245         localeconv tests: Avoid test failure on OpenIndiana.
246         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
247         skip the 'grouping' and 'mon_grouping' tests.
248         Reported by Jim Meyering.
249
250 2012-09-30  Bruno Haible  <bruno@clisp.org>
251
252         havelib: Follow libtool developments.
253         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
254         Suggested by Simon Josefsson.
255
256 2012-09-29  Jim Meyering  <meyering@redhat.com>
257
258         fstatat.c: fix a compile-impeding typo
259         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
260         Introduced in commit v0.0-7636-gd202279.
261         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
262
263 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
264
265         extern-inline: provide a -Wundef safe config.h
266         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
267         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
268         to produce a -Wundef warning free config.h.
269
270 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
271
272         hash-pjw: relax license to LGPLv2+
273         * modules/hash-pjw (License): Relax, with consent of author.
274
275 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
276
277         maint.mk: fix strict vs. lazy variable issues with RELEASE
278         * top/maint.mk (_equal): New function.
279         (member_check): Strip the result to avoid spurious spaces.
280         (url_dir_list): Do not use ifeq, which is strict, as it will
281         require RELEASE_TYPE to be defined.
282         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
283         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
284         (announcement_Cc_alpha,announcement_mail_headers_alpha)
285         (announcement_Cc_beta,announcement_mail_headers_beta)
286         (announcement_Cc_stable,announcement_mail_headers_stable): these.
287         (release): Do not depend on $(release-type), as it forces its
288         evaluation.  Bounce to it.
289
290 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
291
292         maint.mk: formatting changes
293         * top/maint.mk: Indent bodies of if's.
294
295 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
296
297         maint.mk: factor the validation of RELEASE_TYPE
298         With help from Jim Meyering.
299         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
300         * top/maint.mk (_empty, _sp): Move their definition earlier.
301         (member-check, release-type): New.
302         Use the latter instead of $(RELEASE_TYPE).
303         Remove now useless local checks.
304
305 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
306
307         maint.mk: provide "make upload" to ease uploading
308         See
309         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
310         Do not depend simply on the current $(VERSION), as there may have been
311         new commits since the tarball generation.  Rather, rely on $(RELEASE),
312         as "make release-commit" already does.
313
314         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
315         "make TYPE".
316
317         * top/maint.mk (upload_command, upload, release): New.
318         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
319         (VERSION): first word of $(RELEASE) is always right.
320         (emit_upload_commands): Adjust.
321         * top/README-release: Update.
322
323 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
324
325         maint.mk: silent rules
326         With help from Stefano Lattarini.
327         * top/maint.mk (writable-files): Use $(AM_V_GEN).
328         (announcement): Use $(AM_V_at).
329
330 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
331
332         localename: port gl_locale_name_thread_unsafe to FreeBSD
333         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
334         and use the simpler FreeBSD implementation on Mac OS X as well.
335         Original idea suggested by Ed Maste in
336         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
337
338 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
339
340         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
341         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
342         * lib/mbuiter.c, lib/xsize.c: New files.
343         * lib/binary-io.h (BINARY_IO_INLINE):
344         * lib/eealloc.h (EEALLOC_INLINE):
345         * lib/mbfile.h (MBFILE_INLINE):
346         * lib/mbiter.h (MBITER_INLINE):
347         * lib/mbuiter.h (MBUITER_INLINE):
348         * lib/xsize.h (XSIZE_INLINE):
349         New macros.
350         Replace all uses of 'static inline' with them.
351         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
352         * m4/eealloc.m4 (gl_EEALLOC):
353         * m4/mbfile.m4 (gl_MBFILE):
354         * m4/mbiter.m4 (gl_MBITER):
355         * m4/xsize.m4 (gl_XSIZE):
356         Do not require AC_C_INLINE.
357         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
358         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
359         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
360         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
361         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
362         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
363         * modules/binary-io, modules/eealloc, modules/mbfile:
364         * modules/mbiter, modules/mbuiter:
365         (Depends-on): Add extern-inline.
366
367         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
368         * lib/pipe-filter-aux.c: New file.
369         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
370         Replace all uses of 'static inline' with it.
371         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
372         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
373         (filter_retcode): No real need for inline here.
374         * modules/pipe-filter-gi, modules/pipe-filter-ii:
375         (Files): Add lib/pipe-filter-aux.c.
376         (Depends-on): Add extern-inline.
377         (configure.ac): Do not require AC_C_INLINE.
378         (lib_SOURCES): Add pipe-filter-aux.c.
379
380         fdutimensat: omit unnecessary AC_C_INLINE
381         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
382
383         fchmodat, fchownat, fstatat: use extern-inline
384         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
385         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
386         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
387         New macros.
388         * lib/openat.h:
389         Replace all uses of 'static inline' with them.
390         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
391         * modules/fchmodat, modules/fchownat, modules/fstatat:
392         * modules/openat-h:
393         (Depends-on):
394         Add extern-inline.
395         (configure.ac): Remove AC_C_INLINE.
396
397         acl, mbchar, priv-set: use extern-inline
398         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
399         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
400         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
401         New macros.
402         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
403         Replace all uses of 'static inline' with it.
404         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
405         * m4/acl.m4 (gl_FUNC_ACL):
406         * m4/mbchar.m4 (gl_MBCHAR):
407         * m4/priv-set.m4 (gl_PRIV_SET):
408         Remove AC_C_INLINE, since 'inline' is no longer used directly.
409         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
410         Add extern-inline.
411
412         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
413         * m4/sockets.m4 (gl_SOCKETS):
414         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
415         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
416         environments where it's already guaranteed to work, so we needn't
417         check for it at 'configure'-time.
418
419         tls-tests: omit unnecessary 'inline'
420         * tests/test-tls.c (perhaps_yield): No longer inline.
421         Simplicity and portability trump efficiency in test cases.
422
423         utimens-tests: avoid unnecessary 'inline'
424         * modules/fdutimensat-tests (configure.ac):
425         * modules/futimens-tests (configure.ac):
426         * modules/utimens-tests (configure.ac):
427         * modules/utimensat-tests (configure.ac):
428         Remove AC_C_INLINE.
429         * tests/test-utimens-common.h (ctime_compare):
430         No longer inline.  Simplicity and portability trump efficiency here.
431
432         misc: don't limit commentary to inline functions
433         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
434         * lib/xalloc-oversized.h, lib/xsize.h:
435         Contrast macros to functions in general, not just to inline functions,
436         when the commentary does not apply only to inline functions.
437
438 2012-09-20  Jim Meyering  <meyering@redhat.com>
439
440         non-recursive-gnulib-prefix-hack: new module
441         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
442         the file that originated in Bison.
443         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
444         largely copied from a snippet that resided in bison's configure.ac.
445         * modules/non-recursive-gnulib-prefix-hack: New file.
446         * MODULES.html.sh (Support for maintaining and releasing projects):
447         Add it.
448
449 2012-09-18  Jim Meyering  <meyering@redhat.com>
450
451         maint.mk: generalize _gl_tight_scope for non-recursive make
452         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
453         that *.h would describe additional .h files in the directory
454         specified by $(_gl_TS_dir).  I.e., add this...
455         (_gl_TS_other_headers): New variable.
456
457         maint.mk: exempt trailing blanks found in "binary" files
458         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
459         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
460         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
461
462 2012-09-17  Jim Meyering  <meyering@redhat.com>
463
464         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
465         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
466         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
467         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
468
469 2012-09-17  Jim Meyering  <meyering@redhat.com>
470
471         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
472         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
473         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
474         It is not in the same category as "exit (0)" or "exit (1)", and
475         besides, I know of no symbolic name for that 77.  Reported by
476         Richard W.M. Jones in
477         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
478
479 2012-09-17  Jim Meyering  <meyering@redhat.com>
480
481         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
482         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
483         all uses of #define, not just those that start in column 1.
484         Richard W.M. Jones reported a false positive in
485         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
486
487 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
488
489         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
490         * lib/localcharset.c (locale_charset) [DARWIN7]:
491         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
492         as these two values are incompatible.  Problem reported by Max Horn.
493         For more discussion, please see
494         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
495
496         doc: document sticky-EOF issue
497         * doc/posix-functions/fgetc.texi (fgetc):
498         * doc/posix-functions/fgets.texi (fgets):
499         * doc/posix-functions/fread.texi (fread):
500         * doc/posix-functions/fscanf.texi (fscanf):
501         * doc/posix-functions/getc.texi (getc):
502         * doc/posix-functions/getchar.texi (getchar):
503         * doc/posix-functions/scanf.texi (scanf):
504         Mention that glibc and default Solaris do not conform to
505         C99 and POSIX-2001 or later, with respect to how getchar
506         etc. behave when feof reports nonzero.
507
508 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
509
510         poll: fix poll(0, NULL, msec)
511         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
512         but nfd is 0.  In that case poll should behave like select.
513
514 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
515             Paolo Bonzini <bonzini@gnu.org>
516
517         poll: fix for systems that can't recv() on a non-socket
518         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
519         is readable.  In this case POLLHUP will not be supported.
520         * doc/posix-functions/poll.texi: Document this.
521
522 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
523
524         poll/select: document portability problems not fixed by Gnulib.
525         * doc/posix-functions/poll.texi: poll does not work well on
526         pipes under Windows.  It has the same limitations as select on
527         BeOS.
528         * doc/posix-functions/select.texi: select does not work well
529         on pipes under Windows.
530
531 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
532
533         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
534         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
535         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
536         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
537
538 2012-09-06  Eric Blake  <eblake@redhat.com>
539
540         net_if: give more details about the bug being fixed
541         * doc/posix-headers/net_if.texi: Add clarification.
542
543 2012-09-05  Eric Blake  <eblake@redhat.com>
544
545         net_if: new module
546         * modules/net_if: New module, borrowing ideas from netinet_in.
547         * m4/net_if_h.m4: New file.
548         * lib/net_if.in.h: Likewise.
549         * doc/posix-headers/net_if.texi (net/if.h): Document it.
550         * MODULES.html.sh (lacking POSIX:2008): Likewise.
551         * tests/test-net_if.c: Make function checks conditional.
552         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
553
554 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
555
556         readutmp: fix non-portable UT_PID use
557         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
558         Use `UT_PID (u) > 0' as absolute condition.
559
560 2012-09-04  Jim Meyering  <meyering@redhat.com>
561
562         fts: reduce two or more trailing spaces to just one, usually
563         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
564         or more slashes, trim all but the final one.  But if a name consists
565         solely of two slashes, don't modify it.  If it consists solely of
566         three or more slashes, strip all but one.
567
568         This is part of the solution to a minor problem with rm:
569         it would print a bogus ELOOP diagnostic when failing to remove
570         the slash-decorated name of a symlink-to-directory:
571
572             $ mkdir d && ln -s d s && env rm -r s/
573             rm: cannot remove 's': Too many levels of symbolic links
574
575         With the change below and a trivial don't-trim-trailing-slashes
576         adjustment to remove.c, it does this:
577
578             $ env rm -r s/
579             rm: cannot remove 's/': Not a directory
580
581         Improved by: Eric Blake
582
583         fts: when there is no risk of overlap, use memcpy, not memmove
584         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
585
586 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
587
588         stdbool: be more compatible with mixed C/C++ compiles
589         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
590         Define to bool, true, false, respectively, as GCC's builtin
591         stdbool.h does.  Problem reported by Michael Goffioul in
592         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
593
594 2012-08-28  Jim Meyering  <meyering@redhat.com>
595
596         revert last change: it was not needed
597         * tests/test-vc-list-files-git.sh: There's already a test for
598         a working git, just below.
599
600 2012-08-28  Jim Meyering  <meyering@redhat.com>
601
602         tests: test-vc-list-files-git.sh: skip if git is not available
603         * tests/test-vc-list-files-git.sh: Skip this test when git is
604         not available.
605
606 2012-08-26  Bruno Haible  <bruno@clisp.org>
607
608         gnulib-tool: Remove no-op option --no-changelog.
609         * gnulib-tool (func_usage): Don't mention --no-changelog.
610         (do_changelog): Remove variable.
611         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
612
613 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
614
615         doc: remove fdl-1.2.texi
616         It is no longer used or maintained, and its use of @acronym
617         is problematic.  See the thread containing
618         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
619         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
620         * doc/old-licenses/fdl-1.2.texi: Remove.
621
622         execinfo: port to FreeBSD
623         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
624         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
625         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
626         * modules/execinfo (Link): Add $(LIB_EXECINFO).
627
628 2012-08-23  Jim Meyering  <meyering@redhat.com>
629
630         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
631         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
632         to placate gcc's -Wold-style-declaration.
633
634 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
635
636         doc: do not use @acronym
637         * doc/inet_ntoa.texi (inet_ntoa):
638         * doc/parse-datetime.texi (Seconds since the Epoch)
639         (Specifying time zone rules):
640         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
641         Don't use @acronym.  Problem reported by John Darlington in
642         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
643
644 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
645
646         stdnoreturn: port to newer GCCs
647         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
648         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
649         Problem reported by Jim Meyering in
650         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
651         Also, rename the 'test' function to a void a clash with the
652         already-supplied 'main' function; this fixes a bug that incorrectly
653         rejected GCC 4.7.1's <stdnoreturn.h>.
654         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
655         Document GCC problem.
656
657 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
658
659         pipe-filter: fix comment typo
660         * lib/pipe-filter.h: Mention correct function.
661
662 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
663
664         execinfo: new module
665         This is for Emacs.  Currently, it provides a no-effect stub
666         on all platforms where it does not already work.
667         It already works on glibc-based systems, and on Solaris 11.
668         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
669         New files.
670         * doc/glibc-headers/execinfo.texi (execinfo.h):
671         * MODULES.html.sh (Misc): Document it.
672
673 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
674
675         extern-inline: support old GCC 'inline'
676         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
677         if available.  This applies to GCC versions 2.7 through 4.2, or
678         when newer GCC is using -fgnu89-inline.  The goal is to address
679         some of the performance issues mentioned by Bruno Haible in
680         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
681
682 2012-08-20  Eric Blake  <eblake@redhat.com>
683
684         maint.mk: avoid redundant file name in message
685         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
686         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
687         (sc_makefile_path_separator_check): Remove bogus $(ME).
688
689 2012-08-20  Mike Frysinger <vapier@gentoo.org>
690
691         timer-time: fix link order when static linking on glibc
692         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
693         _after_ -lrt so that it's significant.
694
695 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
696
697         timespec: omit unnecessary AC_C_INLINE
698         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
699
700         stat-time: omit unnecessary AC_C_INLINE
701         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
702         Do not require AC_C_INLINE.
703
704         ignore-value: omit unnecessary AC_C_INLINE
705         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
706
707         sys_select: avoid 'static inline'
708         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
709
710         mktime: avoid 'static inline'
711         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
712         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
713
714 2012-08-19  Bruno Haible  <bruno@clisp.org>
715
716         gnulib-tool: Improve coding style.
717         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
718         func_emit_lib_Makefile_am.
719         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
720
721 2012-08-19  Bruno Haible  <bruno@clisp.org>
722
723         gnulib-tool: Fix indentation.
724         * gnulib-tool (func_import): Fix indentation.
725
726 2012-08-19  Bruno Haible  <bruno@clisp.org>
727
728         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
729         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
730         on the list of removed files.
731
732 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
733
734         test-parse-datetime: avoid glibc leap-second glitch
735         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
736         with the 2012 rules.  Problem reported by Bruce Dubbs in
737         <http://bugs.gnu.org/12206>.
738
739 2012-08-14  Bruno Haible  <bruno@clisp.org>
740
741         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
742         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
743         from argument.
744         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
745
746 2012-08-14  Eric Blake  <eblake@redhat.com>
747
748         ldexp: relax license
749         * modules/ldexp (License): Trivial relax, since the module only
750         provides a permissively licensed m4 file.
751
752 2012-08-13  Bruno Haible  <bruno@clisp.org>
753
754         gnulib-tool: Fix persistence of --witness-c-macro option.
755         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
756         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
757
758 2012-08-11  Eric Blake  <eblake@redhat.com>
759
760         count-leading-zeros: use a lookup table on non-gcc compilers
761         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
762         alternate implementation, suggested by Jim Meyering.
763
764 2012-08-10  Eric Blake  <eblake@redhat.com>
765
766         count-leading-zeros: new module
767         * modules/count-leading-zeros: New module.
768         * m4/count-leading-zeros.m4: New file.
769         * lib/count-leading-zeros.h: Likewise.
770         * modules/count-leading-zeros-tests: New test.
771         * tests/test-count-leading-zeros.c: New file.
772         * MODULES.html.sh (Integer arithmetic functions): Document it.
773
774 2012-08-07  Simon Josefsson  <simon@josefsson.org>
775             Jim Meyering  <meyering@redhat.com>
776
777         maintainer-makefile: Fix syntax error with dash.
778         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
779         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
780
781 2012-08-05  Jim Meyering  <meyering@redhat.com>
782
783         extern-inline: also ignore -Wmissing-declarations
784         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
785         required with gcc-4.8.0-to-be.
786
787         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
788         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
789         for /error ?([^,]*)/.  This avoids false-positives for strings like
790         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
791
792 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
793
794         gnumakefile: better interaction with Automake-NG
795         * modules/gnumakefile [Makefile.am]: The makefiles generated by
796         Automake-NG always contain a definition of VPATH, even in non-VPATH
797         builds (its value being simply '.' in that case).  So, in the
798         'clean-GNUmakefile' rule, to determine whether running under a
799         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
800         '$(VPATH)' expands to the empty string.
801
802 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
803
804         base64: Use extern C scope in header file, for C++.
805         * lib/base64.h: Add C++ namespace protection.
806
807 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
808
809         stat-time, timespec, u64: support naive out-of-dir builds
810         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
811         Use '#include "foo.h"', not '#include <foo.h>', when including
812         one's own interface.  This works better when configuring with
813         out-of-directory builds, since packages need not add an
814         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
815
816 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
817
818         utimens: use extern-inline
819         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
820         * lib/utimens.h: Add copyright notice, since this is now large enough
821         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
822         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
823         * modules/utimens (Depends-on): Add extern-inline.
824
825         u64: use extern-inline
826         * lib/u64.c: New file.
827         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
828         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
829         * modules/u64 (Files): Add lib/u64.c.
830         (Depends-on): Add extern-inline.
831         (configure.ac): No need to require AC_C_INLINE, since extern-inline
832         does that now.
833         (lib_SOURCES): Add u64.c.
834
835         timespec: use extern-inline
836         * lib/timespec.c: New file.
837         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
838         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
839         * modules/timespec (Files): Add lib/timespec.c.
840         (Depends-on): Add extern-inline.
841         (lib_SOURCES): Add timespec.c.
842
843         stat-time: use extern-inline
844         * lib/stat-time.c: New file.
845         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
846         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
847         * modules/stat-time (Files): Add lib/stat-time.c.
848         (Depends-on): Add extern-inline.
849         (lib_SOURCES): Add stat-time.c.
850
851         extern-inline: new module
852         * modules/extern-inline, m4/extern-inline.m4: New files.
853         This is for better support of 'extern inline' a la ISO C99,
854         with a portable alternative on compilers that do not support
855         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
856         of the Emacs executable, when compiled with debugging disabled,
857         which is a typical way that Emacs is built while developing.
858
859 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
860
861         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
862         * build-aux/do-release-commit-and-tag: Move variable definitions
863         together.
864         ($branch): Instead of defaulting to "master", default to the current
865         branch (as gnu-web-doc-update does).
866         (help): Display the current values of the option arguments.
867         * top/maint.mk (release-commit): New.
868         * top/README-release: Simplify the corresponding step.
869
870 2012-07-30  Eric Blake  <eblake@redhat.com>
871
872         passfd: fix comment on recvfd
873         * lib/passfd.c (recvfd): Fix comment.
874         Reported by Jann Horn <jannhorn@googlemail.com>.
875
876 2012-07-30  Jim Meyering  <meyering@redhat.com>
877
878         maint.mk: avoid a sub-shell
879         * top/maint.mk (release-prep): Remove unneeded sub-shell.
880
881 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
882
883         maint.mk: use silent-rules support from Automake
884         * top/maint.mk (news-check, vc-diff-check, announcement)
885         (no-submodule-changes, alpha beta stable, release-prep)
886         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
887
888 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
889
890         maint.mk: provide a web-manual-update target
891         * top/maint.mk: here.
892         * top/README-release: Use it to simplify the web manual update step.
893
894 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
895
896         README-release: shorten the circuit to post a news
897         * top/README-release: Point directly to the news submission form.
898
899 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
900
901         gnu-web-doc-update: fix --help
902         * build-aux/gnu-web-doc-update: The information "top level" was written
903         twice.
904
905 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
906
907         maint.mk: absolute VPATH issue
908         * top/maint.mk (release-prep): Help Git find .git/.
909         From Jim Meyering.
910
911 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
912
913         gitlog-to-changelog: fix previous change
914         * build-aux/gitlog-to-changelog: Fix condition.
915         Add missing ";".
916
917 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
918
919         gitlog-to-changelog: don't expect .git to be in $srcdir
920         Reported by Bruno Haible.
921         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
922         * build-aux/gitlog-to-changelog (&git_dir_option): New.
923         Use it.
924
925 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
926
927         maint.mk: absolute VPATH build fix
928         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
929         $(srcdir) is not a parent of $(builddir).
930
931 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
932
933         clean-temp: Fix memory leak.
934         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
935         'files' members of tmpdir.
936
937 2012-07-27  Jim Meyering  <meyering@redhat.com>
938
939         maint.mk: new rule: refresh-gnulib-patches
940         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
941         Use this rule to refresh them.
942         * top/maint.mk (refresh-gnulib-patches): New rule.
943
944 2012-07-24  Bruno Haible  <bruno@clisp.org>
945
946         gnulib-tool: Fix handling of inctests variable.
947         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
948         Reported by Nick Bowler <nbowler@elliptictech.com>.
949
950 2012-07-22  Bruno Haible  <bruno@clisp.org>
951
952         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
953         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
954         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
955         Remove exemption for getpass.h.
956         Suggested by Eric Blake.
957
958 2012-07-20  Eric Blake  <eblake@redhat.com>
959
960         verify: document conflict with -Wnested-externs
961         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
962
963         maint.mk: forbid exit(-1)
964         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
965
966 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
967
968         fsusage: port back to Solaris
969         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
970         error (fsd not declared) on Solaris 10.  Reported privately by
971         Andrew Borodin.
972
973 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
974
975         gnu-web-doc-update: fix error messages
976         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
977
978         gnu-web-doc-update: check the requirements.
979         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
980         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
981         * build-aux/bootstrap (find_tool): Comment change.
982
983 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
984
985         maint.mk: minor simplication.
986         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
987         for default values.
988
989 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
990
991         gitlog-to-changelog: VPATH build issues
992         If builddir is not a subdirectory of srcdir, running git from it will
993         fail.
994         * build-aux/gitlog-to-changelog (--srcdir): New option.
995
996 2012-07-15  Bruno Haible  <bruno@clisp.org>
997
998         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
999         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
1000         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
1001         Remove exemption for fpending.h.
1002         Suggested by Eric Blake.
1003
1004 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1005
1006         pthread_sigmask: fix bug on FreeBSD 9
1007         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
1008         Include string.h.
1009         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
1010         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
1011         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
1012         but pthread_sigmask (1729, NULL, NULL) returns zero.
1013         See <http://bugs.gnu.org/11884>.
1014         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
1015         by inspecting whether the main call changed the old mask.
1016
1017 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
1018
1019         README-release: make it more legible
1020         * top/README-release: Improve typography slightly.
1021
1022 2012-07-15  Jim Meyering  <meyering@redhat.com>
1023
1024         maint: require that each sc_... command start with "@"
1025         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
1026         "make sc_maint" helps us avoid this nit.
1027
1028 2012-07-15  Jim Meyering  <meyering@redhat.com>
1029
1030         maint.mk: add leading "@" to quiet new "make syntax-check" rule
1031         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
1032
1033 2012-07-13  Eric Blake  <eblake@redhat.com>
1034
1035         maint.mk: new syntax check for HAVE_DECL checks
1036         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
1037         * cfg.mk
1038         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
1039         Exempt some false positives.
1040         Based on a report by Karel Zak.
1041
1042         argp: make HAVE_DECL usage consistent
1043         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
1044         macros, not whether they are defined.
1045         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
1046         convention with other declaration checks.
1047         Reported by Karel Zak, with suggestions from Paul Eggert.
1048
1049         stat-time: relax license to LGPLv2+
1050         * modules/stat-time (License): Relax, with consent of all authors.
1051
1052         strndup: fix m4 usage error
1053         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
1054         defined, to either 0 or 1.
1055         Reported by Karel Zak.
1056
1057 2012-07-11  Jim Meyering  <meyering@redhat.com>
1058
1059         maint: enable the sc_avoid_if_before_free syntax-check rule
1060         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
1061         (if_before_free_offenders_): Define.
1062         (if_before_free_basename_re_): Define.
1063         Exempt current files with useless if-before-free.
1064
1065 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
1066
1067         gettext: do not assume '#define ... defined ...' behavior
1068         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
1069         Do not use '#define FOO ... defined BAR ...', as the C standard says
1070         it's not portable to expect that this works after macro expansion.
1071         Problem reported for gzip by Steven M. Schweda in
1072         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
1073
1074 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
1075
1076         getloadavg: clean out old Emacs and Autoconf cruft
1077         See Glenn Morris in <http://bugs.gnu.org/11905>.
1078         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
1079         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
1080         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
1081         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
1082
1083 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
1084
1085         bootstrap: let warn be like tests/init.sh's warn_
1086         Reported by Jim Meyering.
1087         * build-aux/bootstrap (warn): Remove, replaced by...
1088         (warnf_, warn_): these.
1089         Adjust callers.
1090         Shorten messages that no longer fit in 80 columns.
1091
1092 2012-07-09  Bruno Haible  <bruno@clisp.org>
1093
1094         getopt: Simplify after Emacs changed.
1095         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
1096         (gl_GETOPT_IFELSE): Remove macro.
1097
1098 2012-07-09  Jim Meyering  <meyering@redhat.com>
1099
1100         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
1101         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
1102
1103         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
1104         Bugs in both of those conspired to make the
1105         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
1106         _sc_search_regexp's handling of non-empty $in_files would filter
1107         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
1108         choice of in_files value meant there would be no match in most
1109         projects, due to the presence of two or more Makefile.in files.
1110         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
1111         Fix a bug in how a non-empty $$in_files was processed:
1112         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
1113         in spite of the name, it's a regexp, not a list of file names.
1114
1115 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
1116
1117         getloadavg, getopt: fix commentary re configure.in
1118         Autoconf is deprecating the name 'configure.in', so change it to
1119         to the new name 'configure.ac' in a couple of places.
1120         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
1121         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
1122         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
1123         Emacs has renamed it to configure.ac, and it no longer refers
1124         to these macros anyway.
1125
1126         timespec: mark functions with const attributes
1127         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
1128         Mark with _GL_ATTRIBUTE_CONST.
1129
1130 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
1131
1132         canonicalize[-lgpl]: handle "guessing" values when cross-building
1133         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1134         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
1135         matches "*yes" instead of just "yes".  Regression introduced in commit
1136         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
1137
1138 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
1139             Bruno Haible  <bruno@clisp.org>
1140
1141         canonicalize: make the right guess when cross-compiling to GNU
1142         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
1143         determine whether cross-compiling to glibc systems, so as to
1144         include GNU/Hurd.
1145
1146 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1147
1148         timespec-sub: avoid duplicate include
1149         * lib/timespec-sub.c: Do not include <config.h> twice.
1150         Reported by Juanma Barranquero.
1151
1152 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
1153
1154         bootstrap: use a more consistent error reporting scheme
1155         * build-aux/bootstrap (warn, die): New.
1156         Use them.
1157
1158 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1159
1160         sys_time: allow too-wide tv_sec
1161         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
1162         timeval even if tv_sec is wider than time_t.  This allows
1163         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
1164         as without this patch gnulib replaces struct timeval
1165         and OpenBSD futimes therefore has a type mismatch.
1166         * doc/posix-headers/sys_time.texi: Mention this.
1167
1168         pthread: check for both pthread_create and pthread_join
1169         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
1170         alter the check so that it tests for both pthread_create and
1171         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
1172         Suggested by Bruno Haible and Richard Yao in
1173         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
1174
1175         parse-datetime: doc tuneup
1176         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
1177         spacing issues.
1178
1179 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
1180
1181         do-release-commit-and-tag: fix the previous commit
1182         * build-aux/do-release-commit-and-tag: Actually the test was right,
1183         but the comment and the error message were misleading.
1184         Fix comment, and improve error message.
1185         Perform check first, so that NEWS is not modified uselessly.
1186
1187         do-release-commit-and-tag: fix typo
1188         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
1189         _not_ start with a stub.
1190
1191 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1192
1193         pthread: check for pthread_create, not pthread_join
1194         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
1195         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
1196         pthread_join in libc.  I hope this removes the need for all the
1197         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
1198         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
1199
1200 2012-07-04  Jim Meyering  <meyering@redhat.com>
1201
1202         parse-datetime: fix failure to diagnose invalid input
1203         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
1204         rather than diagnosing the invalid input.  Now it reports this:
1205         date: invalid date '\260'
1206         * lib/parse-datetime.y (to_uchar): Define.
1207         (yylex): Don't sign-extend "other" bytes.
1208         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
1209         Thanks to Bruno Haible for the patch to this file.
1210         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
1211         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
1212
1213 2012-07-03  Jim Meyering  <meyering@redhat.com>
1214
1215         bootstrap: do not require now-removed build-aux/missing
1216         Now that build-aux/missing is, er, missing, bootstrap would
1217         silently fail.
1218         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
1219         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
1220         no longer part of gnulib.
1221         Diagnose the failure.
1222
1223 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
1224
1225         alloca: add support for HP NonStop TNS/E native
1226         * lib/alloca.in.h (alloca): Support the new host.
1227         From a suggestion by Joachim Schmitz in
1228         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
1229
1230 2012-07-02  Pádraig Brady  <P@draigBrady.com>
1231
1232         fsusage: remove code not needed on non GNU/Linux systems.
1233
1234         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
1235         Don't include headers no longer needed in this case.
1236         * lib/fsusage.c [STAT_STATVFS &&
1237         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
1238         STAT_STATFS2_FRSIZE to exclude code not used in this case.
1239
1240 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1241
1242         fsusage: include files needed for glibc 2.6 fallback
1243         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
1244         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
1245         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
1246         Problem reported by Ludovic Courtès in
1247         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
1248
1249         fsusage: avoid needless check on GNU/Linux
1250         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
1251         on GNU/Linux systems, since it can't possibly work.
1252
1253 2012-07-01  Bruno Haible  <bruno@clisp.org>
1254
1255         log: Fix an autoconf >= 2.64 warning.
1256         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
1257         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1258
1259 2012-06-28  Bruno Haible  <bruno@clisp.org>
1260
1261         log10f: Fix possible configuration problem.
1262         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
1263         $LOGF_LIBM.
1264         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1265
1266 2012-06-28  Bruno Haible  <bruno@clisp.org>
1267
1268         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
1269         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
1270         not gl_cv_func_unlink_works.
1271         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1272
1273 2012-06-27  Eric Blake  <eblake@redhat.com>
1274
1275         config: drop scripts that automake says are not independent
1276         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
1277         * build-aux/elisp-comp: Delete.
1278         * build-aux/missing: Likewise.
1279         * build-aux/ylwrap: Likewise.
1280         * modules/elisp-comp: Likewise.
1281         * MODULES.html.sh: Drop mention of elisp-comp.
1282         * NEWS: Mention this.
1283
1284 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
1285
1286         root-uid: new module
1287         This is for portability to Tandem's NonStop Kernel.
1288         * lib/root-uid.h, modules/root-uid: New files.
1289         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
1290         * lib/write-any-file.c, tests/test-sethostname2.c:
1291         Include "root-uid.h".
1292         * lib/euidaccess.c (euidaccess):
1293         * lib/pt_chown.c (main):
1294         * lib/unlinkdir.c (cannot_unlink_dir):
1295         * lib/write-any-file.c (can_write_any_file):
1296         * m4/mknod.m4 (gl_FUNC_MKNOD):
1297         * tests/test-sethostname2.c (geteuid, main):
1298         Don't assume ROOT_UID == 0.
1299         * modules/euidaccess (Depends-on):
1300         * modules/pt_chown (Depends-on):
1301         * modules/sethostname-tests (Depends-on):
1302         * modules/unlinkdir (Depends-on):
1303         * modules/write-any-file (Depends-on):
1304         Add root-uid.
1305
1306         regex: use locale-independent comparison for codeset name
1307         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
1308         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
1309         for codeset name.
1310         * lib/regex_internal.h: Do not include <strings.h>, since we
1311         no longer use strcasecmp.
1312         * modules/regex (Depends-on): Remove strcase.
1313
1314 2012-06-23  Bruno Haible  <bruno@clisp.org>
1315
1316         getopt-posix: No longer guarantee that option processing is resettable.
1317         * doc/posix-functions/getopt.texi: Drop description of problem with
1318         internal state. Fix info about mingw and msvc9.
1319         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
1320         option processing by getopt(). Run three test programs instead of one.
1321         Simplify cross-compilation guess.
1322         * NEWS: Mention the change.
1323         Reported by Rich Felker <dalias@aerifal.cx>.
1324
1325 2012-06-26  Bruno Haible  <bruno@clisp.org>
1326
1327         argp, regex: Ensure strcasecmp gets declared.
1328         * lib/argp-help.c: Include <strings.h>.
1329         * lib/regex_internal.h: Likewise.
1330         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
1331
1332 2012-06-24  Bruno Haible  <bruno@clisp.org>
1333
1334         ptsname_r: Make it consistent with ptsname on AIX.
1335         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
1336         implementation as for OSF/1.
1337         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
1338         a pty master.
1339
1340         ptsname_r: Make it consistent with ptsname on OSF/1.
1341         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
1342         OSF/1.
1343
1344 2012-06-24  Bruno Haible  <bruno@clisp.org>
1345
1346         ttyname_r: Fix result on OSF/1, Solaris.
1347         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
1348
1349 2012-06-24  Bruno Haible  <bruno@clisp.org>
1350
1351         ptsname_r: Add support for Solaris.
1352         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
1353         Solaris.
1354
1355         ptsname_r: Fix test failure on native Windows.
1356         * modules/ptsname_r (Depends-on): Add isatty.
1357
1358         ptsname_r: Fix test failures on IRIX, Solaris.
1359         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
1360         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
1361         accordingly.
1362         * lib/ptsname_r.c: Include <fcntl.h>.
1363         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
1364         set errno if fd is invalid.
1365         * tests/test-isatty.c (main): Update comments.
1366
1367 2012-06-24  Bruno Haible  <bruno@clisp.org>
1368
1369         ptsname test: Extend test.
1370         * tests/test-ptsname.c: Include <errno.h>.
1371         (main): Test behaviour with invalid file descriptor.
1372
1373 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1374
1375         time: fix obsolete comment
1376         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
1377         reference to HAVE_STRUCT_TIMESPEC in comment.
1378
1379 2012-06-23  Bruno Haible  <bruno@clisp.org>
1380
1381         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
1382         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
1383         does not handle abbreviated long options with equivalent
1384         disambiguations, set gl_replace_getopt to yes.
1385         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
1386
1387 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
1388
1389         time_r: fix typo that always overrode localtime_r decl
1390         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
1391         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
1392         not in a standard include.
1393
1394 2012-06-22  Bruno Haible  <bruno@clisp.org>
1395
1396         Write "Mac OS X" instead of "MacOS X".
1397         * README: Write "Mac OS X" instead of "MacOS X".
1398         * build-aux/bootstrap: Likewise.
1399         * build-aux/install-reloc: Likewise.
1400         * lib/acl-internal.h: Likewise.
1401         * lib/acl_entries.c: Likewise.
1402         * lib/argp-ba.c: Likewise.
1403         * lib/argp-pv.c: Likewise.
1404         * lib/config.charset: Likewise.
1405         * lib/copy-acl.c: Likewise.
1406         * lib/csharpexec.c: Likewise.
1407         * lib/euidaccess.c: Likewise.
1408         * lib/fbufmode.c: Likewise.
1409         * lib/fflush.c: Likewise.
1410         * lib/file-has-acl.c: Likewise.
1411         * lib/filemode.h: Likewise.
1412         * lib/fpurge.c: Likewise.
1413         * lib/freadable.c: Likewise.
1414         * lib/freadahead.c: Likewise.
1415         * lib/freading.c: Likewise.
1416         * lib/freadptr.c: Likewise.
1417         * lib/freadseek.c: Likewise.
1418         * lib/fseeko.c: Likewise.
1419         * lib/fseterr.c: Likewise.
1420         * lib/fsusage.c: Likewise.
1421         * lib/fwritable.c: Likewise.
1422         * lib/fwriting.c: Likewise.
1423         * lib/get-rusage-as.c: Likewise.
1424         * lib/get-rusage-data.c: Likewise.
1425         * lib/getdomainname.c: Likewise.
1426         * lib/idpriv-drop.c: Likewise.
1427         * lib/idpriv-droptemp.c: Likewise.
1428         * lib/localcharset.c: Likewise.
1429         * lib/locale.in.h: Likewise.
1430         * lib/localename.c: Likewise.
1431         * lib/mbsrtowcs-state.c: Likewise.
1432         * lib/nproc.c: Likewise.
1433         * lib/passfd.c: Likewise.
1434         * lib/posix_openpt.c: Likewise.
1435         * lib/printf-parse.c: Likewise.
1436         * lib/progreloc.c: Likewise.
1437         * lib/safe-read.h: Likewise.
1438         * lib/safe-write.h: Likewise.
1439         * lib/sched.in.h: Likewise.
1440         * lib/set-mode-acl.c: Likewise.
1441         * lib/signal.in.h: Likewise.
1442         * lib/stdint.in.h: Likewise.
1443         * lib/stdio-impl.h: Likewise.
1444         * lib/stdlib.in.h: Likewise.
1445         * lib/strtod.c: Likewise.
1446         * lib/sys_select.in.h: Likewise.
1447         * lib/tcgetsid.c: Likewise.
1448         * lib/unistd.in.h: Likewise.
1449         * lib/unlockpt.c: Likewise.
1450         * lib/vasnprintf.c: Likewise.
1451         * lib/vma-iter.c: Likewise.
1452         * lib/wcsrtombs-state.c: Likewise.
1453         * m4/acl.m4: Likewise.
1454         * m4/acosl.m4: Likewise.
1455         * m4/asinl.m4: Likewise.
1456         * m4/atanl.m4: Likewise.
1457         * m4/c-stack.m4: Likewise.
1458         * m4/cosl.m4: Likewise.
1459         * m4/expl.m4: Likewise.
1460         * m4/extensions.m4: Likewise.
1461         * m4/fdatasync.m4: Likewise.
1462         * m4/fmal.m4: Likewise.
1463         * m4/frexp.m4: Likewise.
1464         * m4/frexpf.m4: Likewise.
1465         * m4/frexpl.m4: Likewise.
1466         * m4/fsusage.m4: Likewise.
1467         * m4/getdomainname.m4: Likewise.
1468         * m4/getloadavg.m4: Likewise.
1469         * m4/getopt.m4: Likewise.
1470         * m4/gettext.m4: Likewise.
1471         * m4/gnulib-common.m4: Likewise.
1472         * m4/intdiv0.m4: Likewise.
1473         * m4/intlmacosx.m4: Likewise.
1474         * m4/largefile.m4: Likewise.
1475         * m4/ldexpl.m4: Likewise.
1476         * m4/link-follow.m4: Likewise.
1477         * m4/locale-ar.m4: Likewise.
1478         * m4/locale-fr.m4: Likewise.
1479         * m4/locale-ja.m4: Likewise.
1480         * m4/locale-tr.m4: Likewise.
1481         * m4/locale-zh.m4: Likewise.
1482         * m4/locale_h.m4: Likewise.
1483         * m4/lock.m4: Likewise.
1484         * m4/logl.m4: Likewise.
1485         * m4/mathfunc.m4: Likewise.
1486         * m4/minus-zero.m4: Likewise.
1487         * m4/mktime.m4: Likewise.
1488         * m4/mmap-anon.m4: Likewise.
1489         * m4/multiarch.m4: Likewise.
1490         * m4/nanosleep.m4: Likewise.
1491         * m4/nocrash.m4: Likewise.
1492         * m4/poll.m4: Likewise.
1493         * m4/printf-frexpl.m4: Likewise.
1494         * m4/printf.m4: Likewise.
1495         * m4/signbit.m4: Likewise.
1496         * m4/sinl.m4: Likewise.
1497         * m4/sqrtl.m4: Likewise.
1498         * m4/strerror_r.m4: Likewise.
1499         * m4/tanl.m4: Likewise.
1500         * m4/threadlib.m4: Likewise.
1501         * m4/ttyname_r.m4: Likewise.
1502         * m4/unlink.m4: Likewise.
1503         * m4/visibility.m4: Likewise.
1504         * m4/wcwidth.m4: Likewise.
1505         * tests/minus-zero.h: Likewise.
1506         * tests/test-alloca-opt.c: Likewise.
1507         * tests/test-copy-acl.sh: Likewise.
1508         * tests/test-copy-file.sh: Likewise.
1509         * tests/test-fdatasync.c: Likewise.
1510         * tests/test-file-has-acl.sh: Likewise.
1511         * tests/test-flock.c: Likewise.
1512         * tests/test-fsync.c: Likewise.
1513         * tests/test-localename.c: Likewise.
1514         * tests/test-malloca.c: Likewise.
1515         * tests/test-nonblocking-pipe.h: Likewise.
1516         * tests/test-nonblocking-socket.h: Likewise.
1517         * tests/test-openpty.c: Likewise.
1518         * tests/test-posix_openpt.c: Likewise.
1519         * tests/test-ptsname.c: Likewise.
1520         * tests/test-ptsname_r.c: Likewise.
1521         * tests/test-sameacls.c: Likewise.
1522         * tests/test-select.h: Likewise.
1523         * tests/test-set-mode-acl.sh: Likewise.
1524         * tests/test-snprintf-posix.h: Likewise.
1525         * tests/test-sprintf-posix.h: Likewise.
1526         * tests/test-strtod.c: Likewise.
1527         * tests/test-time.c: Likewise.
1528         * tests/test-vasnprintf-posix.c: Likewise.
1529         * tests/test-vasprintf-posix.c: Likewise.
1530         * doc/acl-resources.txt: Likewise.
1531         * doc/**/*.texi: Likewise.
1532         Reported by Max Horn <max@quendi.de>.
1533
1534 2012-06-22  Bruno Haible  <bruno@clisp.org>
1535
1536         grantpt: Relax requirement regarding invalid file descriptors.
1537         * lib/grantpt.c: Don't include <fcntl.h>.
1538         (grantpt): Don't verify the validity of the file descriptor.
1539         * modules/grantpt (Depends-on): Remove fcntl-h.
1540         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
1541         file descriptors.
1542         * doc/posix-functions/grantpt.texi: Document more platforms on which
1543         grantpt succeeds for invalid file descriptors.
1544         Reported by Rich Felker <dalias@aerifal.cx>.
1545
1546 2012-06-22  Bruno Haible  <bruno@clisp.org>
1547
1548         fbufmode test: Don't test unportable behaviour.
1549         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
1550         (main): Invoke it three times.
1551         Reported by Szabolcs Nagy <nsz@port70.net>
1552         and Rich Felker <dalias@aerifal.cx>.
1553
1554 2012-06-21  Bruno Haible  <bruno@clisp.org>
1555
1556         gnulib-tool: Refactor inctests variable.
1557         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
1558         (func_modules_transitive_closure,
1559         func_modules_transitive_closure_separately,
1560         func_import, func_create_testdir): Update.
1561
1562         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
1563         * gnulib-tool: Accept option --without-tests.
1564         (func_usage): Document --without-tests option. Rearrange.
1565         (inctests): Normalize according to the mode.
1566         * NEWS: Mention the change.
1567         Suggested by Simon Josefsson.
1568
1569 2012-06-21  Bruce Korb  <bkorb@gnu.org>
1570
1571         parse-duration test: Avoid spurious output.
1572         * tests/test-parse-duration.sh: Reindent with leading tabs.
1573
1574 2012-06-21  Jim Meyering  <meyering@redhat.com>
1575
1576         maint: disable the strncpy prohibition
1577         * cfg.mk: Do not prohibit strncpy here.
1578
1579 2012-06-21  Bruno Haible  <bruno@clisp.org>
1580
1581         nonblocking: Avoid compilation error on mingw64.
1582         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
1583         fscanf.
1584         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
1585         * modules/vfscanf (configure.ac): Likewise.
1586         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
1587         definition only if stdio.h has prepared it.
1588         Reported by Daniel P. Berrange <berrange@redhat.com>.
1589
1590 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
1591
1592         gnulib-tool: Use readlink if it is available.
1593         * gnulib-tool (func_readlink): Choose function more appropriately.
1594
1595 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1596
1597         posixtm-tests: port to buggy compiler
1598         Problem reported by Simon Josefsson in
1599         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
1600         * modules/posixtm-tests (Depends-on): Add stdint.
1601         * tests/test-posixtm.c (struct posixtm_test.t_expected):
1602         Now of type int_least64_t, not int64_t, both because that's
1603         what INT64_C returns and because int_least64_t works even
1604         on 72-bit hosts.
1605         (T): Use INT64_C on constants outside the traditional int range,
1606         to work around compiler bug noted by Simon.
1607
1608         mktime: fix integer overflow in 'configure'-time test
1609         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
1610         after integer overflow.  Problem reported by Rich Felker in
1611         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
1612         Also, don't look for further instances of a bug if we've already
1613         found one instance; this helps 'configure' run faster.
1614
1615 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
1616
1617         tmpfile, clean-temp: Fix invocation of GetVersionEx.
1618         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
1619         GetVersionEx correctly.
1620         * lib/clean-temp.c (supports_delete_on_close): Likewise.
1621
1622 2012-06-20  Bruno Haible  <bruno@clisp.org>
1623
1624         fdopen: Allow implementations that don't reject invalid fd arguments.
1625         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
1626         succeeds.
1627         Reported by Rich Felker <dalias@aerifal.cx>.
1628
1629 2012-06-20  Simon Josefsson  <simon@josefsson.org>
1630
1631         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
1632         bring in LIBINTL.
1633
1634 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1635
1636         init.sh: do not rely on autoupated PWD
1637         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
1638         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
1639         Although Nelson's bug was not necessarily fixed by this patch,
1640         it seems wise to make the change for safety.
1641         * tests/init.sh (path_prepend_): Do not rely on PWD updating
1642         automagically after 'cd'; this is not reliable on older shells.
1643         (setup_): Fail if we cannot cd to temporary directory.
1644
1645 2012-06-19  Bruno Haible  <bruno@clisp.org>
1646
1647         stat, fstat: Avoid warnings on mingw64.
1648         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
1649         redefining.
1650         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
1651         Reported by Daniel P. Berrange <berrange@redhat.com>.
1652
1653 2012-06-19  Bruno Haible  <bruno@clisp.org>
1654
1655         stdioext: Add support for musl libc.
1656
1657         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
1658         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
1659
1660         * m4/fseterr.m4: New file.
1661         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
1662         function exists.
1663         * modules/fseterr (Files): Add m4/fseterr.m4.
1664         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
1665         __fseterr does not exist.
1666         (Makefile.am): Remove fseterr.c from lib_SOURCES.
1667
1668         * lib/freadable.h: Update comment.
1669
1670         * lib/fwritable.h: Update comment.
1671
1672         * lib/freading.h: Update comment.
1673
1674         * lib/fwriting.h: Update comment.
1675
1676         * m4/freadahead.m4: New file.
1677         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
1678         that function exists.
1679         * modules/freadahead (Files): Add m4/freadahead.m4.
1680         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
1681         __freadahead does not exist.
1682         (Makefile.am): Remove freadahead.c from lib_SOURCES.
1683
1684         * m4/freadptr.m4: New file.
1685         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
1686         function exists.
1687         * modules/freadptr (Files): Add m4/freadptr.m4.
1688         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
1689         __freadptr does not exist.
1690         (Makefile.am): Remove freadptr.c from lib_SOURCES.
1691
1692         * m4/freadseek.m4: New file.
1693         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
1694         exists.
1695         * modules/freadseek (Files): Add m4/freadseek.m4.
1696         (configure.ac): Invoke gl_FUNC_FREADSEEK.
1697
1698         * lib/fpurge.c (fpurge): Update comment.
1699
1700         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
1701
1702 2012-06-19  Bruno Haible  <bruno@clisp.org>
1703
1704         *printf-posix: Put more info into config.log.
1705         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
1706         exit code into config.log.
1707
1708 2012-06-19  Bruno Haible  <bruno@clisp.org>
1709
1710         getopt-gnu: Fix exit code overflow in autoconf test.
1711         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
1712         to keep them below < 128.
1713
1714 2012-06-17  Jim Meyering  <meyering@redhat.com>
1715
1716         maint.mk: fix typo in code to derive GPG key at release time
1717         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
1718
1719 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1720
1721         regex: avoid warning when pointers are not long
1722         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
1723         and uintptr_t, not long, for portability to hosts where pointers and
1724         long have different sizes.  Issue noted by Daniel P. Berrange in
1725         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
1726         and fix suggested by Bruno Haible in
1727         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
1728
1729 2012-06-17  Bruno Haible  <bruno@clisp.org>
1730
1731         dummy: Relicense into the public domain.
1732         * modules/dummy (License): Set to "public domain".
1733         Suggested by Reuben Thomas.
1734
1735 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1736
1737         announce-gen: VPATH issues
1738         * build-aux/announce-gen (--srcdir): New option, used to trim the
1739         $srcdir part of the path from $builddir to NEWS.
1740         * top/maint.mk (announcement): Adjust.
1741
1742 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1743
1744         gnu-web-doc-update: VPATH builds
1745         * build-aux/gnu-web-doc-update (--builddir): New option.
1746         Revamp the handling of options.
1747         Prefer $(...) to `...`.
1748         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
1749         the template, and it is GNU mktemp specific.
1750         Prefer set -e to long series of &&.
1751         Restore the initial git branch, not "master".
1752         Properly initialize submodules (don't rely only on bootstrap).
1753         Do not reconfigure blindly, use config.status.
1754         * top/README-release: Update instructions for gnu-web-doc-update.
1755
1756 2012-06-11  Jim Meyering  <meyering@redhat.com>
1757
1758         maint.mk: revert most of the previous change re "all these"
1759         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
1760         For rationale, see the discussion at
1761         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
1762
1763 2012-06-10  Karl Berry  <karl@gnu.org>
1764
1765         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
1766
1767         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
1768
1769 2012-06-10  Bruce Korb  <bkorb@gnu.org>
1770
1771         parse-duration: Relicense under LGPLv2+.
1772         * modules/parse-duration (License): Change to LGPLv2+.
1773
1774 2012-06-10  Jim Meyering  <meyering@redhat.com>
1775
1776         maint.mk: prohibit common grammar error: "all these"
1777         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
1778         the list of prohibited word sequences.  It should be "all of these".
1779         * lib/tempname.c (__gen_tempname): Fix one of them.
1780
1781 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1782
1783         do-release-commit-and-tag: support VPATH builds
1784         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
1785         (noteworthy): Defined earlier to factor its value.
1786         (noteworthy_stub): New.
1787         Use it to factor.
1788         (help_version): Split into...
1789         (help, version): these.
1790         Adjust the option processing part.
1791         Support "--option=value" in addition to "--option value".
1792         (builddir): New.
1793         (--builddir): New option.
1794         * top/README-release: Document this.
1795         Reword slightly so that the reader cannot understand that he
1796         has to do these steps before calling do-release-commit-and-tag.
1797
1798 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1799
1800         readme-release: also require announce-gen and maintainer-makefile
1801         * modules/readme-release (Depends-on): here.
1802         * modules/announce-gen, modules/do-release-commit-and-tag,
1803         modules/gnu-web-doc-update, modules/maintainer-makefile
1804         (Description): Point to readme-release.
1805
1806 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1807
1808         maint.mk: fix VPATH issues.
1809         * top/maint.mk (news-check): GNU Make understand $< very well.
1810         (release-prep): NEWS is in $(srcdir).
1811
1812 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
1813
1814         readme-release: require the promoted modules.
1815         * modules/readme-release (Depends-on): Add
1816         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
1817         in this text.
1818
1819 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1820             Bruno Haible  <bruno@clisp.org>
1821
1822         error, strerror-override: Support mingw64 from Fedora 17.
1823         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
1824         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
1825         EINPROGRESS.
1826         * lib/strerror-override.h (strerror_override): Test it.
1827         * lib/strerror-override.c (strerror_override): Likewise.
1828         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
1829
1830 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1831             Bruno Haible  <bruno@clisp.org>
1832
1833         error, strerror-override: Support mingw64 from Fedora 17.
1834         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
1835         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
1836         * lib/strerror-override.h (strerror_override): Test it.
1837         * lib/strerror-override.c (strerror_override): Likewise.
1838
1839 2012-06-03  Bruno Haible  <bruno@clisp.org>
1840
1841         error, strerror-override: Support new errno values from POSIX:2008.
1842         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
1843         ENOTRECOVERABLE.
1844         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
1845         platforms.
1846         * lib/strerror-override.c (strerror_override): Conditionalize the
1847         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
1848         * lib/strerror-override.h (strerror_override): Declare also if
1849         GNULIB_defined_EOWNERDEAD is defined.
1850         * tests/test-errno.c (e130, e131): New variables.
1851         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
1852         ENOTRECOVERABLE.
1853         Reported by Paolo Bonzini.
1854
1855 2012-05-31  Jim Meyering  <meyering@redhat.com>
1856
1857         savewd: add missing dependency on sys_wait module
1858         * modules/savewd (Depends-on): Add sys_wait, needed at least
1859         for MSVC.  Report and suggested change by Michael Goffioul.
1860
1861 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1862
1863         system-quote-tests: port to CentOS 5
1864         Problem reported by Tom G. Christensen in
1865         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
1866         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
1867
1868 2012-05-29  Jim Meyering  <meyering@redhat.com>
1869
1870         maint: fix typos in comments and ChangeLog
1871         Culprits identified and fixed mostly automatically using these commands:
1872         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
1873         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
1874         using http://github.com/lyda/misspell-check
1875         * ChangeLog: Fix typos.
1876         * doc/solaris-versions: Likewise.
1877         * lib/regexec.c (re_search_stub): Likewise.
1878         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1879
1880 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1881
1882         manywarnings: remove duplicate -Wmultichar entry
1883         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
1884         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
1885         so keep the entry marked as documented.
1886
1887 2012-05-27  Karl Berry  <karl@gnu.org>
1888
1889         * config/srclist.txt (mktime.c): remove last libc sync,
1890         perhaps just temporarily.
1891
1892 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1893
1894         regex: don't assume uint64_t or uint32_t
1895         * lib/regcomp.c (init_word_char): Don't assume that the types
1896         uint64_t and uint32_t exist.  The C standard doesn't guarantee
1897         them, and on some 32-bit compilers there is no uint64_t.
1898         Problem reported by Gianluigi Tiesi in
1899         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
1900
1901 2012-05-25  Jim Meyering  <meyering@redhat.com>
1902
1903         maint.mk: add strncpy-prohibiting syntax-check rule
1904         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
1905
1906 2012-05-24  Jim Meyering  <meyering@redhat.com>
1907
1908         maint.mk: compute $(gpg_key_ID) more portably
1909         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
1910         That use of sed is not portable to some fringe systems.
1911         Reported by Paul Eggert in
1912         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
1913
1914 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1915
1916         mktime: sync from glibc
1917         * config/srclist.txt: Uncomment mktime.c.
1918         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
1919         First, indent with tabs, since glibc uses tabs and doesn't want to
1920         change and we'd rather be identical to glibc.  Also, two small
1921         coding changes:
1922         (isdst_differ): Use &&, not &, as && is the usual style.
1923         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
1924         for clarity.
1925
1926 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1927
1928         announce-gen: du -h is more portable than du --human
1929         * build-aux/announce-gen (sizes): Invoke du with -h instead
1930         of --human.  Accept leading white space in its output.
1931
1932 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1933
1934         announce-gen: Improve diagnostics.
1935         * build-aux/announce-gen: When parsing command line options,
1936         prefer "announce-gen: option --release-type requires an argument"
1937         to "Option release-type requires an argument".
1938
1939 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1940
1941         maint.mk: gpg_key_ID: use sed more portably
1942         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1943         the closing brace.
1944         (refresh-po): Fuse two sed invocations into one.
1945
1946 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1947
1948         gitlog-to-changelog: support the log message format used in Bison.
1949         * build-aux/gitlog-to-changelog: Support --strip-tab and
1950         --strip-cherry-picked.
1951
1952 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1953
1954         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1955         the rest of the current time slice to another thread in the current
1956         process. So if the thread that feeds the file decscriptor we're
1957         polling is not in the current process, we get busy-waiting.
1958         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1959         Patch from Theodore Leblond.
1960         * lib/select.c: Split polling out of the loop that sets the output
1961         fd_sets.  Check for zero result and loop if the wait timeout is
1962         infinite.
1963
1964 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1965
1966         select: Fix build error on IRIX 6.5.
1967         * lib/select.c: Include stddef.h for NULL.
1968
1969 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1970
1971         gc: fix libgcrypt detection on older machines.
1972         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1973         copyright years because the file has been distributed every year
1974         since it was created.
1975
1976 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1977
1978         crypto: fix bug in large buffer handling
1979         Problem reported by Serge Belyshev for glibc in
1980         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1981         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1982         * lib/md4.c (md4_process_block):
1983         * lib/md5.c (md5_process_block):
1984         * lib/sha1.c (sha1_process_block):
1985         * lib/sha256.c (sha256_process_block):
1986         Don't assume the buffer length is less than 2**32.
1987         * lib/sha512.c (sha512_process_block): Likewise.
1988         Here, the bug is present only in the rare case where the host does
1989         not support uint64_t or where size_t is wider than 64 bits.
1990         Use u64size to work around the problems.
1991         * lib/u64.h (u64size): New macro.
1992
1993 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1994
1995         fsusage: fix block size returned on older Linux 2.6
1996
1997         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1998         which is available since Linux 2.6.
1999         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
2000         when the member is available so it can be used as a fallback.
2001         * doc/posix-functions/statvfs.texi: Mention the hang issue
2002         on Linux < 2.6.36.
2003
2004 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
2005
2006         bootstrap: suppress stderr chatter
2007         * build-aux/bootstrap (insert_sorted_if_absent, main program):
2008         Omit unnecessary chatter to stderr.  The main program chatter
2009         was there only inadvertantly.
2010
2011         bootstrap: .gitignore files created by autopoint, libtool
2012         I ran into this problem when bootstrapping the latest diffutils.
2013         After './bootstrap', 'git status' reported lots of untracked files
2014         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
2015         autopoint and do not need to be version-controlled.
2016         * build-aux/bootstrap: Put into .gitignore the files that
2017         autopoint and libtool create, by keeping track of files that exist
2018         after but not before these programs are run.
2019         (version_controlled_file): Move up.  2nd arg is now full file
2020         name, not base name; this is more convenient.  Put CVS at the end,
2021         as it's now somewhat deprecated.
2022
2023 2012-05-14  Jim Meyering  <meyering@redhat.com>
2024
2025         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
2026         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
2027         definition.  Reported by Bruno Haible.
2028
2029 2012-05-13  Bruno Haible  <bruno@clisp.org>
2030             Paul Eggert  <eggert@cs.ucla.edu>
2031
2032         binary-io: Define set_binary_mode function.
2033         * lib/binary-io.h (set_binary_mode): New function.
2034         (SET_BINARY): Define in terms of set_binary_mode.
2035         * modules/binary-io (configure.ac): Require AC_C_INLINE.
2036         * tests/test-binary-io.c (main): Accept an argument, and test either
2037         set_binary_mode or SET_BINARY depending on the argument.
2038         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
2039         argument. Clean up also t-bin-out0.tmp.
2040
2041 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2042
2043         bootstrap: take advantage of POSIX shell features
2044
2045         The 'bootstrap' script offered by Gnulib script already uses POSIX
2046         shell features (like $((...)) arithmetic expansions) that are not
2047         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
2048         means that bootstrap must already be run using a proper POSIX shell,
2049         which will thus provide more features, like ${var#pattern} parameter
2050         expansion or inversion of a command exit status with '!'.  We can
2051         thus use these features to improve the clarity and the performances
2052         of the bootstrap script.
2053
2054         Suggested by Eric Blake.
2055
2056         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
2057         of sed/expr plus command substitutions, to save some forks.  While
2058         we are at it, prefer the POSIX $(...) form of command substitution,
2059         rather than the legacy form `...` (since the former is visually
2060         clearer and interacts better with quoting), and prefer the idiom:
2061           "if ! CMD; then ACTION ..."
2062         over the idiom:
2063           "if CMD; then :; else ACTION ..."
2064         which was required by legacy Bourne shells not supporting '!'.
2065
2066 2012-05-12  Bruno Haible  <bruno@clisp.org>
2067
2068         system-quote: Add more comments.
2069         * lib/system-quote.h: Add more comments about wilcards and limitations.
2070         Suggested by Eli Zaretskii <eliz@gnu.org>.
2071
2072         sh-quote, system-quote: Add comments about wildcards.
2073         * lib/sh-quote.h: Clarify what happens with wildcard characters.
2074         * lib/system-quote.h: Likewise.
2075         Reported by Eli Zaretskii <eliz@gnu.org>.
2076
2077 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2078
2079         fsusage: check for GNU/Linux statvfs problem dynamically
2080         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
2081         Define STAT_STATFS2_BSIZE too, since in this case the code now
2082         checks dynamically whether statvfs is reliable, falling back on
2083         Linux-style statfs otherwise.
2084         (statvfs_works): New function, for dynamically testing statvfs.
2085         (get_fs_usage) [STAT_STATVFS]: Use it.
2086         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
2087         statvfs on GNU/Linux hosts, since it's now done dynamically.
2088
2089 2012-05-10  Bruno Haible  <bruno@clisp.org>
2090
2091         system-quote, execute, spawn-pipe: Escape '?' on Windows.
2092         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
2093         '?' character.
2094         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
2095         * tests/test-system-quote-main.c (check_all): Check also strings like
2096         "??????????".
2097         Reported by Eli Zaretskii <eliz@gnu.org>.
2098
2099 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
2100
2101         _Noreturn: port config.h to gcc -Wundef
2102         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
2103         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
2104         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
2105
2106 2012-05-10  Bruno Haible  <bruno@clisp.org>
2107
2108         system-quote: Refactor.
2109         * lib/system-quote.h (system_quote_copy): Fix comment.
2110         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
2111         New functions, extracted from system_quote_copy.
2112         (system_quote_length, system_quote_copy): Use these functions.
2113         Reported by Paul Eggert.
2114
2115 2012-05-08  Bruno Haible  <bruno@clisp.org>
2116
2117         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
2118         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
2119
2120 2012-05-08  Bruno Haible  <bruno@clisp.org>
2121
2122         Tests for module 'system-quote'.
2123         * modules/system-quote-tests: New file.
2124         * tests/test-system-quote.sh: New file.
2125         * tests/test-system-quote-main.c: New file.
2126         * tests/test-system-quote-child.c: New file.
2127
2128         New module 'system-quote'.
2129         * lib/system-quote.h: New file.
2130         * lib/system-quote.c: New file.
2131         * modules/system-quote: New file.
2132
2133 2012-05-08  Bruno Haible  <bruno@clisp.org>
2134
2135         sh-quote: Make C++ safe and allow multiple inclusion.
2136         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
2137         declarations in extern "C".
2138
2139 2012-05-08  Bruno Haible  <bruno@clisp.org>
2140
2141         sh-quote tests: Make tests stricter.
2142         * tests/test-sh-quote.c (check_one): Check the return value of
2143         shell_quote_copy.
2144         (main): Check a string with a CR character. Check a string that
2145         contains UCHAR_MAX.
2146
2147 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
2148
2149         warnings.m4: provide a means to specify the program to compile.
2150         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
2151         (gl_WARN_ADD): here.
2152         Use gl_AS_VAR_APPEND.
2153         Support an argument to specify the program to compile.
2154         (gl_WARN_ADD): Accept an argument to specify the program to compile.
2155         AC_SUBST the WARN_CFLAGS when they are used.
2156         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
2157         leave this to gl_WARN_ADD.
2158
2159 2012-05-08  Eric Blake  <eblake@redhat.com>
2160
2161         doc: recommendations on gettext version
2162         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
2163         choice between versions.
2164         * DEPENDENCIES (gettext): Cover both approaches.
2165
2166 2012-05-08  Jim Meyering  <meyering@redhat.com>
2167
2168         init.sh: explain why EXEEXT support uses aliases rather than functions
2169         * tests/init.sh: Add a comment.
2170
2171         init.sh: don't let bash aliases interfere with tests
2172         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
2173         is bash.  This avoids problems for those who alias standard commands to
2174         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
2175         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
2176
2177 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2178
2179         stdint: be more consistent with glibc, SunOS libc
2180         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
2181         (gl_int_fast16_t, gl_uint_fast16_t)
2182         (gl_int_fast32_t, gl_uint_fast32_t)
2183         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
2184         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
2185         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
2186         Be consistent with glibc by default, and with SunOS 5.10 and later
2187         if __sun is defined.  This lessens the likelihood of clashes if
2188         code compiled for older hosts is combined with code compiled for
2189         newer ones.  Problem reported by Niels Möller in
2190         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
2191
2192 2012-05-07  Eric Blake  <eblake@redhat.com>
2193
2194         isatty: relax license to LGPLv2+
2195         * modules/isatty (License): Relax license.
2196
2197 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2198
2199         stat-size: comment fix
2200         * lib/stat-size.h: Remove obsolete comment about indenting.
2201
2202 2012-05-06  Bruno Haible  <bruno@clisp.org>
2203
2204         Tests for module 'sh-quote'.
2205         * modules/sh-quote-tests: New file.
2206         * tests/test-sh-quote.c: New file.
2207
2208 2012-05-06  Bruno Haible  <bruno@clisp.org>
2209
2210         sh-quote: Improve shell_quote_argv's signature.
2211         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
2212         * lib/sh-quote.c (shell_quote_argv): Likewise.
2213
2214 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2215
2216         stdint: document issues with int_fast8_t etc.
2217         * doc/posix-headers/stdint.texi (stdint.h): Say that other
2218         stdint.h substitutes may define these types differently.  See
2219         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
2220
2221 2012-05-05  Bruno Haible  <bruno@clisp.org>
2222
2223         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
2224         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
2225         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
2226         or 'guessing no (mishandles large arguments)'.
2227
2228 2012-05-05  Bruno Haible  <bruno@clisp.org>
2229
2230         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
2231         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
2232         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
2233         set gl_cv_func_link_follows_symlink to "guessing no".
2234
2235 2012-05-05  Bruno Haible  <bruno@clisp.org>
2236
2237         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
2238         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
2239         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
2240         "guessing no".
2241         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
2242
2243 2012-05-05  Bruno Haible  <bruno@clisp.org>
2244
2245         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
2246         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
2247         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
2248         set gl_cv_struct_dirent_d_ino to "guessing yes".
2249
2250 2012-05-05  Bruno Haible  <bruno@clisp.org>
2251
2252         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
2253         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
2254         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
2255         "guessing yes".
2256
2257 2012-05-05  Bruno Haible  <bruno@clisp.org>
2258
2259         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
2260         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
2261         compiling to a glibc system, set gl_cv_func_signbit and
2262         gl_cv_func_signbit_gcc to "guessing yes".
2263
2264 2012-05-05  Bruno Haible  <bruno@clisp.org>
2265
2266         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
2267         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
2268         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
2269         to "guessing yes".
2270         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
2271         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
2272
2273 2012-05-05  Bruno Haible  <bruno@clisp.org>
2274
2275         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
2276         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
2277         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
2278         gl_cv_func_realpath_works to "guessing yes".
2279
2280 2012-05-05  Bruno Haible  <bruno@clisp.org>
2281
2282         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
2283         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
2284         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
2285
2286 2012-05-04  Bruno Haible  <bruno@clisp.org>
2287
2288         Tweak last commit.
2289         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
2290         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2291
2292 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
2293
2294         unistd_h: make it easier to avoid sys_types_h
2295         This is useful for Emacs, which has its own method of porting to
2296         Windows, and which therefore does not need the sys_types_h module.
2297         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
2298         code moved here from gl_SYS_TYPES_H.
2299         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
2300         using the code directly.
2301         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
2302         gl_SYS_TYPES_H.
2303         * modules/sys_types (Files):
2304         * modules/unistd (Files): Add m4/off_t.m4.
2305
2306 2012-05-03  Bruno Haible  <bruno@clisp.org>
2307
2308         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
2309         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
2310         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
2311         "guessing yes" or "guessing no".
2312         (gl_FUNC_LSTAT): Update.
2313         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
2314         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
2315         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
2316
2317 2012-05-03  Bruno Haible  <bruno@clisp.org>
2318
2319         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
2320         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
2321         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
2322         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
2323         cross-compiling, choose the first alternative on glibc systems.
2324         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
2325
2326 2012-05-03  Bruno Haible  <bruno@clisp.org>
2327
2328         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
2329         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
2330         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
2331
2332 2012-05-03  Bruno Haible  <bruno@clisp.org>
2333
2334         chown: Avoid "guessing no" when cross-compiling to glibc systems.
2335         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
2336
2337 2012-05-03  Bruno Haible  <bruno@clisp.org>
2338
2339         Avoid "guessing no" guesses when cross-compiling to glibc systems.
2340         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
2341         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
2342         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
2343         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
2344         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
2345         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
2346         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
2347         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
2348         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
2349         compiling to glibc systems, set gl_cv_func_chown_slash_works,
2350         gl_cv_func_chown_ctime_works to "guessing yes".
2351         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
2352         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
2353         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
2354         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
2355         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
2356         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
2357         compiling to glibc systems, set gl_cv_func_open_directory_works to
2358         "guessing yes".
2359         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
2360         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
2361         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
2362         "guessing yes".
2363         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
2364         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
2365         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
2366         compiling to glibc systems, set gl_cv_func_floorf_ieee to
2367         "guessing yes".
2368         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
2369         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
2370         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
2371         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
2372         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
2373         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
2374         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
2375         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
2376         "guessing yes".
2377         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
2378         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
2379         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
2380         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
2381         "guessing yes".
2382         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
2383         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
2384         "guessing yes".
2385         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
2386         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
2387         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
2388         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
2389         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
2390         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
2391         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
2392         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
2393         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
2394         compiling to glibc systems, set gl_cv_func_log10f_ieee to
2395         "guessing yes".
2396         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
2397         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
2398         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
2399         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
2400         "guessing yes".
2401         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
2402         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
2403         "guessing yes".
2404         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
2405         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
2406         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
2407         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
2408         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
2409         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
2410         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
2411         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
2412         compiling to glibc systems, set gl_cv_func_mkfifo_works to
2413         "guessing yes".
2414         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
2415         compiling to glibc systems, set gl_cv_func_mknod_works to
2416         "guessing yes".
2417         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
2418         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
2419         "guessing yes".
2420         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
2421         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
2422         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
2423         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
2424         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
2425         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
2426         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
2427         compiling to glibc systems, set gl_cv_func_svid_putenv to
2428         "guessing yes".
2429         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
2430         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
2431         "guessing yes".
2432         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
2433         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
2434         "guessing yes".
2435         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
2436         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
2437         to "guessing yes".
2438         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
2439         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
2440         to "guessing yes".
2441         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
2442         compiling to glibc systems, set gl_cv_func_rmdir_works to
2443         "guessing yes".
2444         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
2445         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
2446         gl_cv_func_unlink_parent_fails to "guessing yes".
2447         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
2448         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
2449         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
2450         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
2451         gl_cv_func_rename_dest_works to "guessing yes".
2452         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
2453         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
2454         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
2455         compiling to glibc systems, set gl_cv_func_roundf_ieee to
2456         "guessing yes".
2457         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
2458         compiling to glibc systems, set gl_cv_func_roundl_ieee to
2459         "guessing yes".
2460         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
2461         compiling to glibc systems, set gl_cv_func_setenv_works to
2462         "guessing yes".
2463         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
2464         compiling to glibc systems, set gl_cv_func_unsetenv_works to
2465         "guessing yes".
2466         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
2467         compiling to glibc systems, set gl_cv_func_sleep_works to
2468         "guessing yes".
2469         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
2470         compiling to glibc systems, set gl_cv_func_stat_file_slash to
2471         "guessing yes".
2472         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
2473         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
2474         "guessing yes".
2475         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
2476         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
2477         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
2478         compiling to glibc systems, set gl_cv_func_truncf_ieee to
2479         "guessing yes".
2480         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
2481         compiling to glibc systems, set gl_cv_func_truncl_ieee to
2482         "guessing yes".
2483         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
2484         compiling to glibc systems, set gl_cv_func_usleep_works to
2485         "guessing yes".
2486         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
2487         compiling to glibc systems, set gl_cv_func_futimesat_works to
2488         "guessing yes".
2489
2490 2012-05-03  Bruno Haible  <bruno@clisp.org>
2491
2492         Say "guessing yes" or "guessing no" when cross-compiling.
2493         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
2494         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
2495         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
2496         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
2497         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
2498         am_cv_func_working_getline to "guessing yes" or "guessing no".
2499         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
2500         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
2501         (gl_FUNC_MEMMEM): When cross-compiling, set
2502         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
2503         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
2504         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
2505         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
2506         set gl_cv_func_strcasestr_works_always to "guessing yes" or
2507         "guessing no".
2508         (gl_FUNC_STRCASESTR): When cross-compiling, set
2509         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
2510         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
2511         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
2512         (gl_FUNC_STRSTR): When cross-compiling, set
2513         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
2514         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
2515         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
2516         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
2517         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
2518
2519 2012-05-01  Bruno Haible  <bruno@clisp.org>
2520
2521         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
2522         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
2523         * build-aux/reloc-ldflags: Likewise.
2524         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
2525
2526 2012-05-01  Bruno Haible  <bruno@clisp.org>
2527
2528         gnulib-tool: Remove transitional code.
2529         * gnulib-tool: Don't warn about --import with 0 arguments any more.
2530         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2531
2532 2012-05-01  Bruno Haible  <bruno@clisp.org>
2533
2534         getcwd: Fix misindentation.
2535         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
2536
2537 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
2538
2539         exclude: process exclude and include directives in order
2540         This restores the pre-2009 behavior, and is part of a fix of a
2541         grep bug reported by Quentin Arce in
2542         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
2543         * lib/exclude.c (struct exclude): Remove 'tail' member.
2544         (new_exclude_segment): Prepend the new segment instead of appending.
2545         Return void, since that's now more convenient.
2546         (file_pattern_matches): Renamed from excluded_file_pattern_p.
2547         (file_name_matches): Renamed from excluded_file_name_p.
2548         (file_pattern_matches, file_name_matches):
2549         Return true if the pattern matches, not if it excludes.
2550         All callers changed.
2551         (excluded_file_name): Process the list in reverse order;
2552         since the list is now reversed this restores the pre-2009 behavior.
2553         (add_exclude): Adjust to new reversed-order list.  Use local var
2554         rather than macro, for clarity.
2555         * tests/test-exclude7.sh: Adjust to corrected behavior.
2556
2557         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
2558         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
2559         it's not possible here.  Handle the case of \ at end of pattern
2560         without dumping core.
2561         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
2562
2563         _Noreturn: future-proof non-GNU and non-MSVC compilers
2564         * build-aux/snippet/_Noreturn.h (_Noreturn):
2565         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2566         Do not define _Noreturn if __STDC_VERSION__ indicates this is
2567         C11 or later.  This is more likely to work with random future C
2568         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
2569         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
2570
2571         exclude: handle wildcards with FNM_EXTMATCH
2572         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
2573         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
2574         comment that "has wildcards" really means "has or may have
2575         wildcards".  Simplify by avoiding the need to call strcspn.
2576
2577 2012-04-29  Bruno Haible  <bruno@clisp.org>
2578
2579         gnulib-tool: Fix list of authors.
2580         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
2581
2582 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2583
2584         bootstrap: support Automake-NG in $buildreq
2585         * bootstrap (check_versions): Handle automake and aclocal from
2586         Automake-NG specially.  They can be specified as respectively
2587         the "automake-ng" and "aclocal-ng" requirements.
2588
2589 2012-04-25  Eric Blake  <eblake@redhat.com>
2590
2591         bootstrap: only force latest Makefile.in.in for gettext module
2592         * build-aux/bootstrap (with_gettext): Only install latest
2593         Makefile.in.in for projects requesting bleeding edge gettext.
2594
2595 2012-04-22  Bruno Haible  <bruno@clisp.org>
2596
2597         doc: Mention reason for replacement on glibc/Linux systems.
2598         * doc/posix-functions/dprintf.texi: Mention the problem with special
2599         'long double' values.
2600         * doc/posix-functions/fprintf.texi: Likewise.
2601         * doc/posix-functions/printf.texi: Likewise.
2602         * doc/posix-functions/snprintf.texi: Likewise.
2603         * doc/posix-functions/sprintf.texi: Likewise.
2604         * doc/posix-functions/vdprintf.texi: Likewise.
2605         * doc/posix-functions/vfprintf.texi: Likewise.
2606         * doc/posix-functions/vprintf.texi: Likewise.
2607         * doc/posix-functions/vsnprintf.texi: Likewise.
2608         * doc/posix-functions/vsprintf.texi: Likewise.
2609         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
2610         platforms with F_DUPFD_CLOEXEC problems.
2611         * doc/posix-functions/glob.texi: Mention which platforms are affected
2612         by the problem with symbolic links.
2613         * doc/posix-functions/linkat.texi: Mention the problem with
2614         AT_SYMLINK_FOLLOW on Linux.
2615
2616 2012-04-22  Bruno Haible  <bruno@clisp.org>
2617
2618         pwrite: Don't replace on all platforms.
2619         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
2620
2621 2012-04-22  Bruno Haible  <bruno@clisp.org>
2622
2623         rint* tests: Avoid gcc warnings.
2624         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
2625         * tests/test-rintf.c (INFINITY, NAN): Likewise.
2626         * tests/test-rintl.c (INFINITY, NAN): Likewise.
2627
2628 2012-04-21  Bruno Haible  <bruno@clisp.org>
2629
2630         users.txt: Update.
2631         * users.txt: Add freedink, wdiff. Update URLs for projects that have
2632         switched from CVS to git, bzr, or svn.
2633
2634 2012-04-21  Bruno Haible  <bruno@clisp.org>
2635
2636         Large File Support for native Windows platforms.
2637
2638         * m4/largefile.m4 (gl_LARGEFILE): New macro.
2639         * modules/largefile (configure.ac): Require gl_LARGEFILE.
2640
2641         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
2642         type.
2643         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
2644         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
2645         * doc/posix-headers/sys_types.texi: Mention the effect of the
2646         'largefile' module.
2647
2648         * lib/fcntl.in.h: Add comments about off_t.
2649         * modules/fcntl-h (Depends-on): Add sys_types.
2650
2651         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
2652         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
2653         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
2654         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
2655         * modules/unistd (Depends-on): Add sys_types.
2656         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
2657
2658         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
2659         instead of lseek.
2660         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
2661         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
2662         * modules/lseek (Depends-on): Add sys_types.
2663
2664         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
2665         msvc-nothrow.h.
2666         (SetFileSize): New function.
2667         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
2668         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
2669         if Large File Support is requested.
2670         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
2671         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
2672
2673         * lib/stdio.in.h: Add comments about off_t.
2674         * modules/stdio (Depends-on): Add sys_types.
2675
2676         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
2677         instead of ftello.
2678         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
2679         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
2680         (gl_PREREQ_FTELLO): New macro.
2681         * modules/ftello (Depends-on): Add sys_types.
2682         (configure.ac): Incoke gl_PREREQ_FTELLO.
2683
2684         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
2685         instead of fseeko.
2686         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
2687         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
2688         (gl_PREREQ_FSEEKO): New macro.
2689         * modules/fseeko (Depends-on): Add sys_types.
2690         (configure.ac): Invoke gl_PREREQ_FSEEKO.
2691
2692         * lib/sys_stat.in.h: Add comments about off_t.
2693         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
2694         64-bit integer for st_size in 'struct stat'.
2695         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
2696         Define _GL_WINDOWS_64_BIT_ST_SIZE.
2697         * modules/sys_stat (Depends-on): Add sys_types.
2698         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
2699
2700         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
2701         instead of stat or _stat.
2702
2703         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
2704         'struct _stati64' instead of fstat and 'struct stat'.
2705         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
2706         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
2707
2708         Reported by Ray Satiro <raysatiro@yahoo.com>.
2709
2710 2012-04-19  Eric Blake  <eblake@redhat.com>
2711
2712         bootstrap: accommodate older libtool
2713         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
2714         Reported by Daniel P. Berrange.
2715
2716 2012-04-19  Jim Meyering  <meyering@redhat.com>
2717
2718         announce-gen: avoid failure due to lack of Digest::SHA1
2719         Even with the preferred Digest::SHA available, this script
2720         would fail when the backup module, Digest::SHA1, was not installed.
2721         * build-aux/announce-gen: Quote the conditional use of "use".
2722         Reported by Reuben Thomas in:
2723         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
2724
2725         bootstrap: don't let a user's CDPATH setting affect this script
2726         When CDPATH is set, cd will sometimes generate output.
2727         When "cd" is run in a subshell whose output matters, that
2728         surprising-to-some output can cause malfunction.
2729         Unsetting CDPATH turns off this shell "feature."
2730         * build-aux/bootstrap (CDPATH): Unset.
2731         Reported by Reuben Thomas in:
2732         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
2733         and inspired by his patch here:
2734         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
2735
2736 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
2737         and Jim Meyering  <meyering@redhat.com>
2738
2739         maint.mk: catch "see @xref{}" and similar
2740         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
2741         prohibit "See also @xref{", "Also see @pxref{", and similar.
2742
2743 2012-04-16  Jim Meyering  <meyering@redhat.com>
2744
2745         bootstrap: really use gnulib's po/Makefile.in.in
2746         * build-aux/bootstrap: Correct the source file name in previous change.
2747         Reported by Akim Demaille.
2748
2749         configmake: correct minor inconsistency in Makefile rule
2750         * modules/configmake (Makefile.am): All other rules like this one
2751         run the final "mv -f ..." in the same backslash-continued command
2752         as the one that does everything else.  This one put the mv -f ...
2753         command on a separate, non-backslash-continued line.
2754         Make it like the others.
2755
2756         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
2757         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
2758         the one from gettext.  Reported by Akim Demaille.
2759
2760 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
2761
2762         Fix recursion of install-* into po directories.
2763         Bison's install-pdf bug reported by Hans Aberg at
2764         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
2765         * build-aux/po/Makefile.in.in (install-dvi, install-html)
2766         (install-info, install-pdf, install-ps): New targets.
2767
2768 2012-04-16  Jim Meyering  <meyering@redhat.com>
2769
2770         maint: avoid spurious "make sc_maint" failure
2771         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
2772         exempt all *.class file names, for lib/javaversion.class.
2773
2774 2012-04-15  Bruno Haible  <bruno@clisp.org>
2775
2776         lseek: Make configure test independent of environment.
2777         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
2778         Windows, we know that lseek() on pipes is broken; skip the runtime
2779         test.
2780
2781 2012-04-14  Bruno Haible  <bruno@clisp.org>
2782
2783         stat: Bypass buggy override in mingw64.
2784         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
2785         * lib/stat.c (stat) [mingw64]: Define to _stat.
2786         * doc/posix-functions/stat.texi: Mention mingw64 bug.
2787
2788 2012-04-14  Bruno Haible  <bruno@clisp.org>
2789
2790         pathmax: Fix compilation error on MSVC 9.
2791         * modules/pathmax (Depends-on): Add unistd.
2792
2793 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
2794
2795         README: document pointer comparison assumption
2796         * README (Portability guidelines): Document assumption about
2797         pointer comparisons, in response to a recent bug-gnulib comment by
2798         Jeffrey Kegler.
2799
2800 2012-04-12  Bruno Haible  <bruno@clisp.org>
2801
2802         Tests for module 'getrusage'.
2803         * modules/getrusage-tests: New file.
2804         * tests/test-getrusage.c: New file.
2805
2806         New module 'getrusage'.
2807         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
2808         warn-on-use.h.
2809         (getrusage): New declaration.
2810         * lib/getrusage.c: New file.
2811         * m4/getrusage.m4: New file.
2812         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
2813         is declared.
2814         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
2815         HAVE_GETRUSAGE.
2816         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
2817         snippet/c++defs, snippet/warn-on-use.
2818         (Makefile.am): Update generation of sys/resource.h. Substitute
2819         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
2820         * modules/getrusage: New file.
2821         * doc/posix-functions/getrusage.texi: Mention the new module.
2822
2823 2012-04-12  Bruno Haible  <bruno@clisp.org>
2824
2825         Tests for module 'sys_resource'.
2826         * modules/sys_resource-tests: New file.
2827         * tests/test-sys_resource.c: New file.
2828
2829         New module 'sys_resource'.
2830         * lib/sys_resource.in.h: New file.
2831         * m4/sys_resource_h.m4: New file.
2832         * modules/sys_resource: New file.
2833         * doc/posix-headers/sys_resource.texi: Mention the new module.
2834
2835 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
2836
2837         ioctl: Fix compilation error on mingw.
2838         * lib/ioctl.c: Include <windows.h>.
2839         Also reported by Ray Satiro <raysatiro@yahoo.com>.
2840
2841 2012-04-04  Jim Meyering  <meyering@redhat.com>
2842
2843         regex: correct #pragma guard expression
2844         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
2845         not 4.3.  Correct its cpp guard expression.
2846
2847 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2848
2849         regex: remove unnecessary type punning
2850         Problem reported by Vladimir Serbinenko in
2851         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
2852         * lib/regex.h (struct re_pattern_buffer): Change the type of
2853         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
2854         Fix comment to match code.
2855         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
2856         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
2857         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
2858         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
2859         (set_regs):
2860         Omit no-longer-necessary casts.
2861
2862 2012-04-03  Bruno Haible  <bruno@clisp.org>
2863
2864         Tests for module 'ilogbl'.
2865         * modules/ilogbl-tests: New file.
2866         * tests/test-ilogbl.c: New file.
2867
2868         New module 'ilogbl'.
2869         * lib/math.in.h (ilogbl): New declaration.
2870         * lib/ilogbl.c: New file.
2871         * m4/ilogbl.m4: New file.
2872         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
2873         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
2874         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
2875         Split sed invocation, to avoid the limit of 100 substitutions of
2876         HP-UX 'sed'.
2877         * modules/ilogbl: New file.
2878         * tests/test-math-c++.cc: Check the declaration of ilogbl.
2879         * doc/posix-functions/ilogbl.texi: Mention the new module.
2880
2881 2012-04-03  Bruno Haible  <bruno@clisp.org>
2882
2883         Tests for module 'ilogbf'.
2884         * modules/ilogbf-tests: New file.
2885         * tests/test-ilogbf.c: New file.
2886
2887         New module 'ilogbf'.
2888         * lib/math.in.h (ilogbf): New declaration.
2889         * lib/ilogbf.c: New file.
2890         * m4/ilogbf.m4: New file.
2891         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
2892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
2893         REPLACE_ILOGBF.
2894         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
2895         REPLACE_ILOGBF.
2896         * modules/ilogbf: New file.
2897         * tests/test-math-c++.cc: Check the declaration of ilogbf.
2898         * doc/posix-functions/ilogbf.texi: Mention the new module.
2899
2900 2012-04-03  Bruno Haible  <bruno@clisp.org>
2901
2902         Tests for module 'ilogb'.
2903         * modules/ilogb-tests: New file.
2904         * tests/test-ilogb.c: New file.
2905         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
2906         tests/test-logb-ieee.h.
2907
2908         New module 'ilogb'.
2909         * lib/math.in.h (ilogb): New declaration.
2910         * lib/ilogb.c: New file.
2911         * m4/ilogb.m4: New file.
2912         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
2913         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
2914         REPLACE_ILOGB.
2915         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
2916         REPLACE_ILOGB.
2917         * modules/ilogb: New file.
2918         * tests/test-math-c++.cc: Check the declaration of ilogb.
2919         * doc/posix-functions/ilogb.texi: Mention the new module.
2920
2921 2012-04-03  Bruno Haible  <bruno@clisp.org>
2922
2923         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
2924         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
2925         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
2926         (main): Check their values.
2927         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
2928         problem.
2929
2930 2012-04-03  Bruno Haible  <bruno@clisp.org>
2931
2932         Tests for module 'logbl-ieee'.
2933         * modules/logbl-ieee-tests: New file.
2934         * tests/test-logbl-ieee.c: New file.
2935
2936         New module 'logbl-ieee'.
2937         * modules/logbl-ieee: New file.
2938
2939         Tests for module 'logb-ieee'.
2940         * modules/logb-ieee-tests: New file.
2941         * tests/test-logb-ieee.c: New file.
2942
2943         New module 'logb-ieee'.
2944         * modules/logb-ieee: New file.
2945
2946         Tests for module 'logbf-ieee'.
2947         * modules/logbf-ieee-tests: New file.
2948         * tests/test-logbf-ieee.c: New file.
2949         * tests/test-logb-ieee.h: New file.
2950
2951         New module 'logbf-ieee'.
2952         * modules/logbf-ieee: New file.
2953
2954 2012-04-03  Bruno Haible  <bruno@clisp.org>
2955
2956         Tests for module 'logbl'.
2957         * modules/logbl-tests: New file.
2958         * tests/test-logbl.c: New file.
2959
2960         New module 'logbl'.
2961         * lib/math.in.h (logbl): New declaration.
2962         * lib/logbl.c: New file.
2963         * m4/logbl.m4: New file.
2964         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2965         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2966         REPLACE_LOGBL.
2967         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2968         REPLACE_LOGBL.
2969         * modules/logbl: New file.
2970         * tests/test-math-c++.cc: Check the declaration of logbl.
2971         * doc/posix-functions/logbl.texi: Mention the new module.
2972
2973 2012-04-02  Bruno Haible  <bruno@clisp.org>
2974
2975         Tests for module 'logbf'.
2976         * modules/logbf-tests: New file.
2977         * tests/test-logbf.c: New file.
2978
2979         New module 'logbf'.
2980         * lib/math.in.h (logbf): New declaration.
2981         * lib/logbf.c: New file.
2982         * m4/logbf.m4: New file.
2983         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2984         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2985         REPLACE_LOGBF.
2986         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2987         REPLACE_LOGBF.
2988         * modules/logbf: New file.
2989         * tests/test-math-c++.cc: Check the declaration of logbf.
2990         * doc/posix-functions/logbf.texi: Mention the new module.
2991
2992 2012-04-02  Bruno Haible  <bruno@clisp.org>
2993
2994         logb tests: More tests.
2995         * tests/test-logb.h: New file, based on tests/test-logb.c and
2996         tests/test-frexp.h.
2997         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2998         (main): Just invoke test_function.
2999         * modules/logb-tests (Files): Add tests/test-logb.h,
3000         tests/minus-zero.h, tests/randomd.c.
3001         (Makefile.am): Add randomd.c to test_logb_SOURCES.
3002
3003         logb: Provide replacement and workarounds.
3004         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
3005         is 1.
3006         * lib/logb.c: New file.
3007         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
3008         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
3009         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
3010         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
3011         * modules/logb (Files): Add lib/logb.c.
3012         (Depends-on): Add isfinite, frexp, isnand.
3013         (configure.ac): Compile the replacement code logb.c if needed.
3014         * tests/test-math-c++.cc: Check the declaration of logb.
3015         * doc/posix-functions/logb.texi: Mention the replacement and the bug
3016         with subnormal numbers.
3017
3018 2012-04-02  Bruno Haible  <bruno@clisp.org>
3019
3020         log10* tests: Speed up.
3021         * tests/test-log10.h (test_function): Reduce amount of random numbers
3022         to test.
3023
3024 2012-04-01  Bruno Haible  <bruno@clisp.org>
3025
3026         logf-ieee: Fix test whether logf works.
3027         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
3028
3029 2012-04-01  Bruno Haible  <bruno@clisp.org>
3030
3031         log10l: Work around log10l-ieee test failure on IRIX 6.5.
3032         * lib/log10l.c: Include <float.h>
3033         (log10l): On IRIX, normalize the +Infinity value.
3034         * modules/log10l (Depends-on): Add 'float'.
3035         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
3036         +Infinity.
3037
3038         log10f-ieee: Work around test failure on NetBSD 5.1.
3039         * m4/log10f-ieee.m4: New file.
3040         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
3041         test whether log10f works with a negative argument. Replace it if not.
3042         * lib/log10f.c (log10f): For negative arguments, return NaN.
3043         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
3044         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
3045         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
3046
3047         log10f-ieee: Work around test failure on Solaris 9.
3048         * modules/log10f-ieee (Depends-on): Add log10-ieee.
3049         (configure.ac): Require gl_FUNC_LOG10F.
3050
3051         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3052         * m4/log10-ieee.m4: New file.
3053         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
3054         whether log10 works with a negative argument. Replace it if not.
3055         * lib/log10.c (log10): For negative arguments, return NaN.
3056         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
3057         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
3058         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
3059
3060         Tests for module 'log10l-ieee'.
3061         * modules/log10l-ieee-tests: New file.
3062         * tests/test-log10l-ieee.c: New file.
3063
3064         New module 'log10l-ieee'.
3065         * modules/log10l-ieee: New file.
3066
3067         Tests for module 'log10-ieee'.
3068         * modules/log10-ieee-tests: New file.
3069         * tests/test-log10-ieee.c: New file.
3070
3071         New module 'log10-ieee'.
3072         * modules/log10-ieee: New file.
3073
3074         Tests for module 'log10f-ieee'.
3075         * modules/log10f-ieee-tests: New file.
3076         * tests/test-log10f-ieee.c: New file.
3077         * tests/test-log10-ieee.h: New file.
3078
3079         New module 'log10f-ieee'.
3080         * modules/log10f-ieee: New file.
3081
3082 2012-04-01  Bruno Haible  <bruno@clisp.org>
3083
3084         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
3085         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
3086         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
3087         workaround.
3088         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
3089         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
3090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
3091         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
3092         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
3093         (Depends-on): Update conditions.
3094         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
3095         IRIX 6.5, OSF/1 5.1 problems.
3096
3097 2012-04-01  Bruno Haible  <bruno@clisp.org>
3098
3099         log10f: Work around OSF/1 5.1 bug.
3100         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
3101         * lib/log10f.c (log10f): If logf exists, use it and provide just the
3102         workaround.
3103         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
3104         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
3105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
3106         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
3107         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
3108         (Depends-on): Update conditions.
3109         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
3110
3111 2012-04-01  Bruno Haible  <bruno@clisp.org>
3112
3113         log10: Work around OSF/1 5.1 bug.
3114         * lib/math.in.h (log10): New declaration.
3115         * lib/log10.c: New file.
3116         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
3117         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
3118         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
3119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
3120         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
3121         * modules/log10 (Files): Add lib/log10.c.
3122         (Depends-on): Add math.
3123         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
3124         * tests/test-math-c++.cc: Check the declaration of log10.
3125         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
3126
3127 2012-03-31  Bruno Haible  <bruno@clisp.org>
3128
3129         log10l tests: More tests.
3130         * modules/log10l-tests (Files): Add tests/test-log10l.h,
3131         tests/minus-zero.h, tests/randoml.c.
3132         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
3133         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
3134         (main): Invoke test_function.
3135
3136         log10f tests: More tests.
3137         * modules/log10f-tests (Files): Add tests/test-log10.h,
3138         tests/minus-zero.h, tests/randomf.c.
3139         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
3140         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
3141         (main): Invoke test_function.
3142
3143         log10 tests: More tests.
3144         * tests/test-log10.h: New file.
3145         * modules/log10-tests (Files): Add tests/test-log10.h,
3146         tests/minus-zero.h, tests/randomd.c.
3147         (Makefile.am): Add randomd.c to test_log10_SOURCES.
3148         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
3149         (main): Invoke test_function.
3150
3151 2012-03-31  Simon Josefsson  <simon@josefsson.org>
3152
3153         fflush: Fix syntax error.
3154         * lib/fflush.c: Include unused-parameter.h, needed for
3155         _GL_UNUSED_PARAMETER.
3156         * modules/fflush (Depends-on): Add snippet/unused-parameter.
3157
3158 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
3159
3160         regex: pacify GCC when compiling GRUB
3161         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
3162         a diagnostic.  Reported by Vladimir Serbinenko in
3163         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
3164
3165 2012-03-29  Eric Blake  <eblake@redhat.com>
3166
3167         stdio: don't assume gets any more
3168         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
3169         support.
3170         * modules/stdio (Makefile.am): Likewise.
3171         * lib/stdio-read.c (gets): Likewise.
3172         * tests/test-stdio-c++.cc: Likewise.
3173         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
3174         * lib/stdio.in.h (gets): Make warning occur in more places.
3175         * doc/posix-functions/gets.texi (gets): Update documentation.
3176         Reported by Christer Solskogen.
3177
3178         maint.mk: fix syntax checks without exclusions
3179         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
3180         Reported by Daniel P. Berrange.
3181
3182         strerror_r: avoid compiler warning
3183         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
3184         level.
3185
3186         fflush: avoid compiler warning
3187         * lib/fflush.c (update_fpos_cache): Mark variables that are
3188         potentially unused.
3189
3190 2012-03-25  Bruno Haible  <bruno@clisp.org>
3191
3192         Tests for module 'localeconv'.
3193         * modules/localeconv-tests: New file.
3194         * tests/test-localeconv.c: New file.
3195
3196         New module 'localeconv'.
3197         * lib/locale.in.h (localeconv): New declaration.
3198         * lib/localeconv.c: New file.
3199         * m4/localeconv.m4: New file.
3200         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
3201         REPLACE_LOCALECONV.
3202         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
3203         REPLACE_LOCALECONV.
3204         * modules/localeconv: New file.
3205         * modules/nl_langinfo (Depends-on): Add localeconv.
3206         * modules/human (Depends-on): Likewise.
3207         * doc/posix-functions/localeconv.texi: Mention the new module.
3208
3209 2012-03-25  Bruno Haible  <bruno@clisp.org>
3210
3211         locale: Provide a complete 'struct lconv'.
3212         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
3213         'struct lconv' does not contain int_p_cs_precedes.
3214         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
3215         * doc/posix-headers/locale.texi: Update.
3216
3217         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
3218         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
3219         * doc/posix-headers/locale.texi: Update.
3220
3221         locale: Provide a working 'struct lconv'.
3222         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
3223         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
3224         'struct lconv' does not even contain decimal_point.
3225         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
3226         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
3227         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
3228         * doc/posix-headers/locale.texi: Mention the problems with
3229         'struct lconv'.
3230         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
3231
3232 2012-03-24  Bruno Haible  <bruno@clisp.org>
3233
3234         Enable common subexpression optimization in GCC.
3235         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
3236         macros.
3237         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
3238         GCC attribute 'const'.
3239         (uc_locale_language): Declare with GCC attribute 'pure'.
3240         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
3241         with GCC attribute 'const'.
3242         * lib/unictype.in.h (uc_is_general_category_withtable,
3243         uc_combining_class, uc_combining_class_name,
3244         uc_combining_class_long_name, uc_bidi_class_name,
3245         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
3246         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
3247         uc_decimal_value, uc_digit_value, uc_numeric_value,
3248         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
3249         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
3250         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
3251         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
3252         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
3253         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
3254         Declare with GCC attribute 'const'.
3255         (uc_general_category_name, uc_general_category_long_name,
3256         uc_general_category_byname, uc_general_category,
3257         uc_is_general_category, uc_combining_class_byname,
3258         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
3259         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
3260         Declare with GCC attribute 'pure'.
3261         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
3262         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
3263         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
3264         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
3265         with GCC attribute 'pure'.
3266         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
3267         'const'.
3268         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
3269         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
3270         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
3271         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
3272         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
3273         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
3274         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
3275         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
3276         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
3277         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
3278         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
3279         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
3280         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
3281         GCC attribute 'pure'.
3282         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
3283         'const'.
3284         * lib/uniwidth.in.h (uc_width): Simplify declaration.
3285         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
3286         u32_strwidth): Declare with GCC attribute 'pure'.
3287
3288         Enable common subexpression optimization in GCC.
3289         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3290         (alphasort): Declare with GCC attribute 'pure'.
3291         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3292         (atoll): Declare with GCC attribute 'pure'.
3293         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
3294         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
3295         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
3296         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3297         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
3298         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
3299         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
3300
3301 2012-03-24  Bruno Haible  <bruno@clisp.org>
3302
3303         gnulib-tool: Avoid unintended error output from 'cmp'.
3304         * gnulib-tool (func_add_file, func_update_file, func_import): Use
3305         "cmp -s", not "cmp > /dev/null".
3306
3307 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3308
3309         gnulib-tool: fix imprecise comments w.r.t. an automake bug
3310
3311         It's not just Automake versions < 1.9b that creates an empty
3312         pkgdatadir at installation time if pkgdata_DATA is specified
3313         to empty; modern automake versions do this as well, at least
3314         until automake 1.11.4 (not yet released at the moment of writing,
3315         but soon to appear).  That behaviour was generally considered a
3316         feature rather than a bug, at least until this discussion:
3317         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
3318
3319         See also automake bugs #10997 and #11030.
3320
3321         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
3322         reference to relevant automake bug numbers.
3323         (func_emit_tests_Makefile_am): Likewise.
3324
3325 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
3326
3327         announce-gen: use Digest::SHA when possible
3328         * build-aux/announce-gen: Use Digest::SHA when possible, falling
3329         back to Digest::SHA1 if necessary.
3330
3331 2012-03-20  Jim Meyering  <meyering@redhat.com>
3332
3333         tests: avoid gcc warnings about argv vs. const initializers
3334         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
3335         warnings about discarding 'const' qualifier from pointer target type.
3336         * tests/test-posix_spawn2.c (main): Likewise.
3337
3338 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
3339
3340         README-release: simplify slightly
3341         * top/README-release: Run "git checkout master" only once.
3342
3343 2012-03-15  Mark Wielaard  <mark@klomp.org>
3344
3345         git-merge-changelog: add specific example on how to use with hg.
3346         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
3347
3348 2012-03-18  Mark Wielaard  <mark@klomp.org>
3349
3350         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
3351
3352 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
3353
3354         git-version-gen: don't let "prefix" envvar cause trouble
3355         * build-aux/git-version-gen (prefix): Initialize properly,
3356         so as not to use a value specified via the environment.
3357         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
3358
3359 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
3360
3361         regex: diagnose too-large repeat counts in EREs
3362         Previously, the code did not diagnose the too-large repeat count
3363         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
3364         as if it were 'b\{1000000000}', which is unexpected.
3365         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
3366         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
3367         is a reasonable one for this problem.  Another option would be to
3368         create a new REG_OVERFLOW error for repeat counts that are too large.
3369         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
3370         count is too large, so that the caller can distinguish the two cases.
3371         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
3372         "Too large" return code, and that repeat counts are one example of this.
3373
3374 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
3375
3376         doc: some glibc x32 integer width issues
3377         * doc/posix-headers/sys_types.texi (sys/types.h):
3378         * doc/posix-headers/time.texi (time.h):
3379         Mention that glibc x32 does not conform to POSIX in a couple of
3380         areas related to integer widths.
3381
3382 2012-03-15  Bruno Haible  <bruno@clisp.org>
3383
3384         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
3385         * lib/fma.c (VOLATILE): New macro.
3386         (FUNC): Use it to work around a GCC compiler bug.
3387
3388 2012-03-13  Bruno Haible  <bruno@clisp.org>
3389
3390         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3391         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
3392         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
3393         REPLACE_HYPOTL to 1.
3394         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
3395
3396 2012-03-13  Bruno Haible  <bruno@clisp.org>
3397
3398         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3399         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
3400         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
3401         REPLACE_REMAINDERL to 1.
3402         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
3403         bug.
3404
3405 2012-03-13  Bruno Haible  <bruno@clisp.org>
3406
3407         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3408         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
3409         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
3410         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
3411         too big rounding errors.
3412         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
3413         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
3414         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
3415         (Depends-on): Update conditions.
3416         * tests/test-sqrtl.c (my_ldexpl): New function.
3417         (main): Add test of a particular value.
3418         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
3419
3420 2012-03-13  Pádraig Brady  <P@draigBrady.com>
3421
3422         doc: Update timer_* platform portability notes.
3423         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
3424         that always return ENOSYS.
3425         * doc/posix-functions/timer_delete.texi: Likewise.
3426         * doc/posix-functions/timer_gettime.texi: Likewise.
3427         * doc/posix-functions/timer_settime.texi: Likewise.
3428
3429 2012-03-13  Bruno Haible  <bruno@clisp.org>
3430
3431         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3432         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
3433         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
3434         REPLACE_CBRTL to 1.
3435         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
3436
3437 2012-03-13  Bruno Haible  <bruno@clisp.org>
3438
3439         remainderl: Avoid compilation error on AIX >= 5.2.
3440         * lib/math.in.h (remainderl): Undefine macro from the system header.
3441
3442 2012-03-13  Bruno Haible  <bruno@clisp.org>
3443
3444         Avoid compilation errors with MSVC option -fp:strict.
3445         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
3446         * lib/cbrtf.c: Likewise.
3447         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3448
3449 2012-03-12  Bruno Haible  <bruno@clisp.org>
3450
3451         uninorm: Don't crash in out-of-memory conditions.
3452         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
3453         gracefully.
3454         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
3455         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
3456
3457 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
3458
3459         quote: fix syntax-check
3460         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
3461         also exports quote_quoting_options.
3462
3463 2012-03-12  Simon Josefsson  <simon@josefsson.org>
3464
3465         Collapse list of copyright years to ranges.  See
3466         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
3467         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
3468         build-aux/csharpexec.sh.in, build-aux/gnupload,
3469         build-aux/install-reloc, build-aux/javacomp.sh.in,
3470         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
3471         build-aux/move-if-change, build-aux/reloc-ldflags,
3472         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
3473
3474 2012-03-11  Bruno Haible  <bruno@clisp.org>
3475
3476         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
3477         * m4/log2f-ieee.m4: New file.
3478         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
3479         whether log2f works with a minus zero argument. Replace it if not.
3480         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
3481         (Depends-on): Add log2-ieee.
3482         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
3483         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
3484
3485         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
3486         * m4/log2-ieee.m4: New file.
3487         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
3488         whether log2 works with a minus zero argument. Replace it if not.
3489         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
3490         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
3491         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
3492
3493         Tests for module 'log2l-ieee'.
3494         * modules/log2l-ieee-tests: New file.
3495         * tests/test-log2l-ieee.c: New file.
3496
3497         New module 'log2l-ieee'.
3498         * modules/log2l-ieee: New file.
3499
3500         Tests for module 'log2-ieee'.
3501         * modules/log2-ieee-tests: New file.
3502         * tests/test-log2-ieee.c: New file.
3503
3504         New module 'log2-ieee'.
3505         * modules/log2-ieee: New file.
3506
3507         Tests for module 'log2f-ieee'.
3508         * modules/log2f-ieee-tests: New file.
3509         * tests/test-log2f-ieee.c: New file.
3510         * tests/test-log2-ieee.h: New file.
3511
3512         New module 'log2f-ieee'.
3513         * modules/log2f-ieee: New file.
3514
3515 2012-03-11  Bruno Haible  <bruno@clisp.org>
3516
3517         Tests for module 'log2l'.
3518         * modules/log2l-tests: New file.
3519         * tests/test-log2l.c: New file.
3520
3521         New module 'log2l'.
3522         * lib/math.in.h (log2l): New declaration.
3523         * lib/log2l.c: New file.
3524         * m4/log2l.m4: New file.
3525         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
3526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
3527         REPLACE_LOG2L.
3528         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
3529         REPLACE_LOG2L.
3530         * modules/log2l: New file.
3531         * tests/test-math-c++.cc: Check the declaration of log2l.
3532         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
3533         and OSF/1 problems.
3534
3535 2012-03-11  Bruno Haible  <bruno@clisp.org>
3536
3537         Tests for module 'log2f'.
3538         * modules/log2f-tests: New file.
3539         * tests/test-log2f.c: New file.
3540
3541         New module 'log2f'.
3542         * lib/math.in.h (log2f): New declaration.
3543         * lib/log2f.c: New file.
3544         * m4/log2f.m4: New file.
3545         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
3546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
3547         REPLACE_LOG2F.
3548         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
3549         REPLACE_LOG2F.
3550         * modules/log2f: New file.
3551         * tests/test-math-c++.cc: Check the declaration of log2f.
3552         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
3553         and OSF/1 and Cygwin problems.
3554
3555 2012-03-11  Bruno Haible  <bruno@clisp.org>
3556
3557         Tests for module 'log2'.
3558         * modules/log2-tests: New file.
3559         * tests/test-log2.c: New file.
3560         * tests/test-log2.h: New file.
3561
3562         New module 'log2'.
3563         * lib/math.in.h (log2): New declaration.
3564         * lib/log2.c: New file.
3565         * m4/log2.m4: New file.
3566         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
3567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
3568         REPLACE_LOG2.
3569         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
3570         REPLACE_LOG2.
3571         * modules/log2: New file.
3572         * tests/test-math-c++.cc: Check the declaration of log2.
3573         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
3574         and OSF/1 and Cygwin problems.
3575
3576 2012-03-11  Bruno Haible  <bruno@clisp.org>
3577
3578         exp2* tests: More tests.
3579         * tests/test-exp2.h (test_function): Test all integral arguments that
3580         don't need to overflow or denormalized numbers.
3581         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
3582         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
3583         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
3584
3585 2012-03-10  Bruno Haible  <bruno@clisp.org>
3586
3587         log1pl-ieee: Work around test failure on AIX 7.1.
3588         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
3589
3590         log1pl-ieee: Work around test failure on IRIX 6.5.
3591         * m4/log1pl-ieee.m4: New file.
3592         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
3593         test whether log1pl works with a minus zero argument. Replace it if
3594         not.
3595         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
3596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
3597         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
3598         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
3599         (Depends-on): Update conditions.
3600         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3601         m4/signbit.m4.
3602         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
3603         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
3604
3605         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
3606         * m4/log1pf-ieee.m4: New file.
3607         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
3608         test whether log1pf works with a minus zero argument. Replace it if
3609         not.
3610         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
3611         m4/signbit.m4.
3612         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
3613         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
3614
3615         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
3616         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
3617         (configure.ac): Require gl_FUNC_LOG1PF.
3618
3619         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
3620         * m4/log1p-ieee.m4: New file.
3621         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
3622         whether log1p works with a minus zero argument. Replace it if not.
3623         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
3624         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
3625         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
3626         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
3627         (Depends-on): Update conditions.
3628         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3629         m4/signbit.m4.
3630         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
3631         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
3632
3633         Tests for module 'log1pl-ieee'.
3634         * modules/log1pl-ieee-tests: New file.
3635         * tests/test-log1pl-ieee.c: New file.
3636
3637         New module 'log1pl-ieee'.
3638         * modules/log1pl-ieee: New file.
3639
3640         Tests for module 'log1p-ieee'.
3641         * modules/log1p-ieee-tests: New file.
3642         * tests/test-log1p-ieee.c: New file.
3643
3644         New module 'log1p-ieee'.
3645         * modules/log1p-ieee: New file.
3646
3647         Tests for module 'log1pf-ieee'.
3648         * modules/log1pf-ieee-tests: New file.
3649         * tests/test-log1pf-ieee.c: New file.
3650         * tests/test-log1p-ieee.h: New file.
3651
3652         New module 'log1pf-ieee'.
3653         * modules/log1pf-ieee: New file.
3654
3655 2012-03-10  Bruno Haible  <bruno@clisp.org>
3656
3657         Tests for module 'log1pl'.
3658         * modules/log1pl-tests: New file.
3659         * tests/test-log1pl.c: New file.
3660
3661         New module 'log1pl'.
3662         * lib/math.in.h (log1pl): New declaration.
3663         * lib/log1pl.c: New file.
3664         * m4/log1pl.m4: New file.
3665         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
3666         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
3667         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
3668         * modules/log1pl: New file.
3669         * tests/test-math-c++.cc: Check the declaration of log1pl.
3670         * doc/posix-functions/log1pl.texi: Mention the new module.
3671
3672 2012-03-10  Bruno Haible  <bruno@clisp.org>
3673
3674         Tests for module 'log1pf'.
3675         * modules/log1pf-tests: New file.
3676         * tests/test-log1pf.c: New file.
3677
3678         New module 'log1pf'.
3679         * lib/math.in.h (log1pf): New declaration.
3680         * lib/log1pf.c: New file.
3681         * m4/log1pf.m4: New file.
3682         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
3683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
3684         REPLACE_LOG1PF.
3685         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
3686         REPLACE_LOG1PF.
3687         * modules/log1pf: New file.
3688         * tests/test-math-c++.cc: Check the declaration of log1pf.
3689         * doc/posix-functions/log1pf.texi: Mention the new module.
3690
3691 2012-03-10  Bruno Haible  <bruno@clisp.org>
3692
3693         log1p tests: More tests.
3694         * tests/test-log1p.h: New file.
3695         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
3696         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
3697         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
3698         (main): Invoke test_function.
3699
3700         log1p: Provide replacement for Minix and MSVC.
3701         * lib/math.in.h (log1p): New declaration.
3702         * lib/log1p.c: New file.
3703         * m4/log1p.m4: New file.
3704         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
3705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
3706         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
3707         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
3708         (Depends-on): Add math, isnand, log, round.
3709         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
3710         HAVE_LOG1P is 0.
3711         * tests/test-math-c++.cc: Check the declaration of log1p.
3712         * doc/posix-functions/log1p.texi: Mention the replacement.
3713
3714 2012-03-10  Bruno Haible  <bruno@clisp.org>
3715
3716         math tests: Small simplification.
3717         * tests/test-exp.h (test_function): Use the same err_bound for
3718         'double' on platforms with sizeof (long double) == sizeof (double)
3719         than on platforms with sizeof (long double) > sizeof (double).
3720         * tests/test-exp2.h (test_function): Likewise.
3721         * tests/test-expm1.h (test_function): Likewise.
3722         * tests/test-log.h (test_function): Likewise.
3723
3724 2012-03-10  Bruno Haible  <bruno@clisp.org>
3725
3726         Fix some comments.
3727         * lib/expl.c: Fix an ambiguous comment.
3728         * lib/expm1.c: Likewise.
3729         * lib/expm1l.c: Likewise.
3730         * lib/exp2.c: Likewise.
3731         * lib/exp2l.c: Likewise.
3732
3733 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
3734
3735         regex: allow inclusion of <regex.h> before <limits.h>
3736         Without this patch, portable programs had to include <limits.h> before
3737         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
3738         I ran into this problem with a test version of GNU grep on Solaris 8.
3739         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
3740         This is done conditionally so that this change can be merged
3741         back to glibc.
3742         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
3743         using the included regex.
3744
3745         fts: depend on fdopendir
3746         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
3747         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
3748         problem was introduced when fdopendir was split out.
3749
3750 2012-03-10  Bruno Haible  <bruno@clisp.org>
3751
3752         Remove unused variables.
3753         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
3754         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3755
3756 2012-03-10  Bruno Haible  <bruno@clisp.org>
3757
3758         isnanf-nolibm: Fix last commit.
3759         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
3760
3761         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
3762         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
3763
3764 2012-03-10  Bruno Haible  <bruno@clisp.org>
3765
3766         logf-ieee: Work around test failure on NetBSD 5.1.
3767         * m4/logf-ieee.m4: New file.
3768         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
3769         whether logf works with a negative argument. Replace it if not.
3770         * lib/logf.c (logf): For negative arguments, return NaN.
3771         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
3772         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
3773         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
3774
3775         logf-ieee: Work around test failure on Solaris 9.
3776         * modules/logf-ieee (Depends-on): Add log-ieee.
3777         (configure.ac): Require gl_FUNC_LOGF.
3778
3779         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3780         * m4/log-ieee.m4: New file.
3781         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
3782         log works with a negative argument. Replace it if not.
3783         * lib/log.c (log): For negative arguments, return NaN.
3784         * modules/log-ieee (Files): Add m4/log-ieee.m4.
3785         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
3786         * doc/posix-functions/log.texi: Mention the log-ieee module.
3787
3788         Tests for module 'logl-ieee'.
3789         * modules/logl-ieee-tests: New file.
3790         * tests/test-logl-ieee.c: New file.
3791
3792         New module 'logl-ieee'.
3793         * modules/logl-ieee: New file.
3794
3795         Tests for module 'log-ieee'.
3796         * modules/log-ieee-tests: New file.
3797         * tests/test-log-ieee.c: New file.
3798
3799         New module 'log-ieee'.
3800         * modules/log-ieee: New file.
3801
3802         Tests for module 'logf-ieee'.
3803         * modules/logf-ieee-tests: New file.
3804         * tests/test-logf-ieee.c: New file.
3805         * tests/test-log-ieee.h: New file.
3806
3807         New module 'logf-ieee'.
3808         * modules/logf-ieee: New file.
3809
3810 2012-03-10  Bruno Haible  <bruno@clisp.org>
3811
3812         log: Fix bug introduced on 2012-03-09.
3813         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
3814
3815 2012-03-10  Pádraig Brady  <P@draigBrady.com>
3816
3817         timer-time: link explicitly with pthreads on glibc
3818         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3819         to support static linking, when newer glibc is
3820         detected, as that contains pthread emulation of
3821         POSIX timer functions where required.
3822         * modules/timer-time: Depend on threadlib to
3823         pull in the appropriate library to link.
3824
3825 2012-03-10  Bruno Haible  <bruno@clisp.org>
3826
3827         log* tests: More tests.
3828         * tests/test-log.h: New file.
3829         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
3830         (main): Invoke test_function.
3831         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
3832         (main): Invoke test_function.
3833         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
3834         (main): Invoke test_function.
3835         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3836         tests/randomd.c.
3837         (Makefile.am): Add randomd.c to test_log_SOURCES.
3838         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3839         tests/randomf.c.
3840         (Makefile.am): Add randomf.c to test_logf_SOURCES.
3841         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3842         tests/randoml.c.
3843         (Depends-on): Add 'float'.
3844         (Makefile.am): Add randoml.c to test_logl_SOURCES.
3845
3846 2012-03-09  Bruno Haible  <bruno@clisp.org>
3847
3848         logl: Work around OSF/1 5.1 bug.
3849         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
3850         * lib/logl.c (logl): If logl exists, use it and provide just the
3851         workaround.
3852         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
3853         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
3854         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
3855         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
3856         * modules/logl (configure.ac): Consider REPLACE_LOGL.
3857         (Depends-on): Update conditions.
3858         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
3859
3860 2012-03-09  Bruno Haible  <bruno@clisp.org>
3861
3862         logf: Work around OSF/1 5.1 bug.
3863         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
3864         * lib/logf.c (logf): If logf exists, use it and provide just the
3865         workaround.
3866         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
3867         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
3868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
3869         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
3870         * modules/logf (configure.ac): Consider REPLACE_LOGF.
3871         (Depends-on): Update conditions.
3872         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
3873
3874 2012-03-09  Bruno Haible  <bruno@clisp.org>
3875
3876         log: Work around OSF/1 5.1 bug.
3877         * lib/math.in.h (log): New declaration.
3878         * lib/log.c: New file.
3879         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
3880         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
3881         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
3882         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
3883         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
3884         * modules/log (Files): Add lib/log.c.
3885         (Depends-on): Add math.
3886         (configure.ac): If REPLACE_LOG is 1, compile an override.
3887         * tests/test-math-c++.cc: Check the declaration of log.
3888         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
3889
3890 2012-03-09  Jim Meyering  <meyering@redhat.com>
3891
3892         readtokens.c: adjust wording in a comment
3893         * lib/readtokens.c: Insert omitted "that" in a comment.
3894
3895 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3896
3897         modechange: add notations +40, 00440, etc.
3898         * lib/modechange.c (mode_compile): Support new notations
3899         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
3900
3901 2012-03-08  Bruno Haible  <bruno@clisp.org>
3902
3903         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
3904         * m4/exp2l-ieee.m4: New file.
3905         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
3906         test whether exp2l works with a NaN argument and with a negative
3907         infinity argument. Replace it if not.
3908         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
3909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
3910         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
3911         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
3912         (Depends-on): Update conditions.
3913         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
3914         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
3915         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
3916
3917         Tests for module 'exp2l-ieee'.
3918         * modules/exp2l-ieee-tests: New file.
3919         * tests/test-exp2l-ieee.c: New file.
3920
3921         New module 'exp2l-ieee'.
3922         * modules/exp2l-ieee: New file.
3923
3924         Tests for module 'exp2-ieee'.
3925         * modules/exp2-ieee-tests: New file.
3926         * tests/test-exp2-ieee.c: New file.
3927
3928         New module 'exp2-ieee'.
3929         * modules/exp2-ieee: New file.
3930
3931         Tests for module 'exp2f-ieee'.
3932         * modules/exp2f-ieee-tests: New file.
3933         * tests/test-exp2f-ieee.c: New file.
3934         * tests/test-exp2-ieee.h: New file.
3935
3936         New module 'exp2f-ieee'.
3937         * modules/exp2f-ieee: New file.
3938
3939 2012-03-08  Bruno Haible  <bruno@clisp.org>
3940
3941         Tests for module 'exp2l'.
3942         * modules/exp2l-tests: New file.
3943         * tests/test-exp2l.c: New file.
3944
3945         New module 'exp2l'.
3946         * lib/math.in.h (exp2l): New declaration.
3947         * lib/exp2l.c: New file.
3948         * lib/expl-table.c: New file, extracted from lib/expl.c.
3949         * lib/expl.c (gl_expl_table): New declaration.
3950         (expl): Remove expl_table. Update reference.
3951         * m4/exp2l.m4: New file.
3952         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3954         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3955         * modules/exp2l: New file.
3956         * modules/expl (Files): Add lib/expl-table.c.
3957         (configure.ac): Compile also expl-table.c.
3958         * tests/test-math-c++.cc: Check the declaration of exp2l.
3959         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3960         problem.
3961
3962 2012-03-08  Bruno Haible  <bruno@clisp.org>
3963
3964         Tests for module 'exp2f'.
3965         * modules/exp2f-tests: New file.
3966         * tests/test-exp2f.c: New file.
3967
3968         New module 'exp2f'.
3969         * lib/math.in.h (exp2f): New declaration.
3970         * lib/exp2f.c: New file.
3971         * m4/exp2f.m4: New file.
3972         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3973         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3974         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3975         * modules/exp2f: New file.
3976         * tests/test-math-c++.cc: Check the declaration of exp2f.
3977         * doc/posix-functions/exp2f.texi: Mention the new module and the
3978         IRIX problem.
3979
3980 2012-03-08  Bruno Haible  <bruno@clisp.org>
3981
3982         Tests for module 'exp2'.
3983         * modules/exp2-tests: New file.
3984         * tests/test-exp2.c: New file.
3985         * tests/test-exp2.h: New file.
3986
3987         New module 'exp2'.
3988         * lib/math.in.h (exp2): New declaration.
3989         * lib/exp2.c: New file.
3990         * m4/exp2.m4: New file.
3991         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3993         REPLACE_EXP2.
3994         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3995         REPLACE_EXP2.
3996         * modules/exp2: New file.
3997         * tests/test-math-c++.cc: Check the declaration of exp2.
3998         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3999         and OpenBSD problems.
4000
4001 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
4002
4003         savedir: fix comment typo
4004         * lib/savedir.c (savedirstream): Fix typo in comment.
4005
4006 2012-03-08  Bruno Haible  <bruno@clisp.org>
4007
4008         test-readtokens.c: use const; remove unwarranted cast
4009         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
4010
4011 2012-03-08  Bruno Haible  <bruno@clisp.org>
4012
4013         fmal: Avoid compilation error on AIX.
4014         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
4015         AIX 5.2..7.1.
4016
4017 2012-03-08  Bruno Haible  <bruno@clisp.org>
4018
4019         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
4020         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
4021         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
4022         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
4023         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
4024         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
4025         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
4026
4027 2012-03-08  Bruno Haible  <bruno@clisp.org>
4028
4029         remainderf: Override buggy system function on IRIX 6.5.
4030         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
4031         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
4032         when it exists.
4033         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
4034
4035 2012-03-08  Jim Meyering  <meyering@redhat.com>
4036
4037         test-readtokens.c: avoid const-related compilation warnings
4038         * tests/test-readtokens.c: Avoid const-related compilation warnings.
4039
4040 2012-03-07  Jim Meyering  <meyering@redhat.com>
4041             Bruno Haible  <bruno@clisp.org>
4042
4043         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
4044         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
4045         tests/randomd.c.
4046         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
4047         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
4048         tests/randoml.c.
4049         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
4050
4051 2012-03-07  Bruno Haible  <bruno@clisp.org>
4052
4053         expm1l: Avoid compilation error on AIX.
4054         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
4055         AIX 5.2..7.1.
4056
4057 2012-03-07  Bruno Haible  <bruno@clisp.org>
4058
4059         expm1l: Don't override undeclared system function on IRIX 6.5.
4060         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
4061         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
4062         it exists. Set HAVE_DECL_EXPM1L.
4063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
4064         HAVE_EXPM1L.
4065         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
4066         HAVE_EXPM1L.
4067         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
4068
4069 2012-03-07  Bruno Haible  <bruno@clisp.org>
4070
4071         remainderl: Don't override undeclared system function on IRIX 6.5.
4072         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
4073         HAVE_REMAINDERL.
4074         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
4075         declared when it exists. Set HAVE_DECL_REMAINDERL.
4076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
4077         not HAVE_REMAINDERL.
4078         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
4079         HAVE_REMAINDERL.
4080         * doc/posix-functions/remainderl.texi: Mention missing declaration
4081         problem.
4082
4083 2012-03-07  Bruno Haible  <bruno@clisp.org>
4084
4085         rintf: Don't override undeclared system function on IRIX 6.5.
4086         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
4087         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
4088         exists. Set HAVE_DECL_RINTF.
4089         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
4090         HAVE_RINTF.
4091         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
4092         HAVE_RINTF.
4093         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
4094
4095 2012-03-07  Bruno Haible  <bruno@clisp.org>
4096
4097         roundl: Avoid compilation error on AIX.
4098         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
4099         AIX 5.2..7.1.
4100
4101 2012-03-07  Bruno Haible  <bruno@clisp.org>
4102
4103         roundl: Don't override undeclared system function on IRIX 6.5.
4104         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
4105         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
4106         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
4107         * modules/roundl (configure.ac): For replacement code, test
4108         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
4109         (Depends-on): Update conditions.
4110         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
4111
4112 2012-03-07  Bruno Haible  <bruno@clisp.org>
4113
4114         roundf: Don't override undeclared system function on IRIX 6.5.
4115         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
4116         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
4117         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
4118         * modules/roundf (configure.ac): For replacement code, test
4119         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
4120         (Depends-on): Update conditions.
4121         * modules/roundf-ieee (Depends-on): Update conditions.
4122         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
4123
4124 2012-03-07  Bruno Haible  <bruno@clisp.org>
4125
4126         round: Don't override undeclared system function on IRIX 6.5.
4127         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
4128         argument.
4129         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
4130         also when it is not declared. Set HAVE_ROUND. For replacement code,
4131         test HAVE_ROUND, not HAVE_DECL_ROUND.
4132         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
4133         not HAVE_DECL_ROUND.
4134         (Depends-on): Update conditions.
4135         * modules/round-ieee (Depends-on): Update conditions.
4136         * doc/posix-functions/round.texi: Mention the IRIX problem.
4137
4138 2012-03-07  Bruno Haible  <bruno@clisp.org>
4139
4140         copysignf: Don't override undeclared system function on IRIX 6.5.
4141         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
4142         HAVE_COPYSIGNF.
4143         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
4144         declared when it exists. Set HAVE_DECL_COPYSIGNF.
4145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
4146         not HAVE_COPYSIGNF.
4147         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
4148         HAVE_COPYSIGNF.
4149         * doc/posix-functions/copysignf.texi: Mention missing declaration
4150         problem.
4151
4152 2012-03-07  Jim Meyering  <meyering@redhat.com>
4153
4154         readtokens: add tests
4155         * modules/readtokens-tests: New file.
4156         * tests/test-readtokens.c: New file.
4157
4158 2012-03-07  Jim Meyering  <meyering@redhat.com>
4159
4160         quotearg: the module must now include quote.h
4161         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
4162         So must the module.
4163         * modules/quotearg (Files): Add quote.h.
4164
4165 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
4166
4167         readtokens: avoid core dumps with unusual calling patterns
4168         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
4169         * lib/readtokens.c: Include limits.h.
4170         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
4171         (readtoken): Don't cache the delimiters; the cache code was buggy
4172         if !delim && saved_delim, or if the new n_delim differs from the old.
4173         Also, it wasn't thread-safe.
4174
4175 2012-03-07  Bruno Haible  <bruno@clisp.org>
4176
4177         quote: Adhere to common module description layout.
4178         * modules/quote (Makefile.am): Add back empty section.
4179
4180 2012-03-06  Akim Demaille  <demaille@gostai.com>
4181
4182         quote: fuse into quotearg
4183         This patch is made for the benefit of Bison.
4184         quote does not leave the choice of the quoting style to the user.
4185         quoting_style provides poor customizability, yet quoting_options,
4186         which is very rich, is hidden inside quotearg.c.  So in order to
4187         allow quote customization, move its implementation to quotearg.c.
4188         * lib/quote.c: Remove.
4189         * modules/quote: Adjust.
4190         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
4191         warning: provide all the members of literal structs.
4192         (quote_quoting_options): New.
4193         (quote, quote_n): Import implementation from quote.c.
4194         * lib/quote.h: Import the comments from quote.c.
4195         (quote_quoting_options): New.
4196
4197 2012-03-06  Bruno Haible  <bruno@clisp.org>
4198
4199         Tests for module 'expm1l-ieee'.
4200         * modules/expm1l-ieee-tests: New file.
4201         * tests/test-expm1l-ieee.c: New file.
4202
4203         New module 'expm1l-ieee'.
4204         * modules/expm1l-ieee: New file.
4205
4206         Tests for module 'expm1f-ieee'.
4207         * modules/expm1f-ieee-tests: New file.
4208         * tests/test-expm1f-ieee.c: New file.
4209
4210         New module 'expm1f-ieee'.
4211         * modules/expm1f-ieee: New file.
4212
4213         Tests for module 'expm1-ieee'.
4214         * modules/expm1-ieee-tests: New file.
4215         * tests/test-expm1-ieee.c: New file.
4216         * tests/test-expm1-ieee.h: New file.
4217
4218         New module 'expm1-ieee'.
4219         * modules/expm1-ieee: New file.
4220         * m4/expm1-ieee.m4: New file.
4221         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
4222         whether expm1 works with a minus zero argument. Replace it if not.
4223         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
4224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
4225         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
4226         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
4227         (Depends-on): Update conditions.
4228         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
4229         AIX problem.
4230
4231 2012-03-06  Bruno Haible  <bruno@clisp.org>
4232
4233         Work around expm1f bug on IRIX 6.5.
4234         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
4235         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
4236         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
4237         not work.
4238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
4239         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
4240         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
4241         (Depends-on): Update conditions.
4242         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
4243
4244 2012-03-06  Bruno Haible  <bruno@clisp.org>
4245
4246         Tests for module 'expm1l'.
4247         * modules/expm1l-tests: New file.
4248         * tests/test-expm1l.c: New file.
4249
4250         New module 'expm1l'.
4251         * lib/math.in.h (expm1l): New declaration.
4252         * lib/expm1l.c: New file.
4253         * m4/expm1l.m4: New file.
4254         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
4255         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
4256         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
4257         * modules/expm1l: New file.
4258         * tests/test-math-c++.cc: Check the declaration of expm1l.
4259         * doc/posix-functions/expm1l.texi: Mention the new module.
4260
4261 2012-03-06  Bruno Haible  <bruno@clisp.org>
4262
4263         Tests for module 'expm1f'.
4264         * modules/expm1f-tests: New file.
4265         * tests/test-expm1f.c: New file.
4266
4267         New module 'expm1f'.
4268         * lib/math.in.h (expm1f): New declaration.
4269         * lib/expm1f.c: New file.
4270         * m4/expm1f.m4: New file.
4271         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
4272         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
4273         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
4274         * modules/expm1f: New file.
4275         * tests/test-math-c++.cc: Check the declaration of expm1f.
4276         * doc/posix-functions/expm1f.texi: Mention the new module.
4277
4278 2012-03-06  Bruno Haible  <bruno@clisp.org>
4279
4280         Tests for module 'expm1'.
4281         * modules/expm1-tests: New file.
4282         * tests/test-expm1.c: New file.
4283         * tests/test-expm1.h: New file.
4284
4285         New module 'expm1'.
4286         * lib/math.in.h (expm1): New declaration.
4287         * lib/expm1.c: New file.
4288         * m4/expm1.m4: New file.
4289         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
4290         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
4291         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
4292         * modules/expm1: New file.
4293         * tests/test-math-c++.cc: Check the declaration of expm1.
4294         * doc/posix-functions/expm1.texi: Mention the new module.
4295
4296 2012-03-06  Bruno Haible  <bruno@clisp.org>
4297
4298         math: Ensure declarations of math functions.
4299         * modules/acosf (Depends-on): Add 'extensions'.
4300         * modules/asinf (Depends-on): Likewise.
4301         * modules/atan2f (Depends-on): Likewise.
4302         * modules/atanf (Depends-on): Likewise.
4303         * modules/cbrt (Depends-on): Likewise.
4304         * modules/cbrtf (Depends-on): Likewise.
4305         * modules/cbrtl (Depends-on): Likewise.
4306         * modules/copysignf (Depends-on): Likewise.
4307         * modules/copysignl (Depends-on): Likewise.
4308         * modules/cosf (Depends-on): Likewise.
4309         * modules/coshf (Depends-on): Likewise.
4310         * modules/expf (Depends-on): Likewise.
4311         * modules/fabsf (Depends-on): Likewise.
4312         * modules/fabsl (Depends-on): Likewise.
4313         * modules/fmaf (Depends-on): Likewise.
4314         * modules/fmal (Depends-on): Likewise.
4315         * modules/fmodf (Depends-on): Likewise.
4316         * modules/fmodl (Depends-on): Likewise.
4317         * modules/frexpf (Depends-on): Likewise.
4318         * modules/frexpl (Depends-on): Likewise.
4319         * modules/hypot (Depends-on): Likewise.
4320         * modules/hypotf (Depends-on): Likewise.
4321         * modules/hypotl (Depends-on): Likewise.
4322         * modules/ldexpf (Depends-on): Likewise.
4323         * modules/ldexpl (Depends-on): Likewise.
4324         * modules/log10f (Depends-on): Likewise.
4325         * modules/log10l (Depends-on): Likewise.
4326         * modules/log1p (Depends-on): Likewise.
4327         * modules/logb (Depends-on): Likewise.
4328         * modules/logf (Depends-on): Likewise.
4329         * modules/modff (Depends-on): Likewise.
4330         * modules/modfl (Depends-on): Likewise.
4331         * modules/powf (Depends-on): Likewise.
4332         * modules/remainderf (Depends-on): Likewise.
4333         * modules/remainderl (Depends-on): Likewise.
4334         * modules/rintf (Depends-on): Likewise.
4335         * modules/rintl (Depends-on): Likewise.
4336         * modules/sinf (Depends-on): Likewise.
4337         * modules/sinhf (Depends-on): Likewise.
4338         * modules/sqrtf (Depends-on): Likewise.
4339         * modules/tanf (Depends-on): Likewise.
4340         * modules/tanhf (Depends-on): Likewise.
4341         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
4342         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
4343         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
4344         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
4345         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
4346         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
4347         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
4348         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
4349         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
4350         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
4351         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
4352         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
4353         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
4354         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
4355         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
4356         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
4357         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
4358         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4359         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
4360         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
4361         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
4362         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
4363         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
4364         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
4365         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
4366         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
4367         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
4368         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
4369         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
4370         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
4371         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4372         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
4373         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
4374         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4375         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4376         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4377         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
4378         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
4379         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
4380         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
4381         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
4382
4383 2012-03-06  Bruno Haible  <bruno@clisp.org>
4384
4385         math: Update module names in warnings.
4386         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4387         tanl): Use specific module name in warn-on-use warning.
4388
4389 2012-03-06  Bruno Haible  <bruno@clisp.org>
4390
4391         expl: Simplify computation.
4392         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
4393
4394 2012-03-05  Bruno Haible  <bruno@clisp.org>
4395
4396         exp* tests: More tests.
4397         * tests/test-exp.h: New file.
4398         * tests/test-exp.c: Include <float.h> and test-exp.h.
4399         (main): Invoke test_function.
4400         * tests/test-expf.c: Include <float.h> and test-exp.h.
4401         (main): Invoke test_function.
4402         * tests/test-expl.c: Include <float.h> and test-exp.h.
4403         (main): Invoke test_function.
4404         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
4405         (Makefile.am): Add randomd.c to test_exp_SOURCES.
4406         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
4407         (Makefile.am): Add randomf.c to test_expf_SOURCES.
4408         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
4409         (Depends-on): Add 'float'.
4410         (Makefile.am): Add randoml.c to test_expl_SOURCES.
4411
4412         expl: Fix precision of computed result.
4413         * lib/expl.c: Completely rewritten.
4414         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
4415         (Maintainer): Add me.
4416         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
4417
4418 2012-03-05  Bruno Haible  <bruno@clisp.org>
4419
4420         cbrt* tests: More tests.
4421         * tests/test-cbrt.h: New file.
4422         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
4423         (main): Invoke test_function.
4424         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
4425         (main): Invoke test_function.
4426         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
4427         (main): Invoke test_function.
4428         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
4429         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
4430         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
4431         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
4432         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
4433         (Depends-on): Add 'float'.
4434         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
4435
4436 2012-03-05  Bruno Haible  <bruno@clisp.org>
4437
4438         hypot* tests: More tests.
4439         * tests/test-hypot.h: New file, partially extracted from
4440         tests/test-hypotl.c.
4441         * tests/test-hypot.c: Include test-hypot.h.
4442         (main): Invoke test_function.
4443         * tests/test-hypotf.c: Include test-hypot.h.
4444         (main): Invoke test_function.
4445         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
4446         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
4447         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
4448         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
4449         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
4450         tests/randomf.c.
4451         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
4452         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
4453         tests/randoml.c.
4454         (Depends-on): Add 'fpucw', 'float'.
4455         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
4456
4457 2012-03-05  Bruno Haible  <bruno@clisp.org>
4458
4459         fpucw: Doc about FreeBSD.
4460         * lib/fpucw.h: Mention FreeBSD in comments.
4461
4462 2012-03-04  Bruno Haible  <bruno@clisp.org>
4463
4464         sqrt* tests: More tests.
4465         * tests/test-sqrt.h: New file.
4466         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
4467         (main): Invoke test_function.
4468         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
4469         (main): Invoke test_function.
4470         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
4471         (main): Invoke test_function.
4472         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
4473         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
4474         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
4475         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
4476         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
4477         (Depends-on): Add 'float'.
4478         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
4479
4480 2012-03-04  Bruno Haible  <bruno@clisp.org>
4481
4482         remainder* tests: More tests.
4483         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
4484         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
4485         (main): Invoke test_function.
4486         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
4487         (main): Invoke test_function.
4488         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
4489         (main): Invoke test_function.
4490         * modules/remainder-tests (Files): Add tests/test-remainder.h,
4491         tests/randomd.c.
4492         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
4493         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
4494         tests/randomf.c.
4495         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
4496         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
4497         tests/randoml.c.
4498         (Depends-on): Add 'float'.
4499         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
4500
4501 2012-03-04  Bruno Haible  <bruno@clisp.org>
4502
4503         remainder, remainderf, remainderl: Fix computation for large quotients.
4504         * lib/remainder.c: Completely rewritten.
4505         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
4506         USE_FLOAT.
4507         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
4508         USE_LONG_DOUBLE.
4509         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
4510         isnand, isinf. Remove round, fma.
4511         * modules/remainderf (Files): Add lib/remainder.c.
4512         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
4513         Remove roundf, fmaf.
4514         * modules/remainderl (Files): Add lib/remainder.c.
4515         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
4516         isinf. Remove roundl, fmal.
4517         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
4518         REMAINDER_LIBM.
4519         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
4520         REMAINDERF_LIBM.
4521         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
4522         REMAINDERL_LIBM.
4523
4524 2012-03-04  Bruno Haible  <bruno@clisp.org>
4525
4526         fmod* tests: More tests.
4527         * tests/test-fmod.h (my_ldexp): New function.
4528         (test_function): Reduce amount of random numbers to test. Add tests
4529         of very large quotients x / y.
4530         * tests/test-fmod.c (MAX_EXP): New macro.
4531         * tests/test-fmodf.c (MAX_EXP): Likewise.
4532         * tests/test-fmodl.c (MAX_EXP): Likewise.
4533
4534 2012-03-04  Bruno Haible  <bruno@clisp.org>
4535
4536         fmod, fmodl: Fix computation for large quotients x / y.
4537         * lib/fmod.c: Completely rewritten.
4538         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
4539         USE_LONG_DOUBLE.
4540         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
4541         isnand. Remove fma.
4542         * modules/fmodl (Files): Add lib/fmod.c.
4543         (Depends-on): Add float, isfinite, signbit, fabsl,
4544         frexpl, ldexpl, isnanl. Remove fma.
4545         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
4546         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
4547
4548 2012-03-03  Bruno Haible  <bruno@clisp.org>
4549
4550         fmod* tests: More tests.
4551         * tests/test-fmod.h: New file.
4552         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
4553         (main): Invoke test_function.
4554         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
4555         (main): Invoke test_function.
4556         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
4557         (main): Invoke test_function.
4558         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
4559         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
4560         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
4561         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
4562         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
4563         (Depends-on): Add 'float'.
4564         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
4565
4566 2012-03-03  Bruno Haible  <bruno@clisp.org>
4567
4568         rint* tests: More tests.
4569         * tests/test-rint.h: New file, partially extracted from
4570         tests/test-rintl.c.
4571         * tests/test-rint.c: Include test-rint.h.
4572         (main): Invoke test_function.
4573         * tests/test-rintf.c: Include test-rint.h.
4574         (main): Invoke test_function.
4575         * tests/test-rintl.c: Include test-rint.h.
4576         (main): Invoke test_function.
4577         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
4578         (Makefile.am): Add randomd.c to test_rint_SOURCES.
4579         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
4580         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
4581         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
4582         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
4583
4584 2012-03-03  Bruno Haible  <bruno@clisp.org>
4585
4586         modf* tests: More tests.
4587         * tests/test-modf.h: New file.
4588         * tests/test-modf.c: Include <float.h> and test-modf.h.
4589         (main): Invoke test_function.
4590         * tests/test-modff.c: Include <float.h> and test-modf.h.
4591         (main): Invoke test_function.
4592         * tests/test-modfl.c: Include <float.h> and test-modf.h.
4593         (main): Invoke test_function.
4594         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
4595         (Makefile.am): Add randomd.c to test_modf_SOURCES.
4596         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
4597         (Makefile.am): Add randomf.c to test_modff_SOURCES.
4598         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
4599         (Depends-on): Add 'float'.
4600         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
4601
4602 2012-03-03  Bruno Haible  <bruno@clisp.org>
4603
4604         fabs* tests: More tests.
4605         * tests/test-fabs.h: New file, partially extracted from
4606         tests/test-fabsl.c.
4607         * tests/test-fabs.c (RANDOM): New macro.
4608         * tests/test-fabsf.c (RANDOM): New macro.
4609         * tests/test-fabsl.c (RANDOM): New macro.
4610         * modules/fabs-tests (Files): Add tests/randomd.c.
4611         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
4612         * modules/fabsf-tests (Files): Add tests/randomf.c.
4613         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
4614         * modules/fabsl-tests (Files): Add tests/randoml.c.
4615         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
4616
4617 2012-03-03  Bruno Haible  <bruno@clisp.org>
4618
4619         ldexp* tests: More tests.
4620         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
4621         * tests/test-ldexp.c (RANDOM): New macro.
4622         * tests/test-ldexpf.c (RANDOM): New macro.
4623         * tests/test-ldexpl.c (RANDOM): New macro.
4624         * modules/ldexp-tests (Files): Add tests/randomd.c.
4625         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
4626         * modules/ldexpf-tests (Files): Add tests/randomf.c.
4627         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
4628         * modules/ldexpl-tests (Files): Add tests/randoml.c.
4629         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
4630
4631 2012-03-03  Bruno Haible  <bruno@clisp.org>
4632
4633         frexp* tests: More tests.
4634         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
4635         * tests/test-frexp.c (RANDOM): New macro.
4636         * tests/test-frexpf.c (RANDOM): New macro.
4637         * tests/test-frexpl.c (RANDOM): New macro.
4638         * modules/frexp-tests (Files): Add tests/randomd.c.
4639         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
4640         * modules/frexpf-tests (Files): Add tests/randomf.c.
4641         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
4642         * modules/frexpl-tests (Files): Add tests/randoml.c.
4643         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
4644
4645 2012-03-03  Bruno Haible  <bruno@clisp.org>
4646
4647         Support for pseudo-random numbers in tests.
4648         * tests/randomf.c: New file.
4649         * tests/randomd.c: New file.
4650         * tests/randoml.c: New file.
4651         * tests/macros.h (randomf, randomd, randoml): New declarations.
4652
4653 2012-03-03  Bruno Haible  <bruno@clisp.org>
4654
4655         frexp* tests: Refactor.
4656         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
4657         * tests/test-frexp.c: Include and use it.
4658         * tests/test-frexpf.c: Likewise.
4659         * tests/test-frexpl.c: Likewise.
4660         * modules/frexp-tests (Files): Add tests/test-frexp.h.
4661         * modules/frexpf-tests (Files): Likewise.
4662         * modules/frexpl-tests (Files): Likewise.
4663
4664 2012-03-02  Jim Meyering  <meyering@redhat.com>
4665
4666         maint: don't specify XZ_OPT=-9ev in dist-related rule
4667         Using xz's -9 option is warranted only if you have a very large
4668         tarball (see xz's documentation for the sizes vs. presets), and
4669         requires 64MiB of memory at decompression time.
4670         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
4671         Automake's default of just "-e" is fine.  Override on a
4672         per-package basis by setting XZ_OPT e.g., in cfg.mk.
4673
4674 2012-03-01  Eric Blake  <eblake@redhat.com>
4675
4676         maint.mk: allow announcement for non-gnulib project
4677         * maint.mk (announcement): Skip gnulib version if not used.
4678
4679 2012-03-01  Jim Meyering  <meyering@redhat.com>
4680
4681         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
4682         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
4683         envvar settings cannot interfere.  Otherwise, setting envvars like
4684         prohibit=foo require=bar, etc. would cause spurious test failures.
4685
4686 2012-03-01  Eric Blake  <eblake@redhat.com>
4687
4688         maint.mk: add per-line exclusions to prohibitions
4689         * maint.mk (_sc_search_regexp): Add $exclude parameter.
4690         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
4691         (sc_const_long_option): Use it.
4692
4693 2012-03-01  Bruno Haible  <bruno@clisp.org>
4694
4695         Tests for module 'expl-ieee'.
4696         * modules/expl-ieee-tests: New file.
4697         * tests/test-expl-ieee.c: New file.
4698
4699         New module 'expl-ieee'.
4700         * modules/expl-ieee: New file.
4701
4702         Tests for module 'exp-ieee'.
4703         * modules/exp-ieee-tests: New file.
4704         * tests/test-exp-ieee.c: New file.
4705
4706         New module 'exp-ieee'.
4707         * modules/exp-ieee: New file.
4708
4709         Tests for module 'expf-ieee'.
4710         * modules/expf-ieee-tests: New file.
4711         * tests/test-expf-ieee.c: New file.
4712         * tests/test-exp-ieee.h: New file.
4713
4714         New module 'expf-ieee'.
4715         * modules/expf-ieee: New file.
4716
4717 2012-02-29  Bruno Haible  <bruno@clisp.org>
4718
4719         cbrtl-ieee: Work around test failure on IRIX 6.5.
4720         * m4/cbrtl-ieee.m4: New file.
4721         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
4722         test whether cbrtl works with a minus zero argument. Replace it if not.
4723         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
4724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
4725         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
4726         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
4727         (Depends-on): Update conditions.
4728         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
4729         m4/signbit.m4.
4730         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
4731         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
4732         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
4733
4734         Tests for module 'cbrtl-ieee'.
4735         * modules/cbrtl-ieee-tests: New file.
4736         * tests/test-cbrtl-ieee.c: New file.
4737
4738         New module 'cbrtl-ieee'.
4739         * modules/cbrtl-ieee: New file.
4740
4741         Tests for module 'cbrt-ieee'.
4742         * modules/cbrt-ieee-tests: New file.
4743         * tests/test-cbrt-ieee.c: New file.
4744
4745         New module 'cbrt-ieee'.
4746         * modules/cbrt-ieee: New file.
4747
4748         Tests for module 'cbrtf-ieee'.
4749         * modules/cbrtf-ieee-tests: New file.
4750         * tests/test-cbrtf-ieee.c: New file.
4751         * tests/test-cbrt-ieee.h: New file.
4752
4753         New module 'cbrtf-ieee'.
4754         * modules/cbrtf-ieee: New file.
4755
4756 2012-02-29  Bruno Haible  <bruno@clisp.org>
4757
4758         cbrtf: Work around bug in IRIX 6.5 system function.
4759         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
4760         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
4761         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
4762         work.
4763         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
4764         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
4765         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
4766         (Depends-on): Update conditions.
4767         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
4768
4769 2012-02-29  Bruno Haible  <bruno@clisp.org>
4770
4771         Tests for module 'cbrtl'.
4772         * modules/cbrtl-tests: New file.
4773         * tests/test-cbrtl.c: New file.
4774
4775         New module 'cbrtl'.
4776         * lib/math.in.h (cbrtl): New declaration.
4777         * lib/cbrtl.c: New file.
4778         * m4/cbrtl.m4: New file.
4779         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
4780         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
4781         HAVE_DECL_CBRTL.
4782         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
4783         HAVE_DECL_CBRTL.
4784         * modules/cbrtl: New file.
4785         * tests/test-math-c++.cc: Check the declaration of cbrtl.
4786         * doc/posix-functions/cbrtl.texi: Mention the new module.
4787
4788 2012-02-29  Bruno Haible  <bruno@clisp.org>
4789
4790         Tests for module 'cbrtf'.
4791         * modules/cbrtf-tests: New file.
4792         * tests/test-cbrtf.c: New file.
4793
4794         New module 'cbrtf'.
4795         * lib/math.in.h (cbrtf): New declaration.
4796         * lib/cbrtf.c: New file.
4797         * m4/cbrtf.m4: New file.
4798         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
4799         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
4800         HAVE_DECL_CBRTF.
4801         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
4802         HAVE_DECL_CBRTF.
4803         * modules/cbrtf: New file.
4804         * tests/test-math-c++.cc: Check the declaration of cbrtf.
4805         * doc/posix-functions/cbrtf.texi: Mention the new module.
4806
4807 2012-02-29  Bruno Haible  <bruno@clisp.org>
4808
4809         cbrt: Provide replacement on MSVC and Minix.
4810         * lib/math.in.h (cbrt): New declaration.
4811         * lib/cbrt.c: New file.
4812         * m4/cbrt.m4: New file.
4813         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
4814         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
4815         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
4816         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
4817         (Depends-on): Add dependencies.
4818         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
4819         * tests/test-math-c++.cc: Check the declaration of cbrt.
4820         * doc/posix-functions/cbrt.texi: Mention that the module provides a
4821         replacement.
4822
4823 2012-02-29  Bruno Haible  <bruno@clisp.org>
4824
4825         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
4826         * m4/hypotl-ieee.m4: New file.
4827         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
4828         test whether hypotl works with mixed NaN and Infinity arguments.
4829         Replace it if not.
4830         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
4831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
4832         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
4833         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
4834         (Depends-on): Update conditions.
4835         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
4836         (Depends-on): Add hypot-ieee.
4837         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
4838         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
4839
4840         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
4841         * m4/hypotf-ieee.m4: New file.
4842         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
4843         test whether hypotf works with mixed NaN and Infinity arguments.
4844         Replace it if not.
4845         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
4846         (Depends-on): Add hypot-ieee.
4847         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
4848         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
4849
4850         hypot-ieee: Work around test failure on OSF/1 and native Windows.
4851         * lib/math.in.h (hypot): New declaration.
4852         * lib/hypot.c: New file.
4853         * m4/hypot-ieee.m4: New file.
4854         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
4855         whether hypot works with mixed NaN and Infinity arguments. Replace it
4856         if not.
4857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
4858         REPLACE_HYPOT.
4859         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
4860         * modules/hypot (Files): Add lib/hypot.c.
4861         (Depends-on): Add dependencies.
4862         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
4863         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
4864         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
4865         * tests/test-math-c++.cc: Check the declaration of hypot.
4866         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
4867
4868         Tests for module 'hypotl-ieee'.
4869         * modules/hypotl-ieee-tests: New file.
4870         * tests/test-hypotl-ieee.c: New file.
4871
4872         New module 'hypotl-ieee'.
4873         * modules/hypotl-ieee: New file.
4874
4875         Tests for module 'hypot-ieee'.
4876         * modules/hypot-ieee-tests: New file.
4877         * tests/test-hypot-ieee.c: New file.
4878
4879         New module 'hypot-ieee'.
4880         * modules/hypot-ieee: New file.
4881
4882         Tests for module 'hypotf-ieee'.
4883         * modules/hypotf-ieee-tests: New file.
4884         * tests/test-hypotf-ieee.c: New file.
4885         * tests/test-hypot-ieee.h: New file.
4886
4887         New module 'hypotf-ieee'.
4888         * modules/hypotf-ieee: New file.
4889
4890 2012-02-29  Bruno Haible  <bruno@clisp.org>
4891
4892         Remove unused variables.
4893         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
4894         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4895         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4896         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4897
4898 2012-02-29  Eric Blake  <eblake@redhat.com>
4899
4900         termios: fix pid_t always, not just for tcgetsid
4901         * doc/posix-headers/termios.texi (termios.h): Mention problem.
4902         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
4903         just when building tcgetsid.
4904
4905 2012-02-29  Bruno Haible  <bruno@clisp.org>
4906
4907         Tests for module 'hypotl'.
4908         * modules/hypotl-tests: New file.
4909         * tests/test-hypotl.c: New file.
4910
4911         New module 'hypotl'.
4912         * lib/math.in.h (hypotl): New declaration.
4913         * lib/hypotl.c: New file.
4914         * m4/hypotl.m4: New file.
4915         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4916         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
4917         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
4918         * modules/hypotl: New file.
4919         * tests/test-math-c++.cc: Check the hypotl declaration.
4920         * doc/posix-functions/hypotl.texi: Mention the new module.
4921
4922 2012-02-29  Eric Blake  <eblake@redhat.com>
4923
4924         tcgetsid: fix cygwin header bug
4925         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
4926
4927         docs: update cygwin progress
4928         * doc/posix-functions/llround.texi (llround): Added in cygwin
4929         1.7.8.
4930         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
4931         * doc/glibc-functions/program_invocation_name.texi
4932         (program_invocation_name): Likewise.
4933         * doc/glibc-functions/program_invocation_short_name.texi
4934         (program_invocation_short_name): Likewise.
4935         * doc/glibc-functions/madvise.texi (madvise): Likewise.
4936         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
4937         Likewise.
4938         * doc/posix-functions/pthread_spin_destroy.texi
4939         (pthread_spin_destroy): Added in cygwin 1.7.10.
4940         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
4941         Likewise.
4942         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4943         Likewise.
4944         * doc/posix-functions/pthread_spin_trylock.texi
4945         (pthread_spin_trylock): Likewise.
4946         * doc/posix-functions/pthread_spin_unlock.texi
4947         (pthread_spin_unlock): Likewise.
4948         * doc/posix-functions/pthread_setschedprio.texi
4949         (pthread_setschedprio): Likewise.
4950         * doc/posix-functions/pthread_attr_getstack.texi
4951         (pthread_attr_getstack): Likewise.
4952         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4953         (pthread_attr_getstackaddr): Likewise.
4954         * doc/glibc-functions/pthread_getattr_np.texi
4955         (pthread_getattr_np): Likewise.
4956         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4957         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4958         * doc/posix-functions/clock_settime.texi (clock_settime):
4959         Likewise.
4960         * doc/posix-functions/pthread_attr_getguardsize.texi
4961         (pthread_attr_getguardsize): Likewise.
4962         * doc/posix-functions/pthread_attr_setguardsize.texi
4963         (pthread_attr_setguardsize): Likewise.
4964         * doc/posix-functions/pthread_attr_setstack.texi
4965         (pthread_attr_setstack): Likewise.
4966         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4967         (pthread_attr_setstackaddr): Likewise.
4968         * doc/posix-functions/clock_getcpuclockid.texi
4969         (clock_getcpuclockid): Likewise.
4970         * doc/posix-functions/pthread_getcpuclockid.texi
4971         (pthread_getcpuclockid): Likewise.
4972         * doc/glibc-functions/error.texi (error): Likewise.
4973         * doc/glibc-functions/error_at_line.texi (error_at_line):
4974         Likewise.
4975         * doc/glibc-functions/error_message_count.texi
4976         (error_message_count): Likewise.
4977         * doc/glibc-functions/error_one_per_line.texi
4978         (error_one_per_line): Likewise.
4979         * doc/glibc-functions/error_print_progname.texi
4980         (error_print_progname): Likewise.
4981         * doc/posix-functions/pthread_condattr_getclock.texi
4982         (pthread_condattr_getclock): Likewise.
4983         * doc/posix-functions/pthread_condattr_setclock.texi
4984         (pthread_condattr_setclock): Likewise.
4985         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4986         Likewise.
4987         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4988         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4989         * doc/glibc-functions/get_current_dir_name.texi
4990         (get_current_dir_name): Likewise.
4991         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4992         Likewise.
4993         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4994         wrong return type.
4995         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4996         1.7.11.
4997
4998 2012-02-29  Bruno Haible  <bruno@clisp.org>
4999
5000         Tests for module 'hypotf'.
5001         * modules/hypotf-tests: New file.
5002         * tests/test-hypotf.c: New file.
5003
5004         New module 'hypotf'.
5005         * lib/math.in.h (hypotf): New declaration.
5006         * lib/hypotf.c: New file.
5007         * m4/hypotf.m4: New file.
5008         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
5009         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
5010         REPLACE_HYPOTF.
5011         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
5012         REPLACE_HYPOTF.
5013         * modules/hypotf: New file.
5014         * tests/test-math-c++.cc: Check the hypotf declaration.
5015         * doc/posix-functions/hypotf.texi: Mention the new module.
5016
5017         hypot: Prepare for hypotf module.
5018         * m4/hypot.m4: New file.
5019         * modules/hypot (Files): Add m4/hypot.m4.
5020         (configure.ac): Invoke gl_FUNC_HYPOT.
5021
5022 2012-02-29  Bruno Haible  <bruno@clisp.org>
5023
5024         hypot tests: More tests.
5025         * tests/test-hypot.c: Include <float.h>.
5026         (main): Add tests about overflow and underflow.
5027
5028 2012-02-29  Bruno Haible  <bruno@clisp.org>
5029
5030         math code: Add comments.
5031         * lib/acosl.c: Add comment about related glibc source files.
5032         * lib/asinl.c: Likewise.
5033         * lib/atanl.c: Likewise.
5034         * lib/expl.c: Likewise.
5035         * lib/logl.c: Likewise.
5036         * lib/sincosl.c: Likewise.
5037         * lib/sinl.c: Likewise.
5038         * lib/tanl.c: Likewise.
5039         * lib/trigl.c: Likewise.
5040         * lib/cosl.c: Likewise. Fix comments.
5041
5042 2012-02-28  Bruno Haible  <bruno@clisp.org>
5043
5044         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
5045         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
5046         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
5047         HUGE_VALL are defined.
5048         (numeric_equald): Renamed from numeric_equal.
5049         (numeric_equalf, numeric_equall): New functions.
5050         (main): Check also HUGE_VALF, HUGE_VALL.
5051         * modules/math-tests (Files): Add tests/macros.h.
5052         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
5053         HUGE_VALL.
5054
5055 2012-02-28  Bruno Haible  <bruno@clisp.org>
5056
5057         doc: Move ISO C11 feature notes into POSIX chapters.
5058         * doc/posix-functions/aligned_alloc.texi: Renamed from
5059         doc/glibc-functions/aligned_alloc.texi.
5060         * doc/posix-functions/quick_exit.texi: Renamed from
5061         doc/glibc-functions/quick_exit.texi.
5062         * doc/posix-headers/uchar.texi: Renamed from
5063         doc/glibc-headers/uchar.texi.
5064         * doc/posix-functions/c16rtomb.texi: Renamed from
5065         doc/glibc-functions/c16rtomb.texi.
5066         * doc/posix-functions/c32rtomb.texi: Renamed from
5067         doc/glibc-functions/c32rtomb.texi.
5068         * doc/posix-functions/mbrtoc16.texi: Renamed from
5069         doc/glibc-functions/mbrtoc16.texi.
5070         * doc/posix-functions/mbrtoc32.texi: Renamed from
5071         doc/glibc-functions/mbrtoc32.texi.
5072         * doc/gnulib.texi: Update.
5073         (Glibc uchar.h): Remove section.
5074         Suggested by Eric Blake.
5075
5076 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
5077
5078         stdnoreturn: port to MSVC better
5079         MSVC standard headers use __declspec(noreturn), so #define noreturn
5080         to empty on that platform.  Reported by Bruno Haible in
5081         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
5082         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
5083         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
5084
5085 2012-02-28  Bruno Haible  <bruno@clisp.org>
5086
5087         doc: Mention new glibc headers and functions.
5088         * doc/glibc-headers/uchar.texi: New file.
5089         * doc/glibc-functions/aligned_alloc.texi: New file.
5090         * doc/glibc-functions/c16rtomb.texi: New file.
5091         * doc/glibc-functions/c32rtomb.texi: New file.
5092         * doc/glibc-functions/clock_adjtime.texi: New file.
5093         * doc/glibc-functions/fanotify_init.texi: New file.
5094         * doc/glibc-functions/fanotify_mark.texi: New file.
5095         * doc/glibc-functions/inet6_opt_append.texi: New file.
5096         * doc/glibc-functions/inet6_opt_find.texi: New file.
5097         * doc/glibc-functions/inet6_opt_finish.texi: New file.
5098         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
5099         * doc/glibc-functions/inet6_opt_init.texi: New file.
5100         * doc/glibc-functions/inet6_opt_next.texi: New file.
5101         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
5102         * doc/glibc-functions/inet6_rth_add.texi: New file.
5103         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
5104         * doc/glibc-functions/inet6_rth_init.texi: New file.
5105         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
5106         * doc/glibc-functions/inet6_rth_segments.texi: New file.
5107         * doc/glibc-functions/inet6_rth_space.texi: New file.
5108         * doc/glibc-functions/login.texi: New file.
5109         * doc/glibc-functions/mbrtoc16.texi: New file.
5110         * doc/glibc-functions/mbrtoc32.texi: New file.
5111         * doc/glibc-functions/name_to_handle_at.texi: New file.
5112         * doc/glibc-functions/ntp_gettimex.texi: New file.
5113         * doc/glibc-functions/open_by_handle_at.texi: New file.
5114         * doc/glibc-functions/prlimit.texi: New file.
5115         * doc/glibc-functions/process_vm_readv.texi: New file.
5116         * doc/glibc-functions/process_vm_writev.texi: New file.
5117         * doc/glibc-functions/recvmmsg.texi: New file.
5118         * doc/glibc-functions/scandirat.texi: New file.
5119         * doc/glibc-functions/sendmmsg.texi: New file.
5120         * doc/glibc-functions/setns.texi: New file.
5121         * doc/glibc-functions/timespec_get.texi: New file.
5122         * doc/gnulib.texi: Include them.
5123         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
5124         sections.
5125         Reported by Eric Blake.
5126
5127 2012-02-28  Bruno Haible  <bruno@clisp.org>
5128
5129         Avoid compilation errors with MSVC option -fp:strict.
5130         * lib/floor.c: Use MSVC specific pragma fenv_access.
5131         * lib/ceil.c: Likewise.
5132         * lib/trunc.c: Likewise.
5133         * lib/round.c: Likewise.
5134         * lib/rint.c: Likewise.
5135         * lib/fma.c: Likewise.
5136         * lib/integer_length.c: Likewise.
5137         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5138         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5139         * tests/test-floor2.c: Likewise.
5140         * tests/test-floorf2.c: Likewise.
5141         * tests/test-ceil2.c: Likewise.
5142         * tests/test-ceilf2.c: Likewise.
5143         * tests/test-trunc2.c: Likewise.
5144         * tests/test-truncf2.c: Likewise.
5145         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5146
5147 2012-02-27  Bruno Haible  <bruno@clisp.org>
5148
5149         Tests for module 'sqrtl-ieee'.
5150         * modules/sqrtl-ieee-tests: New file.
5151         * tests/test-sqrtl-ieee.c: New file.
5152
5153         New module 'sqrtl-ieee'.
5154         * modules/sqrtl-ieee: New file.
5155
5156         Tests for module 'sqrt-ieee'.
5157         * modules/sqrt-ieee-tests: New file.
5158         * tests/test-sqrt-ieee.c: New file.
5159
5160         New module 'sqrt-ieee'.
5161         * modules/sqrt-ieee: New file.
5162
5163         Tests for module 'sqrtf-ieee'.
5164         * modules/sqrtf-ieee-tests: New file.
5165         * tests/test-sqrtf-ieee.c: New file.
5166         * tests/test-sqrt-ieee.h: New file.
5167
5168         New module 'sqrtf-ieee'.
5169         * modules/sqrtf-ieee: New file.
5170
5171 2012-02-27  Bruno Haible  <bruno@clisp.org>
5172
5173         remainderl-ieee: Work around test failure on OSF/1.
5174         * m4/remainderl-ieee.m4: New file.
5175         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
5176         present, test whether remainderl works with a zero second argument.
5177         Replace it if not.
5178         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
5179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
5180         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
5181         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
5182         (Depends-on): Update conditions.
5183         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
5184         (Depends-on): Add remainder-ieee.
5185         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
5186         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
5187         module.
5188
5189         remainderf-ieee: Work around test failure on OSF/1.
5190         * m4/remainderf-ieee.m4: New file.
5191         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
5192         present, test whether remainderf works with a zero second argument.
5193         Replace it if not.
5194         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
5195         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
5196         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
5197         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
5198         (Depends-on): Update conditions.
5199         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
5200         (Depends-on): Add remainder-ieee.
5201         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
5202         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
5203         module.
5204
5205         remainder-ieee: Work around test failure on OSF/1.
5206         * m4/remainder-ieee.m4: New file.
5207         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
5208         present, test whether remainder works with a zero second argument.
5209         Replace it if not.
5210         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
5211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
5212         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
5213         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
5214         (Depends-on): Update dependencies.
5215         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
5216         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
5217         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
5218
5219         Tests for module 'remainderl-ieee'.
5220         * modules/remainderl-ieee-tests: New file.
5221         * tests/test-remainderl-ieee.c: New file.
5222
5223         New module 'remainderl-ieee'.
5224         * modules/remainderl-ieee: New file.
5225
5226         Tests for module 'remainder-ieee'.
5227         * modules/remainder-ieee-tests: New file.
5228         * tests/test-remainder-ieee.c: New file.
5229
5230         New module 'remainder-ieee'.
5231         * modules/remainder-ieee: New file.
5232
5233         Tests for module 'remainderf-ieee'.
5234         * modules/remainderf-ieee-tests: New file.
5235         * tests/test-remainderf-ieee.c: New file.
5236         * tests/test-remainder-ieee.h: New file.
5237
5238         New module 'remainderf-ieee'.
5239         * modules/remainderf-ieee: New file.
5240
5241 2012-02-27  Bruno Haible  <bruno@clisp.org>
5242
5243         modff, modfl: Fix configure syntax error.
5244         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
5245         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5246
5247 2012-02-27  Bruno Haible  <bruno@clisp.org>
5248
5249         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
5250         * m4/fmodl-ieee.m4: New file.
5251         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
5252         whether fmodl works with zero arguments. Replace it if not.
5253         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
5254         (Depends-on): Add fmod-ieee.
5255         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
5256         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
5257
5258         fmodf-ieee: Work around test failure on OSF/1.
5259         * m4/fmodf-ieee.m4: New file.
5260         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
5261         whether fmodf works with zero arguments. Replace it if not.
5262         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
5263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
5264         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
5265         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
5266         (Depends-on): Update dependencies.
5267         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
5268         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
5269         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
5270
5271         fmodf-ieee: Work around test failure on MSVC 9.
5272         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
5273         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
5274
5275         fmod-ieee: Work around test failures on OSF/1, mingw.
5276         * m4/fmod-ieee.m4: New file.
5277         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
5278         whether fmod works with zero arguments. Replace it if not.
5279         * lib/math.in.h (fmod): New declaration.
5280         * lib/fmod.c: New file.
5281         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
5282         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
5283         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
5284         * modules/fmod (Files): Add lib/fmod.c.
5285         (Depends-on): Add math, isinf, trunc, fma.
5286         (configure.ac): Arrange to compile lib/fmod.c if needed.
5287         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
5288         m4/signbit.m4.
5289         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
5290         * tests/test-math-c++.cc: Check the declaration of fmod.
5291         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
5292
5293         fmodl-ieee: Fix test failures.
5294         * lib/fmodl.c (fmodl): Treat Inf specially.
5295         * modules/fmodl (Depends-on): Add isinf.
5296
5297         Tests for module 'fmodl-ieee'.
5298         * modules/fmodl-ieee-tests: New file.
5299         * tests/test-fmodl-ieee.c: New file.
5300
5301         New module 'fmodl-ieee'.
5302         * modules/fmodl-ieee: New file.
5303
5304         Tests for module 'fmod-ieee'.
5305         * modules/fmod-ieee-tests: New file.
5306         * tests/test-fmod-ieee.c: New file.
5307
5308         New module 'fmod-ieee'.
5309         * modules/fmod-ieee: New file.
5310
5311         Tests for module 'fmodf-ieee'.
5312         * modules/fmodf-ieee-tests: New file.
5313         * tests/test-fmodf-ieee.c: New file.
5314         * tests/test-fmod-ieee.h: New file.
5315
5316         New module 'fmodf-ieee'.
5317         * modules/fmodf-ieee: New file.
5318
5319 2012-02-27  Bruno Haible  <bruno@clisp.org>
5320
5321         Tests for module 'rintl-ieee'.
5322         * modules/rintl-ieee-tests: New file.
5323         * tests/test-rintl-ieee.c: New file.
5324
5325         New module 'rintl-ieee'.
5326         * modules/rintl-ieee: New file.
5327
5328         Tests for module 'rint-ieee'.
5329         * modules/rint-ieee-tests: New file.
5330         * tests/test-rint-ieee.c: New file.
5331
5332         New module 'rint-ieee'.
5333         * modules/rint-ieee: New file.
5334
5335         Tests for module 'rintf-ieee'.
5336         * modules/rintf-ieee-tests: New file.
5337         * tests/test-rintf-ieee.c: New file.
5338         * tests/test-rint-ieee.h: New file.
5339
5340         New module 'rintf-ieee'.
5341         * modules/rintf-ieee: New file.
5342
5343 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
5344
5345         regex: re_search etc. should return -2 when memory exhausted
5346         This bug was uncovered when testing 'grep'.  Without the fix,
5347         re_search and friends return -1 when memory is exhausted, but -1
5348         means no match, and this causes grep to falsely report no-match
5349         instead of memory-exhaustion.  See
5350         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
5351         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
5352         trouble; this can occur if re_search_internal ran out of memory.
5353
5354 2012-02-26  Bruno Haible  <bruno@clisp.org>
5355
5356         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
5357         * m4/modfl-ieee.m4: New file.
5358         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
5359         whether modfl works with Inf. Replace it if not.
5360         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
5361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
5362         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
5363         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
5364         (Depends-on): Update dependencies.
5365         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
5366         m4/signbit.m4.
5367         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
5368         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
5369
5370         modfl-ieee: Fix dependencies.
5371         * modules/modfl-ieee (Depends-on): Add modf-ieee.
5372
5373         modfl-ieee: Fix test failures.
5374         * lib/modfl.c (modfl): Treat NaN and Inf specially.
5375         * modules/modfl (Depends-on): Add isfinite, isinf.
5376
5377         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
5378         * m4/modff-ieee.m4: New file.
5379         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
5380         whether modff works with NaN and Inf. Replace it if not.
5381         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
5382         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
5383         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
5384         * modules/modff (configure.ac): Consider REPLACE_MODFF.
5385         (Depends-on): Update dependencies.
5386         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
5387         m4/signbit.m4.
5388         (Depends-on): Add modf-ieee.
5389         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
5390         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
5391
5392         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
5393         * m4/modf-ieee.m4: New file.
5394         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
5395         whether modf works with NaN and Inf. Replace it if not.
5396         * lib/math.in.h (modf): New declaration.
5397         * lib/modf.c: New file.
5398         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
5399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
5400         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
5401         * modules/modf (Files): Add lib/modf.c.
5402         (Depends-on): Add math, isfinite, trunc, isinf.
5403         (configure.ac): Addrange to compile lib/modf.c if needed.
5404         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
5405         m4/signbit.m4.
5406         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
5407         * tests/test-math-c++.cc: Check the declaration of modf.
5408         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
5409
5410         Tests for module 'modfl-ieee'.
5411         * modules/modfl-ieee-tests: New file.
5412         * tests/test-modfl-ieee.c: New file.
5413
5414         New module 'modfl-ieee'.
5415         * modules/modfl-ieee: New file.
5416
5417         Tests for module 'modf-ieee'.
5418         * modules/modf-ieee-tests: New file.
5419         * tests/test-modf-ieee.c: New file.
5420
5421         New module 'modf-ieee'.
5422         * modules/modf-ieee: New file.
5423
5424         Tests for module 'modff-ieee'.
5425         * modules/modff-ieee-tests: New file.
5426         * tests/test-modff-ieee.c: New file.
5427         * tests/test-modf-ieee.h: New file.
5428
5429         New module 'modff-ieee'.
5430         * modules/modff-ieee: New file.
5431
5432 2012-02-26  Bruno Haible  <bruno@clisp.org>
5433
5434         Tests for module 'fabsl-ieee'.
5435         * modules/fabsl-ieee-tests: New file.
5436         * tests/test-fabsl-ieee.c: New file.
5437
5438         New module 'fabsl-ieee'.
5439         * modules/fabsl-ieee: New file.
5440
5441         Tests for module 'fabs-ieee'.
5442         * modules/fabs-ieee-tests: New file.
5443         * tests/test-fabs-ieee.c: New file.
5444
5445         New module 'fabs-ieee'.
5446         * modules/fabs-ieee: New file.
5447
5448         Tests for module 'fabsf-ieee'.
5449         * modules/fabsf-ieee-tests: New file.
5450         * tests/test-fabsf-ieee.c: New file.
5451         * tests/test-fabs-ieee.h: New file.
5452
5453         New module 'fabsf-ieee'.
5454         * modules/fabsf-ieee: New file.
5455
5456 2012-02-26  Bruno Haible  <bruno@clisp.org>
5457
5458         Tests for module 'fmal-ieee'.
5459         * modules/fmal-ieee-tests: New file.
5460         * tests/test-fmal-ieee.c: New file.
5461
5462         New module 'fmal-ieee'.
5463         * modules/fmal-ieee: New file.
5464
5465         Tests for module 'fma-ieee'.
5466         * modules/fma-ieee-tests: New file.
5467         * tests/test-fma-ieee.c: New file.
5468
5469         New module 'fma-ieee'.
5470         * modules/fma-ieee: New file.
5471
5472         Tests for module 'fmaf-ieee'.
5473         * modules/fmaf-ieee-tests: New file.
5474         * tests/test-fmaf-ieee.c: New file.
5475         * tests/test-fma-ieee.h: New file.
5476
5477         New module 'fmaf-ieee'.
5478         * modules/fmaf-ieee: New file.
5479
5480 2012-02-26  Bruno Haible  <bruno@clisp.org>
5481
5482         Tests for module 'ldexpl-ieee'.
5483         * modules/ldexpl-ieee-tests: New file.
5484         * tests/test-ldexpl-ieee.c: New file.
5485
5486         New module 'ldexpl-ieee'.
5487         * modules/ldexpl-ieee: New file.
5488
5489         Tests for module 'ldexp-ieee'.
5490         * modules/ldexp-ieee-tests: New file.
5491         * tests/test-ldexp-ieee.c: New file.
5492
5493         New module 'ldexp-ieee'.
5494         * modules/ldexp-ieee: New file.
5495
5496         Tests for module 'ldexpf-ieee'.
5497         * modules/ldexpf-ieee-tests: New file.
5498         * tests/test-ldexpf-ieee.c: New file.
5499         * tests/test-ldexp-ieee.h: New file.
5500
5501         New module 'ldexpf-ieee'.
5502         * modules/ldexpf-ieee: New file.
5503
5504 2012-02-26  Bruno Haible  <bruno@clisp.org>
5505
5506         Refactor frexp*-ieee tests.
5507         * tests/test-frexp-ieee.h: New file.
5508         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
5509         (main): Just call test_function.
5510         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
5511         (main): Just call test_function.
5512         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
5513         (main): Just call test_function.
5514         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
5515         * modules/frexp-ieee-tests (Files): Likewise.
5516         * modules/frexpl-ieee-tests (Files): Likewise.
5517
5518         Tests for module 'frexpl-ieee'.
5519         * modules/frexpl-ieee-tests: New file.
5520         * tests/test-frexpl-ieee.c: New file.
5521
5522         New module 'frexpl-ieee'.
5523         * modules/frexpl-ieee: New file.
5524
5525         Tests for module 'frexp-ieee'.
5526         * modules/frexp-ieee-tests: New file.
5527         * tests/test-frexp-ieee.c: New file.
5528
5529         New module 'frexp-ieee'.
5530         * modules/frexp-ieee: New file.
5531
5532         Tests for module 'frexpf-ieee'.
5533         * modules/frexpf-ieee-tests: New file.
5534         * tests/test-frexpf-ieee.c: New file.
5535
5536         New module 'frexpf-ieee'.
5537         * modules/frexpf-ieee: New file.
5538
5539 2012-02-26  Bruno Haible  <bruno@clisp.org>
5540
5541         roundl-ieee tests: More tests.
5542         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5543         (main): Add tests for [MX] shaded specification in POSIX.
5544         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5545         (Depends-on): Add isnanl-nolibm.
5546
5547         round-ieee tests: More tests.
5548         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5549         (main): Add tests for [MX] shaded specification in POSIX.
5550         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5551         (Depends-on): Add isnand-nolibm.
5552
5553         roundf-ieee tests: More tests.
5554         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5555         (main): Add tests for [MX] shaded specification in POSIX.
5556         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5557         (Depends-on): Add isnanf-nolibm.
5558
5559         truncl-ieee tests: More tests.
5560         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5561         (main): Add tests for [MX] shaded specification in POSIX.
5562         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5563         (Depends-on): Add isnanl-nolibm.
5564
5565         trunc-ieee tests: More tests.
5566         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5567         (main): Add tests for [MX] shaded specification in POSIX.
5568         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5569         (Depends-on): Add isnand-nolibm.
5570
5571         truncf-ieee tests: More tests.
5572         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5573         (main): Add tests for [MX] shaded specification in POSIX.
5574         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5575         (Depends-on): Add isnanf-nolibm.
5576
5577         ceill-ieee tests: More tests.
5578         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5579         (main): Add tests for [MX] shaded specification in POSIX.
5580         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5581         (Depends-on): Add isnanl-nolibm.
5582
5583         ceil-ieee tests: More tests.
5584         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5585         (main): Add tests for [MX] shaded specification in POSIX.
5586         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5587         (Depends-on): Add isnand-nolibm.
5588
5589         ceilf-ieee tests: More tests.
5590         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5591         (main): Add tests for [MX] shaded specification in POSIX.
5592         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5593         (Depends-on): Add isnanf-nolibm.
5594
5595         floorl-ieee tests: More tests.
5596         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5597         (main): Add tests for [MX] shaded specification in POSIX.
5598         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5599         (Depends-on): Add isnanl-nolibm.
5600
5601         floor-ieee tests: More tests.
5602         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5603         (main): Add tests for [MX] shaded specification in POSIX.
5604         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5605         (Depends-on): Add isnand-nolibm.
5606
5607         floorf-ieee tests: More tests.
5608         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5609         (main): Add tests for [MX] shaded specification in POSIX.
5610         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5611         (Depends-on): Add isnanf-nolibm.
5612
5613 2012-02-26  Bruno Haible  <bruno@clisp.org>
5614
5615         fpieee: More comments.
5616         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
5617
5618 2012-02-25  Bruno Haible  <bruno@clisp.org>
5619
5620         Tests for module 'log10l'.
5621         * modules/log10l-tests: New file.
5622         * tests/test-log10l.c: New file.
5623         * tests/test-math-c++.cc: Check the declaration of log10l.
5624
5625         New module 'log10l'.
5626         * lib/math.in.h (log10l): New declaration.
5627         * lib/log10l.c: New file.
5628         * m4/log10l.m4: New file.
5629         * modules/log10l: New file.
5630         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
5631         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
5632         HAVE_DECL_LOG10L.
5633         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
5634         HAVE_DECL_LOG10L.
5635         * doc/posix-functions/log10l.texi: Mention the new module.
5636
5637 2012-02-25  Bruno Haible  <bruno@clisp.org>
5638
5639         fmodl, remainder*: Avoid wrong results due to rounding errors.
5640         * lib/fmodl.c (fmodl): Correct the result if it is not within the
5641         expected bounds.
5642         * lib/remainderf.c (remainderf): Likewise.
5643         * lib/remainder.c (remainder): Likewise.
5644         * lib/remainderl.c (remainderl): Likewise.
5645
5646 2012-02-25  Bruno Haible  <bruno@clisp.org>
5647
5648         Tests for module 'remainderl'.
5649         * modules/remainderl-tests: New file.
5650         * tests/test-remainderl.c: New file.
5651         * tests/test-math-c++.cc: Check the declaration of remainderl.
5652
5653         New module 'remainderl'.
5654         * lib/math.in.h (remainderl): New declaration.
5655         * lib/remainderl.c: New file.
5656         * m4/remainderl.m4: New file.
5657         * modules/remainderl: New file.
5658         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
5659         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
5660         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
5661         HAVE_REMAINDERL.
5662         * doc/posix-functions/remainderl.texi: Mention the new module.
5663
5664 2012-02-25  Bruno Haible  <bruno@clisp.org>
5665
5666         Tests for module 'remainderf'.
5667         * modules/remainderf-tests: New file.
5668         * tests/test-remainderf.c: New file.
5669         * tests/test-math-c++.cc: Check the declaration of remainderf.
5670
5671         New module 'remainderf'.
5672         * lib/math.in.h (remainderf): New declaration.
5673         * lib/remainderf.c: New file.
5674         * m4/remainderf.m4: New file.
5675         * modules/remainderf: New file.
5676         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
5677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
5678         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
5679         HAVE_REMAINDERF.
5680         * doc/posix-functions/remainderf.texi: Mention the new module.
5681
5682 2012-02-25  Bruno Haible  <bruno@clisp.org>
5683
5684         remainder: Support for MSVC.
5685         * lib/math.in.h (remainder): New declaration.
5686         * lib/remainder.c: New file.
5687         * m4/remainder.m4: New file.
5688         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
5689         (Depends-on): Add math, round, fma.
5690         (configure.ac): Use results of gl_FUNC_REMAINDER.
5691         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
5692         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
5693         HAVE_DECL_REMAINDER.
5694         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
5695         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
5696         * tests/test-math-c++.cc: Check the declaration of remainder.
5697         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
5698         problems are fixed.
5699
5700 2012-02-25  Bruno Haible  <bruno@clisp.org>
5701
5702         Tests for module 'fmodl'.
5703         * modules/fmodl-tests: New file.
5704         * tests/test-fmodl.c: New file.
5705         * tests/test-math-c++.cc: Check the declaration of fmodl.
5706
5707         New module 'fmodl'.
5708         * lib/math.in.h (fmodl): New declaration.
5709         * lib/fmodl.c: New file.
5710         * m4/fmodl.m4: New file.
5711         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
5712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
5713         REPLACE_FMODL.
5714         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
5715         REPLACE_FMODL.
5716         * modules/fmodl: New file.
5717         * doc/posix-functions/fmodl.texi: Mention the new module.
5718
5719 2012-02-25  Bruno Haible  <bruno@clisp.org>
5720
5721         Tests for module 'modfl'.
5722         * modules/modfl-tests: New file.
5723         * tests/test-modfl.c: New file.
5724         * tests/test-math-c++.cc: Check the declaration of modfl.
5725
5726         New module 'modfl'.
5727         * lib/math.in.h (modfl): New declaration.
5728         * lib/modfl.c: New file.
5729         * m4/modfl.m4: New file.
5730         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
5731         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
5732         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
5733         * modules/modfl: New file.
5734         * doc/posix-functions/modfl.texi: Mention the new module.
5735
5736 2012-02-25  Bruno Haible  <bruno@clisp.org>
5737
5738         Tests for module 'fabsl'.
5739         * modules/fabsl-tests: New file.
5740         * tests/test-fabsl.c: New file.
5741         * tests/test-math-c++.cc: Check the declaration of fabsl.
5742
5743         New module 'fabsl'.
5744         * lib/math.in.h (fabsl): New declaration.
5745         * lib/fabsl.c: New file.
5746         * m4/fabsl.m4: New file.
5747         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
5748         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
5749         REPLACE_FABSL.
5750         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
5751         REPLACE_FABSL.
5752         * modules/fabsl: New file.
5753         * doc/posix-functions/fabsl.texi: Mention the new module.
5754
5755 2012-02-25  Bruno Haible  <bruno@clisp.org>
5756
5757         fabs tests: More tests.
5758         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5759         (zero): New variable.
5760         (main): Add tests for signed zero.
5761         * modules/fabs-tests (Files): Add tests/minus-zero.h.
5762
5763         fabsf tests: More tests.
5764         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
5765         (zero): New variable.
5766         (main): Add tests for signed zero.
5767         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
5768
5769 2012-02-24  Bruno Haible  <bruno@clisp.org>
5770
5771         atanl: Provide function definition on MSVC.
5772         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
5773         function pointer.
5774         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
5775
5776 2012-02-24  Bruno Haible  <bruno@clisp.org>
5777
5778         acosl: Provide function definition on MSVC.
5779         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
5780         function pointer.
5781         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
5782
5783 2012-02-24  Bruno Haible  <bruno@clisp.org>
5784
5785         asinl: Provide function definition on MSVC.
5786         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
5787         function pointer.
5788         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
5789
5790 2012-02-24  Bruno Haible  <bruno@clisp.org>
5791
5792         tanl: Provide function definition on MSVC.
5793         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
5794         function pointer.
5795         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
5796
5797 2012-02-24  Bruno Haible  <bruno@clisp.org>
5798
5799         cosl: Provide function definition on MSVC.
5800         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
5801         function pointer.
5802         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
5803
5804 2012-02-24  Bruno Haible  <bruno@clisp.org>
5805
5806         sinl: Provide function definition on MSVC.
5807         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
5808         function pointer.
5809         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
5810
5811 2012-02-24  Bruno Haible  <bruno@clisp.org>
5812
5813         logl: Provide function definition on MSVC.
5814         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
5815         function pointer.
5816         * lib/math.in.h (logl): Undefine if it does not exist as a function.
5817
5818 2012-02-24  Bruno Haible  <bruno@clisp.org>
5819
5820         expl: Provide function definition on MSVC.
5821         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
5822         function pointer.
5823         * lib/math.in.h (expl): Undefine if it does not exist as a function.
5824
5825 2012-02-24  Bruno Haible  <bruno@clisp.org>
5826
5827         sqrtl: Provide function definition on MSVC.
5828         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
5829         a function pointer.
5830         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
5831
5832 2012-02-24  Bruno Haible  <bruno@clisp.org>
5833
5834         ceill: Provide function definition on MSVC.
5835         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
5836         used as a function pointer.
5837         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
5838
5839 2012-02-24  Bruno Haible  <bruno@clisp.org>
5840
5841         floorl: Provide function definition on MSVC.
5842         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
5843         used as a function pointer.
5844         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
5845
5846 2012-02-24  Bruno Haible  <bruno@clisp.org>
5847
5848         ceilf: Provide function definition on MSVC.
5849         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
5850         used as a function pointer.
5851         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
5852
5853 2012-02-24  Bruno Haible  <bruno@clisp.org>
5854
5855         floorf: Provide function definition on MSVC.
5856         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
5857         used as a function pointer.
5858         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
5859
5860 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5861
5862         stdnoreturn: new module
5863         This implements a replacement for C11's <stdnoreturn.h>.
5864         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
5865         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
5866         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5867         * tests/test-stdnoreturn.c: New files.
5868
5869 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
5870
5871         regex: fix false multibyte matches in some regular expressions
5872         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
5873         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
5874         * lib/regex_internal.c (re_string_skip_chars):
5875         Fix miscomputation of remain_len that may cause incomplete
5876         multi-byte character and false match.
5877
5878 2012-02-24  Jim Meyering  <meyering@redhat.com>
5879
5880         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
5881         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
5882         uses with "==" *before* the call, e.g., 0 == strcmp (...)
5883         Remove now-unnecessary str''cmp obfuscation.
5884         Suggested by Akim Demaille.
5885
5886 2012-02-24  Bruno Haible  <bruno@clisp.org>
5887
5888         streq: Rename macro.
5889         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
5890         * NEWS: Mention the change.
5891         * lib/mbrtowc.c (mbrtowc): Update.
5892         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
5893         * lib/wcwidth.c (wcwidth): Update.
5894         Suggested by Akim Demaille and Jim Meyering.
5895
5896 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5897
5898         regex: fix typo in definition of MIN
5899         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
5900         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
5901
5902 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5903             Bruno Haible  <bruno@clisp.org>
5904
5905         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
5906         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
5907         entries into a stack-allocated buffer directly.
5908         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
5909
5910 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5911             Bruno Haible  <bruno@clisp.org>
5912
5913         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
5914
5915          - There were several instances of this pattern:
5916
5917              for (;;) {
5918                n = acl (f, GETACLCNT, 0, NULL);
5919                [ allocate an array A of size N ]
5920                if (acl (f, GETACL, n, a) == n)
5921                  break;
5922              }
5923
5924            This loop might never terminate if some other process is constantly
5925            manipulating the file's ACL.  The loop should be rewritten to
5926            terminate.
5927
5928          - The acl (... GETACLNT ...) call is merely an optimization; its value
5929            is merely a hint as to how big to make the array.  A better
5930            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
5931            and just guess a reasonably-big size, growing the size and trying
5932            again if it's not large enough.  This guarantees termination, and
5933            saves a system call.
5934
5935         * lib/acl-internal.h: Include <limits.h>.
5936         (MIN, SIZE_MAX): New macros.
5937         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
5938         a stack-allocated buffer, and use malloc if it does not fit. Don't
5939         use GETACLCNT.
5940         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5941
5942 2012-02-19  Bruno Haible  <bruno@clisp.org>
5943
5944         acl: Fix endless loop on Solaris with vxfs.
5945         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5946         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5947         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5948         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5949         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5950         Reported by Bill Jones in
5951         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5952
5953 2012-02-19  Bruno Haible  <bruno@clisp.org>
5954
5955         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5956         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5957         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5958         that this function returns 0 in some more cases.
5959
5960 2012-02-19  Bruno Haible  <bruno@clisp.org>
5961
5962         acl: Update doc references.
5963         * doc/acl-resources.txt: Update links to Solaris documentation.
5964
5965 2012-02-19  Bruno Haible  <bruno@clisp.org>
5966
5967         Fix test failure in many locales on Solaris 11.
5968         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5969         'tr' arguments.
5970         * tests/test-pipe-filter-ii1.c (main): Likewise.
5971         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5972         expressions in the C locale.
5973         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5974         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5975
5976 2012-02-19  Bruno Haible  <bruno@clisp.org>
5977
5978         gnulib-tool: Improve usage message.
5979         * gnulib-tool (func_usage): Move doc of --help and --version to the
5980         section "Operation modes".
5981
5982 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5983
5984         README-release: make it easier to execute commands
5985         * top/README-release: break commands out on to separate lines.
5986
5987 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5988
5989         GNUmakefile: simplify detection of unconfigured trees
5990         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5991         whether the tree make is being run from is already configured or
5992         not.  Related simplifications.
5993
5994 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5995
5996         * gnulib-tool (func_usage): Document --help and --version.
5997
5998 2012-02-11  Jim Meyering  <meyering@redhat.com>
5999
6000         bootstrap: don't exit 0 upon gnulib-tool failure
6001         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
6002         its exit status, not 0.
6003
6004 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
6005
6006         README-release: various improvements
6007         * top/README-release: Give a command to push changes for the
6008         release.  Add "distcheck" to list of other pre-release checks.
6009         Fix instance of "make stable" which should be "make TYPE".
6010
6011 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6012
6013         maint: replace FSF snail-mail addresses with URLs
6014         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
6015         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
6016         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
6017         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
6018         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
6019         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
6020         * lib/check-version.c, lib/check-version.h, lib/config.charset:
6021         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
6022         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
6023         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
6024         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
6025         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
6026         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
6027         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
6028         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
6029         * lib/glthread/thread.c, lib/glthread/thread.h:
6030         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
6031         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
6032         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
6033         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
6034         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
6035         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
6036         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
6037         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
6038         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
6039         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
6040         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
6041         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
6042         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
6043         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
6044         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
6045         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
6046         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
6047         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
6048         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
6049         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
6050         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
6051         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
6052         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
6053         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
6054         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
6055         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
6056         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
6057         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
6058         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
6059         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
6060         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
6061         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
6062         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
6063         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
6064         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
6065         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
6066         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
6067         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
6068         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
6069         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
6070         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
6071         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
6072         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
6073         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
6074         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
6075         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
6076         * tests/test-poll.c, tests/test-quotearg-simple.c:
6077         * tests/test-quotearg.c, tests/test-quotearg.h:
6078         * tests/test-round-ieee.c, tests/test-round1.c:
6079         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
6080         * tests/test-roundl-ieee.c, tests/test-roundl.c:
6081         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
6082         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
6083         * tests/test-strerror.c, tests/test-strerror_r.c:
6084         * tests/test-strsignal.c, tests/test-strverscmp.c:
6085         * tests/test-xmemdup0.c:
6086         Replace FSF snail mail addresses with URLs, as per GNU coding
6087         standards.  See glibc bug
6088         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
6089
6090 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6091
6092         README-release: capitalize a word and split a line
6093         * top/README-release: Fix punctuation and spacing.
6094
6095 2012-02-08  Akim Demaille  <demaille@gostai.com>
6096
6097         fatal-signal: use C prototypes (with explicit void).
6098         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
6099         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
6100
6101 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6102
6103         regex: spelling fix
6104         * lib/regexec.c: spelling fix
6105
6106         regex: rely on stdint.h for SIZE_MAX
6107         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
6108
6109 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6110
6111         regex: merge glibc changes
6112
6113         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
6114         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
6115         (init_word_char): Work even if bitset words are not exactly 32 or
6116         64 bits wide.  Don't assume there are no padding bits.
6117         * lib/regex.c [_LIBC]: Do not include <config.h>.
6118         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
6119         and -Wtype-limits.
6120         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
6121         needless disagreement with glibc.  All uses changed.  Define it to
6122         1 only if _GNU_SOURCE, to match glibc.
6123         (_REG_RM_NAME): Remove; no longer needed, since the names in
6124         question are now all protected by __USE_GNU.
6125         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
6126         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
6127         * lib/regex_internal.h (MIN): New macro.
6128
6129         2012-01-03 Ulrich Drepper <drepper@gmail.com>
6130         * lib/regcomp.c (init_word_char): Optimize regex a bit.
6131
6132         2011-12-30 Jakub Jelinek <jakub@redhat.com>
6133         * lib/regex_internal.c (re_string_fetch_byte_case):
6134         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
6135         is miscompiled, and it turns out it is because of an incorrect
6136         attribute on re_string_fetch_byte_case.  Unlike
6137         re_string_peek_byte_case, this one is really not pure, it modifies
6138         memory (increments pstr->cur_idx), and with the pure attribute GCC
6139         assumed it doesn't and it cached the presumed value of
6140         regexp->cur_idx in a variable across the
6141          for (;; ++i)
6142            {
6143              if (i >= BRACKET_NAME_BUF_SIZE)
6144                return REG_EBRACK;
6145              if (token->type == OP_OPEN_CHAR_CLASS)
6146                ch = re_string_fetch_byte_case (regexp);
6147              else
6148                ch = re_string_fetch_byte (regexp);
6149              if (re_string_eoi(regexp))
6150                return REG_EBRACK;
6151              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
6152                break;
6153              elem->opr.name[i] = ch;
6154            }
6155
6156         2011-11-29 Andreas Schwab <schwab@redhat.com>
6157         * lib/regcomp.c (build_equiv_class):
6158         Fix access after end of search string in regex matcher.
6159
6160         2011-11-12 Ulrich Drepper <drepper@redhat.com>
6161         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
6162
6163         2011-10-12 Ulrich Drepper <drepper@redhat.com>
6164         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
6165
6166         2011-10-11 Ulrich Drepper <drepper@redhat.com>
6167         * lib/regcomp.c (parse_branch, parse_sub_exp):
6168         More regex memory leak fixes and tests.
6169         (parse_sub_exp, parse_bracket_exp):
6170         Fix memory leak for some invalid regular expressions.
6171
6172         2011-05-28 Ulrich Drepper <drepper@gmail.com>
6173         * lib/regex_internal.c, lib/regexec.c:
6174         Fix unnecessary overallocation due to incomplete character.  When
6175         incomplete characters are found at the end of a string the code
6176         ran amok and allocated lots of memory.  Stricter limits are now in
6177         place.
6178
6179         2011-05-20 Reuben Thomas <rrt@sc3d.org>
6180         * lib/regex.h: Update documentation.
6181
6182         2011-05-16 Aharon Robbins <arnold@skeeve.com>
6183         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
6184
6185         2010-05-05 Andreas Schwab <schwab@redhat.com>
6186         * lib/regexec.c (find_collation_sequence_value):
6187         Fix lookup of collation sequence value during regexp matching.
6188
6189         2010-01-22 Ulrich Drepper <drepper@redhat.com>
6190         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
6191
6192         2008-01-16 Ulrich Drepper <drepper@redhat.com>
6193         * lib/regex.h: Cleanup namespace.
6194
6195         2007-11-26 Ulrich Drepper <drepper@redhat.com>
6196         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
6197
6198         2007-08-26 Ulrich Drepper <drepper@redhat.com>
6199         * lib/regex_internal.h: Prevent some declarations and definitions
6200         to be seen when used in tests.
6201
6202         2005-05-06 Ulrich Drepper <drepper@redhat.com>
6203         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
6204         __libc_lock_* macros if not _LIBC.
6205         (struct re_dfa_t): Add lock.
6206
6207 2012-02-07  Eric Blake  <eblake@redhat.com>
6208
6209         maint.mk: also prohibit lower-case @var@
6210         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
6211         lower case, like @top_srcdir@.
6212
6213 2012-02-04  Eric Blake  <eblake@redhat.com>
6214
6215         canonicalize: avoid uninitialized memory use
6216         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
6217         random '/' left in dest.
6218         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
6219
6220 2012-02-04  Bruno Haible  <bruno@clisp.org>
6221
6222         isatty: Fix test failure of ptsname_r on native Windows.
6223         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
6224         and don't set errno.
6225         (isatty): Test first whether fd is valid. Set errno when returning 0.
6226
6227 2012-02-04  Bruno Haible  <bruno@clisp.org>
6228
6229         spawn-pipe tests: Fix a NULL program name in a diagnostic.
6230         * tests/test-spawn-pipe-main.c: Include progname.h.
6231         (main): Invoke set_program_name.
6232         * modules/spawn-pipe-tests (Depends-on): Add progname.
6233
6234         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
6235         * tests/test-nonblocking-socket-main.c: Include progname.h.
6236         (main): Invoke set_program_name.
6237         * modules/nonblocking-socket-tests (Depends-on): Add progname.
6238
6239         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
6240         * tests/test-nonblocking-pipe-main.c: Include progname.h.
6241         (main): Invoke set_program_name.
6242         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
6243
6244 2012-02-04  Eric Blake  <eblake@redhat.com>
6245
6246         canonicalize-lgpl: fix // handling
6247         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
6248
6249         canonicalize: fix // handling
6250         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
6251         /// to //, since only // is special.
6252
6253 2012-02-04  Bruno Haible  <bruno@clisp.org>
6254
6255         ioctl: Fix test failure on native Windows.
6256         * lib/ioctl.c: Include msvc-nothrow.h.
6257         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
6258
6259 2012-02-04  Bruno Haible  <bruno@clisp.org>
6260
6261         fsync: Avoid test failure on native Windows.
6262         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
6263         read-only.
6264
6265 2012-02-04  Bruno Haible  <bruno@clisp.org>
6266
6267         sys_select: Avoid syntax error on OpenBSD 5.0.
6268         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
6269         currently being included, just include the system's <sys/select.h>.
6270
6271 2012-02-04  Bruno Haible  <bruno@clisp.org>
6272
6273         sys_select: Avoid syntax error on OpenBSD 5.0.
6274         * lib/sys_select.in.h: Include <signal.h> only after the include_next
6275         <sys/select.h>, not before.
6276         Reported by Jiri B <jirib@devio.us>.
6277
6278 2012-02-04  Bruno Haible  <bruno@clisp.org>
6279
6280         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
6281         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
6282         global variables.
6283         * tests/test-get-rusage-data.c (main): Likewise.
6284         Reported by Jim Meyering.
6285
6286 2012-02-04  Bruno Haible  <bruno@clisp.org>
6287
6288         stdioext: Fix last commit.
6289         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
6290
6291 2012-02-03  Bruno Haible  <bruno@clisp.org>
6292
6293         stdioext: Add tentative support for Plan9.
6294         * lib/stdio-impl.h: Include <errno.h>.
6295         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
6296         * lib/freadable.c (freadable): Likewise.
6297         * lib/fwritable.c (fwritable): Likewise.
6298         * lib/fbufmode.c (fbufmode): Likewise.
6299         * lib/freading.c (freading): Likewise.
6300         * lib/fwriting.c (fwriting): Likewise.
6301         * lib/freadptr.c (freadptr): Likewise.
6302         * lib/freadseek.c (freadptrinc): Likewise.
6303         * lib/freadahead.c (freadahead): Likewise.
6304         * lib/fpurge.c (fpurge): Likewise.
6305         * lib/fseeko.c (rpl_fseeko): Likewise.
6306         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
6307         Reported by Jens Staal <staal1978@gmail.com>.
6308
6309 2012-02-02  Jim Meyering  <meyering@redhat.com>
6310
6311         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
6312         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
6313         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
6314         not even to try to add the attribute.  Instead, add a pragma to suppress
6315         the suggestion/warning.
6316
6317 2012-01-31  Karl Berry  <karl@gnu.org>
6318
6319         setstate doc: typo.
6320         * doc/posix-functions/setstate.texi (setstate): { not (.
6321
6322 2012-01-31  Bruno Haible  <bruno@clisp.org>
6323
6324         popen: Make more robust on Windows.
6325         * lib/popen.c: On native Windows, use the _popen based code even if
6326         HAVE_POPEN is set.
6327         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
6328         environment variable on native Windows.
6329
6330 2012-01-30  Bruno Haible  <bruno@clisp.org>
6331
6332         pclose: Fix typo.
6333         * lib/stdio.in.h (pclose): Fix typo in warning message.
6334
6335 2012-01-30  Bruno Haible  <bruno@clisp.org>
6336
6337         doc about getlogin_r, setstate.
6338         * doc/posix-functions/getlogin_r.texi: List the incompatible
6339         declaration problem under "not fixed by gnulib".
6340         * doc/posix-functions/setstate.texi: Mention incompatible declaration
6341         problem on Solaris 11 and other platforms.
6342
6343 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
6344             Bruno Haible  <bruno@clisp.org>
6345
6346         poll tests: Make test more robust.
6347         * tests/test-poll.c: Include macros.h.
6348         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
6349         return value of various I/O operations.
6350         * modules/poll-tests (Files): Add tests/macros.h.
6351
6352 2012-01-30  Bruno Haible  <bruno@clisp.org>
6353
6354         sys_stat: Fix support for mingw64 and MSVC.
6355         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
6356         header files already do it.
6357         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
6358         stat itself.
6359         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
6360
6361 2012-01-30  Bruno Haible  <bruno@clisp.org>
6362
6363         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
6364         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
6365         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
6366
6367 2012-01-29  Bruno Haible  <bruno@clisp.org>
6368
6369         quotearg: Fix test failure on MacOS X 10.5.
6370         * tests/test-quotearg-simple.c: Include localcharset.h.
6371         (main): If the locale encoding is not ASCII, bypass the tests of
6372         locale_quoting_style and clocale_quoting_style.
6373         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
6374
6375 2012-01-29  Jim Meyering  <meyering@redhat.com>
6376
6377         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
6378         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
6379         detect uses of canonicalize_file_name.
6380
6381 2012-01-28  Bruno Haible  <bruno@clisp.org>
6382
6383         test-framework-sh: Fix test failure with AIX 7.1 diff.
6384         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
6385         in column 1, like 'diff -c' does.
6386         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
6387         whether 'diff -u' is used. Instead, test whether the output contains
6388         some '@' character.
6389
6390 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6391
6392         strtoimax: eliminate need for stdint.h, inttypes.h checks
6393         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
6394         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
6395         the prerequisites for a recently-introduced strtoimax test.
6396         I guess this might cause strtoimax to be replaced when not
6397         strictly necessary on older hosts, but this shouldn't introduce
6398         any bugs and it should make Emacs 'configure' faster on typical
6399         modern hosts.  Problem discovered when importing the latest gnulib
6400         to an Emacs test version.
6401         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
6402
6403 2012-01-28  Bruno Haible  <bruno@clisp.org>
6404
6405         sys_time: Override 'struct timeval' on some native Windows platforms.
6406         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
6407         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
6408         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
6409         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
6410         needs to be overridden.
6411         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
6412         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
6413         * tests/test-sys_select.c: Check that the tv_sec member has the same
6414         size as a 'time_t'.
6415         * tests/test-sys_time.c: Likewise.
6416         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
6417         is set, set also REPLACE_GETTIMEOFDAY.
6418         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
6419         convert the resulting 'struct timeval' before returning.
6420         * lib/select.c: Include <sys/time.h>.
6421         (select, timeval): Undefine at the right place.
6422         * modules/select (Depends-on): Add sys_time.
6423         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
6424         some Windows platforms.
6425         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
6426
6427 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6428
6429         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
6430         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
6431         an integer.
6432         * lib/fcntl.c (dupfd): Likewise.
6433         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
6434
6435 2012-01-28  Bruno Haible  <bruno@clisp.org>
6436
6437         fcntl: Avoid compilation error on native Windows.
6438         * modules/fcntl (Depends-on): Add 'close'.
6439
6440 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6441
6442         select, poll, isatty: Avoid warnings on x86_64 mingw64.
6443         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
6444         pointer to an integer.
6445         * lib/poll.c (IsConsoleHandle): Likewise.
6446         * lib/isatty.c (IsConsoleHandle): Likewise.
6447
6448 2012-01-28  Jim Meyering  <meyering@redhat.com>
6449
6450         doc: clarify README-release
6451         * top/README-release: Clarify: you should make a point to have
6452         the latest stable versions of build tools in your PATH, and the
6453         reference to buildreq is solely for its list of tool names, not
6454         for its minimal-functional version numbers.
6455         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
6456
6457         maint.mk: use more readable (yet functionally equivalent) quoting
6458         It is common to quote a single quote in a single quoted string like
6459         this:  '...'\''...'.  Unless you know the idiom, that looks like
6460         gibberish, so prefer to double-quote the string when possible.
6461         Then you can use a more readable, lone single quote: "...'..."
6462         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
6463         "don't" is more readable than the equivalent 'don'\''t'.
6464         (sc_cast_of_x_alloc_return_value): Likewise.
6465         (sc_cast_of_alloca_return_value): Likewise.
6466         (sc_makefile_path_separator_check): Similar: use ":" in '...',
6467         rather than '\'':'\''.
6468
6469 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6470
6471         stdalign: relax _Alignof and tighten _Alignas test
6472         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
6473         as it was too strict: alignof must divide offsetof, but it need
6474         not equal offsetof.  Inspired by Joseph S. Myers's comment
6475         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
6476         Conversely, tighten the _Alignas test a bit, as the resulting
6477         alignment must be exactly 8.
6478
6479 2012-01-27  Bruno Haible  <bruno@clisp.org>
6480
6481         stdalign: Document the last change.
6482         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
6483
6484 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6485
6486         stdalign: check that alignof and offsetof are consistent
6487         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
6488         Problem reported for gnulib by Richard W.M. Jones in
6489         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
6490
6491 2012-01-27  Jim Meyering  <meyering@redhat.com>
6492
6493         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
6494         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
6495         convert a sequence with gaps to the minimal containing range.
6496         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
6497         * tests/test-update-copyright.sh: Test for this.
6498         The FSF confirmed it is ok to do this, assuming there is at
6499         least one significant change per year in the affected range:
6500         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
6501
6502 2012-01-26  Bruno Haible  <bruno@clisp.org>
6503
6504         pipe2: refine doc about thread-safety
6505         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
6506         multithread-safety problem.
6507         * doc/glibc-functions/accept4.texi: Likewise.
6508
6509 2012-01-26  Bruno Haible  <bruno@clisp.org>
6510
6511         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
6512         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
6513         In the test program, include <fcntl.h>, for O_RDONLY.
6514
6515 2012-01-26  Eric Blake  <eblake@redhat.com>
6516
6517         pipe2: document lack of thread-safety in replacement
6518         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
6519         issue in replacement.
6520         * doc/glibc-functions/accept4.texi (accept4): Likewise.
6521         Based on a report by Eric Wong.
6522
6523 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6524             Bruno Haible  <bruno@clisp.org>
6525
6526         malloca: Avoid warnings on x86_64 mingw64.
6527         * lib/malloca.c: Include <stdint.h>.
6528         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
6529         * modules/malloca (Depends-on): Add stdint.
6530         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
6531
6532 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6533
6534         obstack: remove __STDC__ conditionals
6535         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
6536         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
6537         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
6538         m4/include_next.m4 as the only gnulib-maintained places that still
6539         refer to __STDC__.
6540
6541 2012-01-24  Bruno Haible  <bruno@clisp.org>
6542
6543         havelib: Modern quoting.
6544         * build-aux/config.rpath: Quote 'like this', not `like this', as per
6545         the recent change to the GNU coding standards.
6546
6547 2012-01-24  Bruno Haible  <bruno@clisp.org>
6548
6549         stdint: Improve support for Android.
6550         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
6551         Reported by Simon Josefsson <simon@josefsson.org>.
6552
6553 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6554
6555         doc: omit trailing empty lines from INSTALL etc.
6556         * doc/Makefile (INSTALL): Omit trailing empty lines.
6557         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
6558         omit trailing empty lines.  This simplifies the build procedure.
6559
6560 2012-01-23  Jim Meyering  <meyering@redhat.com>
6561
6562         tests: avoid spurious warnings about gl_sockets_startup
6563         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
6564         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
6565         reporting a "statement with no effect".
6566         * tests/test-accept.c (main): Mark as "(void)".
6567         * tests/test-accept4.c (main): Likewise.
6568         * tests/test-bind.c (main): Likewise.
6569         * tests/test-connect.c (main): Likewise.
6570         * tests/test-getpeername.c (main): Likewise.
6571         * tests/test-getsockname.c (main): Likewise.
6572         * tests/test-getsockopt.c (main): Likewise.
6573         * tests/test-listen.c (main): Likewise.
6574         * tests/test-recv.c (main): Likewise.
6575         * tests/test-recvfrom.c (main): Likewise.
6576         * tests/test-send.c (main): Likewise.
6577         * tests/test-sendto.c (main): Likewise.
6578         * tests/test-setsockopt.c (main): Likewise.
6579         * tests/test-shutdown.c (main): Likewise.
6580
6581 2012-01-21  Bruno Haible  <bruno@clisp.org>
6582
6583         locale-fr.m4: Fix for Android.
6584         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
6585         failure of the test program on Bionic libc.
6586
6587 2012-01-21  Jim Meyering  <meyering@redhat.com>
6588
6589         bootstrap: fail when bootstrap_post_import_hook fails
6590         Otherwise, it's far too easy to miss diagnostics emitted
6591         between gnulib-tool's output and that of running configure.
6592         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
6593
6594 2012-01-17  Jim Meyering  <meyering@redhat.com>
6595
6596         maint: enable sc_trailing_blank
6597         * build-aux/pmccabe.css: Remove trailing blanks.
6598         * doc/acl-cygwin.txt: Likewise.
6599         * doc/gnu-oids.texi: Likewise
6600         * cfg.mk: Enable sc_trailing_blank.
6601         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
6602
6603 2012-01-17  Jim Meyering  <meyering@redhat.com>
6604
6605         maint: enable sc_prohibit_openat_without_use
6606         * cfg.mk: Enable sc_prohibit_openat_without_use.
6607         Exempt lib/selinux-at.c.
6608
6609 2012-01-17  Jim Meyering  <meyering@redhat.com>
6610
6611         maint: enable sc_prohibit_cloexec_without_use
6612         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
6613         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
6614
6615 2012-01-17  Jim Meyering  <meyering@redhat.com>
6616
6617         maint: enable sc_prohibit_intprops_without_use
6618         * cfg.mk: Enable sc_prohibit_intprops_without_use
6619         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
6620
6621 2012-01-17  Jim Meyering  <meyering@redhat.com>
6622
6623         maint: enable sc_prohibit_hash_pjw_without_use
6624         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
6625         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
6626         to match any use of \<hash_pjw\>, i.e., not necessarily with a
6627         following " (".
6628
6629 2012-01-17  Jim Meyering  <meyering@redhat.com>
6630
6631         maint: enable double-word-prohibiting rule
6632         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
6633         Exempt three files.
6634
6635 2012-01-17  Jim Meyering  <meyering@redhat.com>
6636
6637         maint: remove empty lines at EOF, but excluding modules/*
6638         Apply syntax rules at home as well as abroad.  Most changes
6639         were induced by running this:
6640           make srcdir=. _build-aux=build-aux -f top/maint.mk \
6641             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
6642             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
6643         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
6644         Exempt modules/* and two binary files.
6645         Also exempt doc/INSTALL*, per request from Bruno Haible.
6646         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
6647         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
6648         * doc/Copyright/request-assign.future: Likewise.
6649         * doc/Copyright/request-disclaim.changes: Likewise.
6650         * doc/INSTALL: Likewise.
6651         * doc/INSTALL.ISO: Likewise.
6652         * doc/INSTALL.UTF-8: Likewise.
6653         * doc/acl-cygwin.txt: Likewise.
6654         * doc/acl-resources.txt: Likewise.
6655         * doc/fdl-1.2.texi: Likewise.
6656         * doc/fdl-1.3.texi: Likewise.
6657         * doc/fdl.texi: Likewise.
6658         * lib/argp-pin.c: Likewise.
6659         * lib/round.c: Likewise.
6660         * lib/unicase/u16-totitle.c: Likewise.
6661         * lib/unictype/block_test.c: Likewise.
6662         * lib/uninorm/canonical-decomposition.c: Likewise.
6663         * m4/README: Likewise.
6664         * m4/relocatable-lib.m4: Likewise.
6665         * tests/test-isnand-nolibm.c: Likewise.
6666         * tests/test-isnand.c: Likewise.
6667         * tests/uninorm/NormalizationTest.txt: Likewise.
6668
6669 2012-01-17  Jim Meyering  <meyering@redhat.com>
6670
6671         maint: add framework to run syntax-check rules against gnulib sources
6672         * cfg.mk: New file, to disable all currently-failing tests.
6673         We'll enable them one by one, as they are made to pass.
6674         * Makefile (sc_maint): New rule.
6675
6676 2012-01-21  Bruno Haible  <bruno@clisp.org>
6677
6678         stdint: Add support for Android.
6679         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
6680         include the system's <stdint.h>.
6681         Reported by Simon Josefsson <simon@josefsson.org>.
6682
6683 2012-01-19  Jim Meyering  <meyering@redhat.com>
6684
6685         bootstrap: add bootstrap_post_import_hook
6686         Bison does still need something like the gnulib_mk_hook whose
6687         invocation I had to remove along with slurp in commit 767ccd40.
6688         Technically, we could get along without it, but doing so would
6689         have required living with a warning and a mandatory post-bootstrap
6690         automake rerun.
6691         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
6692         (bootstrap_post_import_hook): New function.
6693         Invoke it after gnulib-tool --import and before autoreconf.
6694
6695 2012-01-18  Jim Meyering  <meyering@redhat.com>
6696
6697         gitlog-to-changelog: don't use "no_"-prefixed variable name
6698         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
6699         to enable both --cluster and --no-cluster.  Change variable name,
6700         s/\$no_cluster/$cluster/, and reverse usage to match.
6701
6702         gitlog-to-changelog: use "||", not "or" in expressions
6703         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
6704         expressions.
6705
6706 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
6707
6708         gitlog-to-changelog: new option --no-cluster
6709         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
6710         clustering of adjacent commit messages.
6711
6712 2012-01-17  Jim Meyering  <meyering@redhat.com>
6713
6714         maint: spell file systems with two words, not one
6715         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
6716         two words, not one.
6717
6718 2012-01-16  Jim Meyering  <meyering@redhat.com>
6719
6720         bootstrap: add a FIXME comment to ensure we eventually remove the hack
6721         * build-aux/bootstrap (gnulib_tool_options): Add comment.
6722
6723 2012-01-16  Eric Blake  <eblake@redhat.com>
6724
6725         bootstrap: cater to autoconf 2.59
6726         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
6727         is not available.
6728
6729         bootstrap: properly check for libtool
6730         * build-aux/bootstrap (libtoolize): Also run libtool when older
6731         usage is detected.
6732
6733 2012-01-15  Bruno Haible  <bruno@clisp.org>
6734
6735         Improve support for MSVC 9.
6736         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
6737         clashes on MSVC.
6738         * lib/fcntl.in.h: Likewise.
6739         * lib/stdlib.in.h: Likewise.
6740         * lib/sys_stat.in.h: Likewise.
6741
6742 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6743
6744         gnupload: we hold the master copy of this script now
6745         For motivation and more information, see:
6746         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
6747         * build-aux/gnupload: Make it clear in the heading comments that the
6748         master copy of this file is maintained by gnulib.  Since we are at
6749         it, bump its copyright year and ...
6750         ($scriptversion): ... the date in its version.
6751         ($usage): Patches and bug reports should be sent to the gnulib list,
6752         not the automake one.
6753         * config/srclist.txt: Don't try to sync 'gnupload' from automake
6754         anymore.
6755
6756 2012-01-15  Bruno Haible  <bruno@clisp.org>
6757
6758         Fix module 'random'.
6759         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
6760         initstate, setstate are declared.
6761
6762 2012-01-14  Bruno Haible  <bruno@clisp.org>
6763
6764         Tests for module 'random'.
6765         * modules/random-tests: New file.
6766         * tests/test-random.c: New file, based on tests/test-random_r.c.
6767
6768         New module 'random'.
6769         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
6770         declarations.
6771         * lib/random.c: New file, based on glibc/stdlib/random.c.
6772         * m4/random.m4: New file.
6773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
6774         HAVE_RANDOM.
6775         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
6776         * modules/random: New file.
6777         * config/srclist.txt: Add an entry for random.c.
6778         * doc/posix-functions/random.texi: Mention the 'random' module.
6779         * doc/posix-functions/initstate.texi: Likewise.
6780         * doc/posix-functions/setstate.texi: Likewise.
6781         * doc/posix-functions/srandom.texi: Likewise.
6782
6783 2012-01-12  Bruno Haible  <bruno@clisp.org>
6784
6785         random_r: Use common idioms.
6786         * lib/random_r.c: Include <stdlib.h> first.
6787
6788         random_r: Override incompatible API on AIX, OSF/1.
6789         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
6790         Override the system function if REPLACE_RANDOM_R is 1.
6791         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
6792         and OSF/1, set REPLACE_RANDOM_R.
6793         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
6794         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
6795         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
6796         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
6797         * doc/glibc-functions/random_r.texi: Likewise.
6798         * doc/glibc-functions/setstate_r.texi: Likewise.
6799
6800         random_r: Support for MSVC 9.
6801         * lib/random_r.c: Include stdint.h, not inttypes.h.
6802
6803 2012-01-12  Eric Blake  <eblake@redhat.com>
6804
6805         inet_ntop: guard extra work by IF_LINT
6806         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
6807         better code generation when not checking for warnings.
6808         Suggested by Paul Eggert and Jim Meyering.
6809
6810         strptime: fix regression on mingw
6811         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
6812         Fix regression.  Reported by Bruno Haible.
6813
6814 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
6815             Bruno Haible  <bruno@clisp.org>
6816
6817         copy-file: add error-code-returning variant.
6818         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
6819         (qcopy_file_preserving): New declaration.
6820         * lib/copy-file.c (qcopy_file_preserving): Renamed from
6821         copy_file_preserving. Change return type to 'int'. Don't emit an error
6822         message here.
6823         (copy_file_preserving): New function.
6824         * tests/test-copy-file.c: Include <stdlib.h>.
6825         (main): Test qcopy_file_preserving if the environment variable
6826         NO_STDERR_OUTPUT is set.
6827         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
6828         with NO_STDERR_OUTPUT
6829         * tests/test-copy-file-2.sh: Likewise.
6830
6831 2012-01-10  Bruno Haible  <bruno@clisp.org>
6832
6833         copy-file: Use 'quote' module consistently.
6834         * lib/copy-file.c (copy_file_preserving): Use quote().
6835
6836         copy-file: Refactor.
6837         * lib/copy-file.c: Include quote.h.
6838         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
6839         message here.
6840         * modules/copy-file (Depends-on): Add quote.
6841
6842         acl: Export qcopy_acl.
6843         * lib/acl.h (qcopy_acl): New declaration.
6844         * lib/copy-acl.c (qcopy_acl): Make non-static.
6845
6846         acl: Rename a local variable.
6847         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
6848
6849         acl: Align return values of copy_acl and qcopy_acl.
6850         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
6851         maybe < -1.
6852
6853 2012-01-11  Eric Blake  <eblake@redhat.com>
6854
6855         strptime: silence gcc warnings
6856         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
6857         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
6858         Reported by Daniel P. Berrange.
6859
6860         inet_ntop: silence gcc warning
6861         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
6862         Reported by Daniel P. Berrange.
6863
6864 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
6865
6866         getloadavg test: skip the test on GNU/Linux without /proc mounted
6867         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
6868         file.  When /proc is not mounted, it always fails with ENOENT.
6869         * tests/test-getloadavg.c (main): Treat ENOENT return code from
6870         getloadavg(3) the same way as ENOSYS and ENOTSUP.
6871
6872 2012-01-10  Bruno Haible  <bruno@clisp.org>
6873
6874         regex: Avoid link error on MSVC 9.
6875         * modules/regex (Depends-on): Add wctype.
6876
6877 2012-01-10  Bruno Haible  <bruno@clisp.org>
6878
6879         doc: Mention --with-tests option.
6880         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
6881         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
6882         --with-tests.
6883         Reported by Reuben Thomas.
6884
6885 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
6886
6887         users.txt: order package names lexicographically.
6888         * users.txt: Order package names lexicographically.
6889
6890 2012-01-10  Jim Meyering  <meyering@redhat.com>
6891
6892         maint.mk: fix description in comment
6893         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
6894
6895         ignore-value: remove deprecated ignore_ptr function
6896         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
6897         * NEWS: Note this.
6898
6899 2012-01-09  Jim Meyering  <meyering@redhat.com>
6900
6901         test-init.sh: avoid a subshell
6902         * tests/test-init.sh: Remove protective subshell.
6903         Suggested by Bernhard Voelker.  While a subshell is normally
6904         required to protect against older shells (Solaris, FreeBSD) that
6905         warn about a missing program before performing redirection, the
6906         shell-selection tests performed by init.sh probably exclude any
6907         offending shell.
6908
6909 2012-01-08  Bruno Haible  <bruno@clisp.org>
6910
6911         setlocale tests: Avoid test failure on Solaris 11 2011-11.
6912         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
6913         variable.
6914
6915 2012-01-08  Bruno Haible  <bruno@clisp.org>
6916
6917         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
6918         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6919         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6920         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
6921         macro.
6922         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
6923         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6924         * lib/spawn_faction_addopen.c: Add workaround implementation if
6925         HAVE_WORKING_POSIX_SPAWN.
6926         * modules/spawn (Makefile): Substitute
6927         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6928         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
6929         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
6930         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6931         (Depends-on): Update conditions.
6932         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
6933         the Solaris 11 bug.
6934
6935 2012-01-08  Bruno Haible  <bruno@clisp.org>
6936
6937         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
6938         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6939         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6940         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
6941         macro.
6942         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6943         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6944         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6945         HAVE_WORKING_POSIX_SPAWN.
6946         * modules/spawn (Makefile): Substitute
6947         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6948         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6949         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6950         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6951         (Depends-on): Update conditions.
6952         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6953         the Solaris 11 bug.
6954
6955 2012-01-08  Bruno Haible  <bruno@clisp.org>
6956
6957         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6958         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6959         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6960         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6961         HAVE_WORKING_POSIX_SPAWN.
6962         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6963         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6964         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6965         * lib/spawn_faction_addclose.c: Add workaround implementation if
6966         HAVE_WORKING_POSIX_SPAWN.
6967         * modules/spawn (Makefile): Substitute
6968         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6969         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6970         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6971         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6972         (Depends-on): Update conditions.
6973         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6974         the Solaris 11 bug.
6975
6976 2012-01-08  Bruno Haible  <bruno@clisp.org>
6977
6978         doc: Update for Solaris 11 2011-11.
6979         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6980         * m4/printf.m4: Update comments.
6981
6982 2012-01-08  Bruno Haible  <bruno@clisp.org>
6983
6984         mktime: Avoid compilation error on Solaris 11.
6985         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6986
6987 2012-01-08  Bruno Haible  <bruno@clisp.org>
6988
6989         doc: Small fix.
6990         * doc/posix-headers/nl_types.texi: Correct platforms list.
6991
6992 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6993
6994         Add lgpl-3.0 module.
6995         * MODULES.html.sh (Support for building documentation): Add
6996         lgpl-3.0.
6997         * modules/lgpl-3.0: New file.
6998
6999 2012-01-08  Jim Meyering  <meyering@redhat.com>
7000
7001         select.c: indent with spaces, not TABs
7002         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
7003
7004 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7005
7006         quotearg: do not use grave accent for left quote
7007         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
7008         locale_quoting_style.
7009         (quotearg_buffer_restyled): Fix example.
7010         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
7011
7012 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7013
7014         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
7015         Most programs do not have translation catalogs for English and much
7016         less separate catalogs for British and American English.  Drop the
7017         suggestion to translators about these two, and provide it
7018         automatically for Unicode locales.  Like most programs, even those
7019         using American English, we use single quotation marks.  This conflicts
7020         with the American typographic convention, but works better when you
7021         cite the entire error message within double quotes.  It also tries not
7022         to clash with established practice and with what non-gnulib programs
7023         will usually do.
7024         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
7025         using an UTF-8 or GB-18030 locale.  The list of other locales with
7026         quotes was provided by Bruno Haible.
7027         (quotearg_buffer_restyled): Adjust instructions to translators.
7028         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
7029         text, since this would be wrong when using Unicode.
7030         * modules/quotearg: Depend on c-strcaseeq.
7031
7032 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7033
7034         quotearg: fix Wikipedia link
7035         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
7036
7037 2012-01-07  Simon Josefsson  <simon@josefsson.org>
7038
7039         Fix for mingw with MSVC9.
7040         * m4/ld-version-script.m4: Check that compiler rejects version
7041         scripts with syntax errors.  Reported by Bruno Haible
7042         <bruno@clisp.org>.
7043
7044 2012-01-06  Bruno Haible  <bruno@clisp.org>
7045
7046         Talk about "native Windows API", not "Woe32".
7047         * lib/accept4.c: Update comments to mention native Windows.
7048         * lib/execute.c: Likewise.
7049         * lib/fatal-signal.c: Likewise.
7050         * lib/localcharset.c: Likewise.
7051         * lib/nanosleep.c: Likewise.
7052         * lib/nl_langinfo.c: Likewise.
7053         * lib/pclose.c: Likewise.
7054         * lib/pipe-filter-gi.c: Likewise.
7055         * lib/pipe-filter-ii.c: Likewise.
7056         * lib/pipe.c: Likewise.
7057         * lib/pipe2.c: Likewise.
7058         * lib/popen.c: Likewise.
7059         * lib/progreloc.c: Likewise.
7060         * lib/relocatable.c: Likewise.
7061         * lib/sigaction.c: Likewise.
7062         * lib/sigprocmask.c: Likewise.
7063         * lib/spawn-pipe.h: Likewise.
7064         * lib/spawn-pipe.c: Likewise.
7065         * lib/spawni.c: Likewise.
7066         * lib/stat-time.h: Likewise.
7067         * lib/w32spawn.h: Likewise.
7068         * tests/test-isatty.c: Likewise.
7069         * lib/config.charset: More comments.
7070         * doc/gnulib-intro.texi: Mention native Windows.
7071         * doc/posix-functions/_Exit_C99.texi: Likewise.
7072         * doc/posix-headers/fcntl.texi: Likewise.
7073
7074 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
7075
7076         argp: Avoid crash if translator uses % characters in a translation.
7077         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
7078         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7079
7080 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
7081
7082         doc: C11 and C++11 are now official
7083         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
7084         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
7085         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
7086         * modules/stdalign:
7087         Replace references to draft C1X to C11, and to draft C++0X to C++11.
7088
7089 2012-01-06  Bruno Haible  <bruno@clisp.org>
7090
7091         uc-is-grapheme-break tests: Tweak.
7092         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
7093         message.
7094
7095 2012-01-06  Bruno Haible  <bruno@clisp.org>
7096
7097         test-init.sh: correct the test for diff -u
7098         * tests/test-init.sh: Also redirect stdout to /dev/null.
7099
7100 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
7101
7102         Use ', not `, for quoting output.
7103         * build-aux/announce-gen (usage, sizes, print_news_deltas)
7104         (print_changelog_deltas, get_tool_versions, main program):
7105         * build-aux/git-version-gen:
7106         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
7107         * build-aux/move-if-change (help):
7108         * build-aux/useless-if-before-free (usage, main program):
7109         * check-module (parse_module_file, usage)
7110         (find_included_lib_files, check_module):
7111         * lib/argmatch.c (main) [TEST]:
7112         * lib/argp-help.c (_help):
7113         * lib/getopt1.c (main) [TEST]:
7114         * lib/git-merge-changelog.c (usage):
7115         * lib/xstrtol-error.c (xstrtol_error):
7116         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
7117         * m4/argz.m4 (gl_FUNC_ARGZ):
7118         * m4/bison.m4 (gl_BISON):
7119         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
7120         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
7121         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
7122         * m4/fpending.m4 (gl_PREREQ_FPENDING):
7123         * m4/gc-random.m4 (gl_GC_RANDOM):
7124         * m4/intl.m4 (gt_CHECK_DECL):
7125         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
7126         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
7127         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
7128         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
7129         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
7130         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
7131         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
7132         * tests/test-dirname.c (main):
7133         * tests/test-getpass.c (main):
7134         * tests/test-iconvme.c (main):
7135         * tests/test-parse-datetime.c (LOG):
7136         * tests/test-xstrtoimax.sh:
7137         * tests/test-xstrtol.sh:
7138         * tests/test-xstrtoll.sh:
7139         * tests/test-xstrtoumax.sh:
7140         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
7141         * top/GNUmakefile (abort-due-to-no-makefile):
7142         Quote 'like this', not `like this', as per the recent change to
7143         the GNU coding standards.
7144
7145 2012-01-05  Bruno Haible  <bruno@clisp.org>
7146
7147         strtoimax: Don't force a replacement on systems where intmax_t is int.
7148         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
7149         'intmax_t' is not larger than 'int'.
7150         Reported by Pádraig Brady <P@draigBrady.com>.
7151
7152 2012-01-05  Bruno Haible  <bruno@clisp.org>
7153
7154         doc: Mention NetBSD bugs.
7155         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
7156         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
7157
7158 2012-01-05  Bruno Haible  <bruno@clisp.org>
7159
7160         strtoumax tests: Enhance tests.
7161         * tests/test-strtoumax.c (main): Add tests for large values.
7162
7163 2012-01-05  Bruno Haible  <bruno@clisp.org>
7164
7165         strtoimax: Work around AIX 5.1 bug.
7166         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
7167         definition.
7168         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
7169         Set HAVE_STRTOIMAX.
7170         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
7171         REPLACE_STRTOIMAX.
7172         * modules/inttypes-incomplete (Makefile.am): Substitute
7173         REPLACE_STRTOIMAX.
7174         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
7175         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
7176         (Depends-on): Update conditions.
7177         * tests/test-strtoimax.c (main): Add tests for large values.
7178         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
7179
7180 2012-01-05  Bruno Haible  <bruno@clisp.org>
7181
7182         inttypes: Modernize.
7183         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
7184         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
7185         (Makefile.am): Update inttypes.h rule.
7186
7187 2012-01-05  Jim Meyering  <meyering@redhat.com>
7188
7189         init.sh: don't waste a subshell just to redirect stderr
7190         * tests/init.sh: In testing for diff -u and diff -c, use a
7191         stderr-redirecting exec inside `...` rather than a subshell.
7192
7193         test-init.sh: avoid failure on HP-UX 11.00
7194         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
7195         resolves to diff -c or cmp.  Reported by Bruno Haible.
7196
7197 2012-01-05  Bruno Haible  <bruno@clisp.org>
7198
7199         Tests for module 'strtoull'.
7200         * modules/strtoull-tests: New file.
7201         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
7202
7203 2012-01-05  Bruno Haible  <bruno@clisp.org>
7204
7205         Tests for module 'strtoll'.
7206         * modules/strtoll-tests: New file.
7207         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
7208
7209 2012-01-05  Bruno Haible  <bruno@clisp.org>
7210
7211         Tests for module 'strtoul'.
7212         * modules/strtoul-tests: New file.
7213         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
7214
7215 2012-01-05  Bruno Haible  <bruno@clisp.org>
7216
7217         Tests for module 'strtol'.
7218         * modules/strtol-tests: New file.
7219         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
7220
7221 2012-01-04  Jim Meyering  <meyering@redhat.com>
7222
7223         test-init.sh: accommodate Solaris 5.10's different diff -u output
7224         * tests/test-init.sh: Also exempt @@ lines from the comparison
7225         of diff output, since Solaris 5.10 and GNU diff formats differ.
7226         Reported by Stefano Lattarini.
7227
7228 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7229
7230         test-posixtm: don't assume signed integer wraparound
7231         * tests/test-posixtm.c (main): Don't assume wraparound semantics
7232         after signed integer overflow.  Inspired by (though it may not
7233         fix) Bruno Haible's bug report in
7234         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
7235
7236         Spell out "Windows 9x" and "Windows XP".
7237         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
7238         "Windows 9x" and "WinXP" with "Windows XP".
7239
7240 2012-01-04  Jim Meyering  <meyering@redhat.com>
7241
7242         test-vc-list-files-cvs.sh: remove obsolete comment
7243         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
7244         double exit.  Now that's all encapsulated via skip_ and Exit.
7245
7246 2012-01-04  Bruno Haible  <bruno@clisp.org>
7247
7248         Talk about "native Windows API", not "Win32".
7249         * lib/classpath.c: Update comments to mention native Windows.
7250         * lib/csharpexec.c: Likewise.
7251         * lib/dup2.c: Likewise.
7252         * lib/error.c: Likewise.
7253         * lib/fcntl.c: Likewise.
7254         * lib/filename.h: Likewise.
7255         * lib/findprog.c: Likewise.
7256         * lib/get-rusage-as.c: Likewise.
7257         * lib/get-rusage-data.c: Likewise.
7258         * lib/getpagesize.c: Likewise.
7259         * lib/javaexec.c: Likewise.
7260         * lib/msvc-inval.c: Likewise.
7261         * lib/msvc-nothrow.c: Likewise.
7262         * lib/nanosleep.c: Likewise.
7263         * lib/nonblocking.c: Likewise.
7264         * lib/printf-parse.c: Likewise.
7265         * lib/setlocale.c: Likewise.
7266         * lib/sigaction.c: Likewise.
7267         * lib/strerror_r.c: Likewise.
7268         * lib/tmpdir.c: Likewise.
7269         * lib/vasnprintf.c: Likewise.
7270         * lib/w32spawn.h: Likewise.
7271         * lib/waitpid.c: Likewise.
7272         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
7273         * m4/locale-ar.m4: Likewise.
7274         * m4/locale-fr.m4: Likewise.
7275         * m4/locale-ja.m4: Likewise.
7276         * m4/locale-tr.m4: Likewise.
7277         * m4/locale-zh.m4: Likewise.
7278         * m4/printf.m4: Likewise.
7279         * tests/test-cloexec.c: Likewise.
7280         * tests/test-copy-acl.sh: Likewise.
7281         * tests/test-copy-file.sh: Likewise.
7282         * tests/test-file-has-acl.sh: Likewise.
7283         * tests/test-set-mode-acl.sh: Likewise.
7284         * tests/test-dup-safer.c: Likewise.
7285         * tests/test-dup2.c: Likewise.
7286         * tests/test-dup3.c: Likewise.
7287         * tests/test-fcntl.c: Likewise.
7288         * tests/test-nonblocking-pipe.h: Likewise.
7289         * tests/test-nonblocking-socket.h: Likewise.
7290         * tests/test-pipe.c: Likewise.
7291         * tests/test-pipe2.c: Likewise.
7292         * tests/test-spawn-pipe-child.c: Likewise.
7293         * doc/acl-resources.txt: Likewise.
7294         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7295         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
7296         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
7297         * lib/localcharset.c: Update comments to mention native Windows.
7298         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7299         * lib/localename.c: Likewise.
7300         * lib/progreloc.c: Likewise.
7301         * lib/relocatable.c: Likewise.
7302         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7303         (windows_compute_revents): Renamed from win32_compute_revents.
7304         (windows_compute_revents_socket): Renamed from
7305         win32_compute_revents_socket.
7306         * lib/select.c: Update comments to mention native Windows.
7307         (windows_poll_handle): Renamed from win32_poll_handle.
7308         * m4/threadlib.m4: Update comments to mention native Windows.
7309         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
7310         --enable-threads=windows instead of --enable-threads=win32. Set
7311         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
7312         * lib/glthread/lock.h: Update comments to mention native Windows.
7313         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
7314         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
7315         USE_WIN32_THREADS.
7316         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
7317         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
7318         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
7319         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
7320         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
7321         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
7322         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
7323         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
7324         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
7325         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
7326         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
7327         * tests/test-tls.c: Likewise.
7328         Rationale:
7329         Microsoft renamed the "Win32 API" to "Windows API", as it is available
7330         on both 32-bit and 64-bit Windows systems.
7331         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
7332         line of distinction is between "native Windows" on one side and Unix/
7333         POSIX systems on the other side. More details in
7334         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
7335         Suggested by Paul Eggert.
7336
7337 2012-01-03  Bruno Haible  <bruno@clisp.org>
7338
7339         isatty: Support for MSVC 9.
7340         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
7341         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
7342         (_isatty_nothrow): New function.
7343         (isatty): Use it instead of _isatty.
7344         (IsConsoleHandle): Add comment, from Paolo Bonzini.
7345         * lib/poll.c (IsConsoleHandle): Likewise.
7346         * lib/select.c (IsConsoleHandle): Likewise.
7347         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
7348         (gl_PREREQ_ISATTY): New macro.
7349         * modules/isatty (Depends-on): Add msvc-inval.
7350         (configure.ac): Invoke gl_PREREQ_ISATTY.
7351
7352 2012-01-03  Jim Meyering  <meyering@redhat.com>
7353
7354         maint.mk: remove temporary transition aid from over 1.5 years ago
7355         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
7356         purpose was to aid in the transition (avoiding silent malfunction)
7357         from that old name to the new _sc_search_regexp.  This shim was
7358         added by commit 219c504b.
7359
7360         init.sh: do not try to accommodate compare arguments starting with "-"
7361         * tests/init.sh (compare_dev_null_): Do not try to accommodate
7362         compare arguments that start with "-".  Besides, we do not worry
7363         about this when invoking diff or cmp; why start now with sed?
7364         Using "--" to separate options from argument would trigger sed
7365         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
7366         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
7367
7368 2012-01-02  Bruno Haible  <bruno@clisp.org>
7369
7370         Enhance tests for module 'isatty'.
7371         * modules/isatty-tests (Depends-on): Add pipe-posix.
7372         * tests/test-isatty.c: Include <fcntl.h>.
7373         (DEV_NULL): New macro.
7374         (main): Test the resut of isatty() also on regular files, pipes, and
7375         /dev/null.
7376
7377         New module 'isatty'.
7378         * lib/unistd.in.h (isatty): New declaration.
7379         * lib/isatty.c: New file, based on an idea of
7380         Bastien Roucariès <roucaries.bastien@gmail.com>.
7381         * m4/isatty.m4: New file.
7382         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
7383         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
7384         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
7385         REPLACE_ISATTY.
7386         * modules/isatty: New file.
7387         * doc/posix-functions/isatty.texi: Mention the new module.
7388         Suggested by Paolo Bonzini.
7389
7390 2012-01-02  Bruno Haible  <bruno@clisp.org>
7391
7392         canonicalize: Tweak 2011-12-29 commit.
7393         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
7394         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
7395
7396 2012-01-02  Jim Meyering  <meyering@redhat.com>
7397
7398         gitlog-to-changelog: describe input syntax in --help output
7399         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
7400
7401         gitlog-to-changelog: fix typo in --help: show backslash before email @
7402         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
7403         in sources, but not in actual output.
7404
7405 2011-12-30  Jim Meyering  <meyering@redhat.com>
7406
7407         gitlog-to-changelog: don't malfunction when name contains %-directive
7408         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
7409         in a name string cause trouble.  E.g., with a user name of "%s",
7410         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
7411
7412 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
7413
7414         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
7415         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
7416         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
7417         the "  (tiny change)" notation that is appended to the standard
7418         ChangeLog "date  name  email" header line.
7419
7420 2012-01-01  Jim Meyering  <meyering@redhat.com>
7421
7422         test-framework-sh: init.sh: fix "make dist" failure
7423         When using gnulib-tool's --with-tests option and any module that
7424         depends on test-framework-sh, "make dist" would fail due to the
7425         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
7426         in the gltests directory, and not in the gllib/ directory.
7427         One way to work around that is to move the EXTRA_DIST += init.sh
7428         from the primary module to the -tests one:
7429         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
7430         * modules/test-framework-sh (Makefile.am): ...not here.
7431         Reported by Tom G. Christensen in
7432         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
7433
7434         version-etc: update copyright year reported by --version
7435         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
7436
7437 2011-12-31  Pádraig Brady  <P@draigBrady.com>
7438
7439         canonicalize: only stat() if required
7440         * lib/canonicalize.c (canonicalize_filename_mode):
7441         Avoid calling l?stat() when both CAN_MISSING,
7442         and CAN_NOLINKS are set, as we neither need
7443         to resolve symlinks or test component existence.
7444
7445 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
7446
7447         doc: cover st_ino issues once; add OpenVMS etc.
7448         * doc/posix-functions/stat.texi (stat):
7449         * doc/posix-functions/lstat.texi (lstat):
7450         * doc/posix-functions/fstatat.texi (fstatat):
7451         * doc/posix-functions/fstat.texi (fstat):
7452         Move general 'struct stat' stuff to sys_stat.texi,
7453         leaving behind a pointer.
7454         * doc/posix-headers/sys_stat.texi (sys/stat.h):
7455         Merge duplicate info about 'struct stat' problems into here.
7456         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
7457         and suggest partial workarounds.
7458
7459         same-inode: port to OpenVMS
7460         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
7461         three st_ino values.
7462
7463 2011-12-30  Pádraig Brady  <P@draigBrady.com>
7464
7465         canonicalize: fix references to stat() and lstat()
7466         * lib/canonicalize.c (canonicalize_filename_mode):
7467         Ensure references always resolve to a replacement
7468         function if required (even via a macro).
7469
7470 2011-12-30  Jim Meyering  <meyering@redhat.com>
7471
7472         gitlog-to-changelog: remove a little duplication
7473         * build-aux/gitlog-to-changelog (main): Grep @lines once,
7474         rather than twice.
7475
7476 2011-12-29  Pádraig Brady  <P@draigBrady.com>
7477
7478         canonicalize: add support for not resolving symlinks
7479         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
7480         indicate we don't want to follow symlinks.  Also
7481         provide CAN_MODE_MASK to aid setting these existing
7482         mutually exclusive values.
7483         * lib/canonicalize.c (canonicalize_filename_mode):
7484         Extract the flags from can_mode parameter, which
7485         are currently just used to select between stat()
7486         and lstat().  Also ensure that mutually exclusive
7487         values are flagged immediately as invalid.
7488         * tests/test-canonicalize.c: Verify symlinks are
7489         not followed, and that invalid flag combinations
7490         are diagnosed.
7491
7492 2011-12-25  Jim Meyering  <meyering@redhat.com>
7493
7494         gitlog-to-changelog: do not clump multi-paragraph entries
7495         Identical header lines (date,name,email+coauthors) are suppressed,
7496         thus putting all entries with those same characteristics under
7497         a single header.  However, when a log entry consists of two or
7498         more paragraphs, it may not be clear where it starts and ends.
7499         This change makes it so that such an entry is always separated
7500         from others by a header line, even when that header would
7501         otherwise be suppressed.
7502         * build-aux/gitlog-to-changelog: Implement the above.
7503         Inspired by a related request from Stefano Lattarini in
7504         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
7505
7506 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7507
7508         announce-gen: fix `cmd' typo in diagnostic
7509         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
7510         diagnostic: a missing '$' meant that the command was not output.
7511
7512 2011-12-23  Jim Meyering  <meyering@redhat.com>
7513
7514         test-framework-sh: distribute init.sh
7515         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
7516         Otherwise, "make -C gnulib-tests check" (at least in grep) would
7517         fail due to the lack of init.sh.
7518
7519         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
7520         * modules/atexit-tests: Rather than listing tests/init.sh,
7521         now that there's a module for it, simply depend on that new module.
7522         * modules/closein-tests: Likewise.
7523         * modules/exclude-tests: Likewise.
7524         * modules/getcwd-tests: Likewise.
7525         * modules/perror-tests: Likewise.
7526         * modules/pread-tests: Likewise.
7527         * modules/pwrite-tests: Likewise.
7528         * modules/vc-list-files-tests: Likewise.
7529         * modules/verify-tests: Likewise.
7530         * modules/xalloc-die-tests: Likewise.
7531         * modules/xstrtoimax-tests: Likewise.
7532         * modules/xstrtol-tests: Likewise.
7533         * modules/xstrtoll-tests: Likewise.
7534         * modules/xstrtoumax-tests: Likewise.
7535         * modules/yesno-tests: Likewise.
7536
7537 2011-12-22  Jim Meyering  <meyering@redhat.com>
7538
7539         test-framework-sh: add minimal tests of init.sh's compare function
7540         * modules/test-framework-sh-tests: New file.
7541         * tests/test-init.sh: New file.
7542
7543         test-framework-sh: new module
7544         * modules/test-framework-sh: New file.
7545         * MODULES.html.sh (Support for maintaining and releasing projects):
7546         List it.
7547
7548         init.sh: do not emit simulated diff output to stderr
7549         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
7550
7551 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7552
7553         .gitignore: ignore gnulib.dvi and regex.info
7554         * doc/.gitignore:add gnulib.dvi and regex.info
7555
7556 2011-12-22  Jim Meyering  <meyering@redhat.com>
7557
7558         init.sh: correct previous change
7559         * tests/init.sh (compare): My previous change was wrong.
7560         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
7561
7562         init.sh: avoid unwarranted test failure when using "set -e"
7563         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
7564         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
7565         a use like "compare exp out" would get evoke an unconditional failure.
7566
7567 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
7568
7569         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
7570         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
7571         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
7572         autoreconf that did not.
7573         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
7574         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7575
7576 2011-12-17  Jim Meyering  <meyering@redhat.com>
7577
7578         bootstrap: remove some now-unneeded code
7579         This script arose back when gnulib-tool was young.
7580         Since then, it has seen improvements that render much of this
7581         script unnecessary.  In particular, it can now make symlinks
7582         to the files it uses.  Also, I no longer see as much value in
7583         marking files as read-only via comments.
7584         If you relied on the symlink-creation feature of the preceding
7585         version of this script, you can get most of that functionality
7586         by adding the --symlink option to the definition of
7587         gnulib_tool_option_extras in your bootstrap.conf file.
7588         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
7589         Run autopoint and libtoolize *before* gnulib-tool.
7590         After it, run an abbreviated autoreconf, rather than a loop around
7591         all tools.
7592         (slirp, bt_mark_as_generated): Remove functions.
7593
7594 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7595
7596         ftoastr: fix typo
7597         * lib/ftoastr.h: Fix misspelling in comment.
7598
7599 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
7600
7601         * top/README-release: fix punctuation.
7602
7603 2011-12-17  Jim Meyering  <meyering@redhat.com>
7604
7605         bootstrap: correct the recent buildreq change
7606         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
7607         had no effect.
7608         * build-aux/bootstrap (buildreq): Bracket each search term with
7609         "*...*", so that the shell "case" statement works as intended.
7610         Add comments.
7611
7612 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
7613
7614         build: let bootstrap resort to wget when downloading .po files
7615         * build-aux/bootstrap (download_po_files): Fallback to wget when
7616         downloading the .po files via rsync fails.  This is necessary to
7617         bootstrap from behind a strict firewall.
7618
7619 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7620
7621         stdint: don't assume C++11 when compiling with g++
7622         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
7623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
7624         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
7625         work also in C++ before C++11, as that improperly inhibits
7626         generating a substitute stdint.h for that case.
7627
7628 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7629
7630         alloca: protect comment from gnulib-tool
7631         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
7632         that gnulib-tool doesn't think it's a license, and munge it to
7633         say "GCC version 3".
7634
7635 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
7636
7637         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
7638         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
7639         $(abs_top_builddir) instead of $(top_builddir).
7640
7641 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
7642
7643         strftime-tests: also test nanoseconds
7644         * tests/test-strftime.c (T): Add a test of %N.
7645
7646 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
7647
7648         inttypes, stdint: add C++11 support
7649         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
7650         when including inttypes.h and stdint.h.  Support this change to
7651         the standard.
7652         * doc/posix-headers/inttypes.texi (inttypes.h):
7653         * doc/posix-headers/stdint.texi (stdint.h): Document this.
7654         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
7655         Define if not defined already, for the benefit of pre-C++11 hosts.
7656         Define the standard format macros (e.g., PRId8) always.
7657         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
7658         Likewise, if __cpluspus.  Define the standard constant and limit
7659         macros (e.g., INT8_C, INT8_MAX) always.
7660         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
7661         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
7662         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
7663         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
7664         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
7665         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
7666         Likewise.
7667
7668 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
7669
7670         nonblocking tests: Fix test failure on Linux/PPC.
7671         Suggested by Prerna Saxena in
7672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
7673         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
7674         Set to 1100000.
7675
7676 2011-12-12  Jim Meyering  <meyering@redhat.com>
7677
7678         argmatch: don't hard-code `' when listing valid option arguments
7679         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
7680         use the quote function to add quotes.  Use fputs rather than
7681         fprintf for the format string with no format directive.
7682
7683 2011-12-07  Eric Blake  <eblake@redhat.com>
7684
7685         bootstrap: detect tools required by gnulib-tool
7686         * build-aux/bootstrap (buildreq): Provide minimum implicit
7687         dependencies.
7688         * DEPENDENCIES: Mention patch as a prereq.
7689
7690 2011-12-04  Bruno Haible  <bruno@clisp.org>
7691
7692         sethostname: Port to Windows platforms.
7693         * lib/sethostname.c: Provide an alternate implementation for Windows
7694         platforms.
7695         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
7696         (main): Skip the test if sethostname() fails with EPERM. On Windows
7697         platforms, don't check the result of gethostname().
7698
7699 2011-12-04  Bruno Haible  <bruno@clisp.org>
7700             Jim Meyering  <meyering@redhat.com>
7701
7702         tests: Avoid spurious error message on platforms without mktemp program.
7703         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
7704
7705 2011-12-04  Bruno Haible  <bruno@clisp.org>
7706
7707         sethostname: Fix documentation.
7708         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
7709         "not fixed" section.
7710
7711 2011-12-03  Bruno Haible  <bruno@clisp.org>
7712
7713         gnulib-tool: Verify that the License field is present and non-empty.
7714         * gnulib-tool (func_get_license_raw): New function, extracted from
7715         func_get_license.
7716         (func_get_license): Use it. Warn if the module is not a test module and
7717         has no license.
7718         Suggested by Jim Meyering.
7719
7720 2011-12-03  Bruno Haible  <bruno@clisp.org>
7721
7722         sethostname tests: Fix link error on mingw.
7723         * tests/test-sethostname1.c: New file, extracted from
7724         tests/test-sethostname.c.
7725         * tests/test-sethostname2.c: New file, extracted from
7726         tests/test-sethostname.c.
7727         * tests/test-sethostname.c: Remove file.
7728         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
7729         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
7730         (Depends-on): Add gethostname.
7731         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
7732         Link the latter with $(GETHOSTNAME_LIB).
7733
7734         sethostname tests: Fix compilation error on mingw.
7735         * tests/test-sethostname.c: Don't include <sys/types.h>.
7736         (geteuid): Use a dummy value without uid_t.
7737         * modules/sethostname-tests (Depends-on): Remove sys_types.
7738
7739         sethostname tests: Avoid a gcc warning.
7740         * tests/test-sethostname.c (main): Remove an unused variable.
7741
7742         Tweak last commit.
7743         * modules/sethostname-tests (Files): Sort by decreasing importance.
7744         (configure.ac): Check for geteuid.
7745         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
7746         the test when there's nothing to test. Drop an unnecessary cast.
7747         Improve an error message. Verify that the final sethostname() call
7748         succeeds.
7749
7750 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7751
7752         Add a test suite for the sethostname module.
7753         * modules/sethostname-tests: New file.  A test program
7754         for the sethostname module.
7755         * tests/test-sethostname.c: Likewise.
7756
7757 2011-12-03  Bruno Haible  <bruno@clisp.org>
7758
7759         Tweak last commit.
7760         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
7761         Fix preprocessor directives indentation. Fix typos.
7762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
7763         * modules/unistd (Makefile): Likewise.
7764
7765 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7766
7767         Integrate the sethostname module into unistd.
7768         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
7769         into the unistd.h header.
7770         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
7771         preprocessor directives.
7772         * modules/unistd: Setup the Makefile substitutions of the
7773         SETHOSTNAME preprocessor directives.
7774
7775 2011-12-03  Bruno Haible  <bruno@clisp.org>
7776
7777         Tweak last commit.
7778         * lib/sethostname.c: Don't include <string.h>.
7779         (sethostname): No need to copy the argument string to the stack. Don't
7780         call clearerr. Preserve errno when fprintf failed.
7781         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
7782         Don't invoke AC_REPLACE_FUNCS.
7783         * modules/sethostname (Link): Remove empty section.
7784         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
7785         failure problem.
7786
7787 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7788
7789         New module 'sethostname'.
7790         * lib/sethostname.c (sethostname): New file.  Provide sethostname
7791         for systems that lack it.
7792         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
7793         sethostname declaration and function.
7794         * modules/sethostname: New file.  Define the sethostname module.
7795
7796 2011-12-03  Bruno Haible  <bruno@clisp.org>
7797
7798         Tweak last commit.
7799         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
7800
7801 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7802
7803         Split the HOST_NAME_MAX detection into a separate m4 macro.
7804         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
7805         macro so it can be used by the pending sethostname module.
7806
7807 2011-12-03  Bruno Haible  <bruno@clisp.org>
7808
7809         Fix module descriptions syntax.
7810         * modules/argv-iter (License): Fix syntax.
7811         * modules/di-set (License): Likewise.
7812         * modules/ino-map (License): Likewise.
7813         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
7814
7815 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7816
7817         stdalign: port to Clang 3.0
7818         Problem reported by Simon Josefsson in
7819         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
7820         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
7821         which has <stdalign.h> but which does not define alignof.
7822         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
7823
7824 2011-12-01  Eric Blake  <eblake@redhat.com>
7825
7826         mktempd: silence dd usage
7827         * build-aux/mktempd (rand_bytes): Silence dd.
7828
7829 2011-11-30  Simon Josefsson  <simon@josefsson.org>
7830
7831         manywarnings: Don't mention gcc version in docstring.
7832         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
7833         Jim Meyering <meyering@redhat.com>.
7834
7835 2011-11-30  Jim Meyering  <meyering@redhat.com>
7836
7837         hash: mark a few floating point constants with "f" suffix
7838         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
7839         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
7840         floating point constants with "f", since they're destined to be
7841         saved/used as "float"s.
7842
7843 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
7844
7845         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
7846         * tests/test-float.c (test_long_double): Correct and re-enable the
7847         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
7848
7849 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
7850
7851         Avoid subtracting two pointers that don't point into the same block.
7852         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
7853         only pointers into the same memory block are subtracted. We cannot
7854         assume that sizeof (ptrdiff_t) == sizeof (void *).
7855
7856 2011-11-29  Eric Blake  <eblake@redhat.com>
7857
7858         maint.mk: add syntax check for use of compare from init.sh
7859         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
7860         moved here from coreutils.
7861
7862         manywarnings: drop -Wunsuffixed-float-constants
7863         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
7864         '1.0D', which is the only way to silence this warning for 'double'.
7865
7866 2011-11-29  Jim Meyering  <meyering@redhat.com>
7867
7868         hash: mark compute_bucket_size with the pure attribute
7869         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
7870
7871         quotearg, propername: correct pragma guard expression
7872         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
7873         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
7874
7875 2011-11-28  Jim Meyering  <meyering@redhat.com>
7876
7877         propername: do not mark proper_name with the const attribute
7878         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
7879         since it examines data pointed to by its parameter.
7880         * lib/propername.c (proper_name): Instead, add a pragma to suppress
7881         the suggestion from -Wsuggest-attribute=const.
7882
7883         propername: mark one more function as const
7884         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
7885
7886 2011-11-27  Jim Meyering  <meyering@redhat.com>
7887
7888         mark functions with const and pure attributes
7889
7890         Mark functions per suggestions from gcc-4.6 when using these options:
7891         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
7892         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
7893         Follow these guidelines: when possible, apply the attribute to
7894         an extern declaration, not to its definition.  Apply it to the
7895         definition only when the definition is static.
7896         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
7897         * lib/argv-iter.h (argv_iter_n_args): Likewise.
7898         * lib/base64.h (isbase64): Likewise.
7899         * lib/basename-lgpl.c (last_component, base_len): Likewise.
7900         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
7901         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
7902         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
7903         (c_tolower, c_toupper): Likewise.
7904         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
7905         * lib/chdir-long.c (find_non_slash): Likewise.
7906         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
7907         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
7908         * lib/file-type.h (file_type): Likewise.
7909         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
7910         * lib/filevercmp.c (verrevcmp): Likewise.
7911         * lib/freadahead.h (freadahead): Likewise.
7912         * lib/fts.c (fts_maxarglen): Likewise.
7913         * lib/hash-pjw.h (hash_pjw): Likewise.
7914         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
7915         * lib/hash.c (is_prime, next_prime): Likewise.
7916         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
7917         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
7918         (hash_table_ok, hash_get_first, hash_string): Likewise.
7919         (compute_bucket_size): Likewise.
7920         * lib/i-ring.h (i_ring_empty): Likewise.
7921         * lib/isnan.c (isnanl): Likewise.
7922         * lib/math.h (isnanl, rpl_isnanl): Likewise.
7923         * lib/memcasecmp.h (memcasecmp): Likewise.
7924         * lib/memchr2.h (memchr2): Likewise.
7925         * lib/memcmp2.h (memcmp2): Likewise.
7926         * lib/parse-datetime.y (lookup_zone): Likewise.
7927         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
7928         [!WINDOWS_SOCKETS]: Likewise.
7929         * lib/strnlen1.h (strnlen1): Likewise.
7930         * lib/uniwidth.in.h (uc_width): Likewise.
7931         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
7932         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
7933         (quoting_options_from_style): Add a comment.
7934         * lib/propername.h (proper_name): Add a comment.
7935
7936 2011-11-27  Bruno Haible  <bruno@clisp.org>
7937
7938         Remove unused macros from !_LIBC code in glibc-borrowed files.
7939         * lib/fnmatch.c (STRCOLL): Remove macro.
7940         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
7941         * lib/glob.c (__stat, __readdir64): Remove macros.
7942         * lib/tempname.c (__open64, __xstat64): Remove macros.
7943         Suggested by Paul Eggert.
7944
7945 2011-11-27  Bruno Haible  <bruno@clisp.org>
7946
7947         getcwd: Fix link error on MSVC 9.
7948         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7949
7950 2011-11-27  Bruno Haible  <bruno@clisp.org>
7951
7952         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7953         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7954         HAVE_OPENDIR is 0.
7955         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7956         HAVE_CLOSEDIR is 0.
7957         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7958         is 0.
7959         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7960
7961 2011-11-27  Bruno Haible  <bruno@clisp.org>
7962
7963         getcwd: Fix bug from 2011-08-17.
7964         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7965         platforms that need it.
7966         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7967         code of 4 to be a failure, not a success. This ensures that
7968         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7969
7970 2011-11-27  Bruno Haible  <bruno@clisp.org>
7971
7972         binary-io tests: Avoid test failure on mingw when libtool is used.
7973         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7974         Don't verify the size of t-bin-out1.tmp here.
7975         * tests/test-binary-io.sh: Verify it here.
7976         Reported by Simon Josefsson.
7977
7978 2011-11-26  Bruno Haible  <bruno@clisp.org>
7979
7980         Fix conflict between two instantiations of module 'unistd'.
7981         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7982         ${include_guard_prefix} also in the autoconf snippet.
7983         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7985         GNULIB_UNISTD_H_GETOPT.
7986         * modules/getopt-posix (configure.ac): Set the
7987         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7988         * modules/getopt-gnu (configure.ac): Likewise.
7989         * modules/unistd (Makefile.am): Change the substitution value of
7990         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7991         Reported by Simon Josefsson.
7992
7993 2011-11-25  Bruno Haible  <bruno@clisp.org>
7994
7995         pagealign_alloc: Doc and comments.
7996         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7997         module.
7998         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7999
8000 2011-11-25  Jim Meyering  <meyering@redhat.com>
8001
8002         test-update-copyright.sh: avoid false-positive failure
8003         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
8004         around false positive failure on Cygwin/Windows.  The latter was
8005         matching erroneously-created files with names like
8006         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
8007
8008 2011-11-25  Simon Josefsson  <simon@josefsson.org>
8009
8010         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
8011         * m4/valgrind-tests.m4: Check that the parameters that will be
8012         used works, not just a subset of them.  Reported by Bruno Haible
8013         <bruno@clisp.org>.
8014
8015 2011-11-24  Jim Meyering  <meyering@redhat.com>
8016
8017         test-stdalign.c: comment out long double tests
8018         * tests/test-stdalign.c: Don't try to reduce alignment of long double
8019         variables.  That provokes errors like this from gcc-4.7.0 20111124:
8020         error: '_Alignas' specifiers cannot reduce alignment of \
8021         'static_longdouble_alignas'.
8022
8023 2011-11-22  Jim Meyering  <meyering@redhat.com>
8024
8025         init.sh: make "compare /dev/null FILE" output more readable
8026         * tests/init.sh (compare_): Document the preferred order of arguments.
8027         (emit_diff_u_header_): New function.
8028         (compare_dev_null_): Emit a simulated diff, rather than just the
8029         contents of the unexpected file.  Suggestion from Bruno Haible.
8030
8031 2011-11-21  Jim Meyering  <meyering@redhat.com>
8032             Eric Blake  <eblake@redhat.com>
8033
8034         init.sh: work around OSF/1 5.1's mishandling of /dev/null
8035         * tests/init.sh: Make our compare function slightly more portable.
8036         Reported by Bruno Haible in
8037         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
8038
8039 2011-11-21  Simon Josefsson  <simon@josefsson.org>
8040
8041         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
8042         before using it, in code that ends up in config.h.
8043
8044 2011-11-20  Bruno Haible  <bruno@clisp.org>
8045
8046         getcwd: Work around getcwd bug on AIX 5..7.
8047         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
8048         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
8049         Use a different value for gl_cv_func_getcwd_path_max. Move the
8050         definition of HAVE_PARTLY_WORKING_GETCWD from here...
8051         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
8052         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
8053         Define HAVE_MINIMALLY_WORKING_GETCWD.
8054         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
8055         where it is not even minimally working, that is, on AIX.
8056         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
8057         m4/getcwd-path-max.m4.
8058         (main): Update exit code computation.
8059         * doc/posix-functions/getcwd.texi: Mention list of platforms where
8060         getcwd does not handle long file names.
8061
8062 2011-11-20  Bruno Haible  <bruno@clisp.org>
8063
8064         getcwd: Fix bug from 2009-09-10.
8065         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
8066         like "no".
8067
8068 2011-11-20  Simon Josefsson  <simon@josefsson.org>
8069
8070         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
8071
8072 2011-11-20  Bruno Haible  <bruno@clisp.org>
8073
8074         fma tests: Avoid shadowing local variables.
8075         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
8076         expected.
8077
8078 2011-11-20  Bruno Haible  <bruno@clisp.org>
8079
8080         copysignf tests: Fix.
8081         * tests/test-copysignf.c: Fix signature check.
8082
8083 2011-11-20  Bruno Haible  <bruno@clisp.org>
8084
8085         fma: Remove unused code.
8086         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
8087         unused macros.
8088
8089 2011-11-20  Bruno Haible  <bruno@clisp.org>
8090
8091         sethostname: Fix doc about AIX.
8092         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
8093         sethostname; it has it.
8094
8095         sethostname: Mention more portability problems.
8096         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
8097         problem.
8098         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
8099
8100 2011-11-19  Bruno Haible  <bruno@clisp.org>
8101
8102         Depend on module fcntl-h when AT_FDCWD is used.
8103         * modules/utimens (Depends-on): Add fcntl-h.
8104         * modules/areadlinkat (Depends-on): Likewise.
8105         * modules/areadlinkat-with-size (Depends-on): Likewise.
8106         * modules/faccessat (Depends-on): Likewise.
8107         * modules/fchmodat (Depends-on): Likewise.
8108         * modules/fchownat (Depends-on): Likewise.
8109         * modules/getcwd (Depends-on): Likewise.
8110         * modules/mkdirat (Depends-on): Likewise.
8111         * modules/mkfifoat (Depends-on): Likewise.
8112         * modules/readlinkat (Depends-on): Likewise.
8113         * modules/symlinkat (Depends-on): Likewise.
8114         * modules/dup2-tests (Depends-on): Likewise.
8115         * modules/fdutimensat-tests (Depends-on): Likewise.
8116         * modules/futimens-tests (Depends-on): Likewise.
8117
8118 2011-11-19  Bruno Haible  <bruno@clisp.org>
8119
8120         euidaccess: Update a comment.
8121         * lib/euidaccess.c: Update comment about platforms with faccessat.
8122
8123 2011-11-19  Bruno Haible  <bruno@clisp.org>
8124
8125         openat: Fix file list.
8126         * modules/openat (Files): Remove lib/at-func.c.
8127
8128 2011-11-19  Bruno Haible  <bruno@clisp.org>
8129
8130         fstatat: Simplify.
8131         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
8132         gnulib should define rpl_fstatat, there is a
8133         "#define fstatat rpl_fstatat" in <sys/stat.h>.
8134
8135 2011-11-19  Bruno Haible  <bruno@clisp.org>
8136
8137         Ensure 'inline' can be used in tests/test-utimens-common.h.
8138         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
8139         * modules/futimens-tests (configure.ac): Likewise.
8140         * modules/utimens-tests (configure.ac): Likewise.
8141         * modules/utimensat-tests (configure.ac): Likewise.
8142
8143 2011-11-19  Simon Josefsson  <simon@josefsson.org>
8144
8145         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
8146         not hash_insert0.
8147         (hash_insert_if_absent): Doc fix.
8148
8149 2011-11-19  Simon Josefsson  <simon@josefsson.org>
8150
8151         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
8152
8153 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8154
8155         test-getcwd: disambiguate exit status
8156         * tests/test-getcwd.c (test_long_name): Return 0..7.
8157         (main): Exit with an unambiguous exit status.  The old
8158         code yielded a mysterious mixture of two failure codes.
8159
8160         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
8161         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
8162         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
8163         rpl_fstatat or fstatat.  This should fix the other problem
8164         reported by Kai Habel in
8165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
8166         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
8167         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
8168         and I reproduced it on a Solaris 8 host we still have in production.
8169
8170 2011-11-18  Jim Meyering  <meyering@redhat.com>
8171
8172         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
8173         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
8174         Add a sentence to the comment.
8175         (hash_insert0): New function that simply calls hash_insert_if_absent.
8176         * lib/hash.h (hash_insert_if_absent): Declare it.
8177         (hash_insert0): Add deprecation attribute.
8178         (_GL_ATTRIBUTE_DEPRECATED): Define.
8179         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
8180         not hash_insert0.
8181         * NEWS: Mention it, even though it's not really an incompatible change.
8182
8183 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
8184
8185         openat: avoid compilation failure due to lack of <errno.h> inclusion
8186         * lib/openat.c: Include <errno.h>.
8187
8188 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8189
8190         * modules/getcwd (Depends-on): Add fdopendir.
8191         This fixes one of the two problems reported by Kai Habel in
8192         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
8193
8194         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
8195         stdalign problem reported by Ian Beckwith in
8196         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
8197         * modules/crypto/gc-arcfour (Depends-on):
8198         Depend conditionally on crypto/arcfour.
8199         * modules/crypto/gc-arctwo (Depends-on):
8200         Depend conditionally on crypto/arctwo.
8201         * modules/crypto/gc-des (Depends-on):
8202         Depend conditionally on crypto/des.
8203         * modules/crypto/gc-hmac-md5 (Depends-on):
8204         Depend conditionally on crypto/hmac-md5.
8205         * modules/crypto/gc-hmac-sha1 (Depends-on):
8206         Depend conditionally on crypto/hmac-sha1.
8207         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
8208         * modules/crypto/gc-md4 (Depends-on):
8209         Depend conditionally on crypto/md4.
8210         * modules/crypto/gc-md5 (Depends-on):
8211         Depend conditionally on crypto/md5.
8212         * modules/crypto/gc-rijndael (Depends-on):
8213         Depend conditionally on crypto/rijndael.
8214         * modules/crypto/gc-sha1 (Depends-on):
8215         Depend conditionally on crypto/sha1.
8216         * modules/crypto/gc-arcfour:
8217         * modules/crypto/gc-arctwo:
8218         * modules/crypto/gc-des:
8219         * modules/crypto/gc-hmac-md5:
8220         * modules/crypto/gc-hmac-sha1:
8221         * modules/crypto/gc-md2:
8222         * modules/crypto/gc-md4:
8223         * modules/crypto/gc-md5:
8224         * modules/crypto/gc-rijndael:
8225         * modules/crypto/gc-sha1:
8226         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
8227         now that the conditional dependencies do the work for us.
8228
8229 2011-11-17  Jim Meyering  <meyering@redhat.com>
8230
8231         tests: factor st_ctime-comparison out of two headers
8232         * tests/test-utimens-common.h (ctime_compare): Define.
8233         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
8234         * tests/test-lutimens.h (test_lutimens): Likewise.
8235         * tests/test-utimens.h (test_utimens): Likewise.
8236
8237         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
8238         Invoke the test program via an init.sh-using wrapper.
8239         * tests/test-getcwd.sh: New file.
8240         * modules/getcwd-tests (Files): Add it.
8241         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
8242
8243 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
8244
8245         gitlog-to-changelog: support multi-author commits.
8246         The FSF cares about keeping track of all authors of patches to its
8247         projects, but Git doesn't provide obvious support for multi-author
8248         changesets. Consensus seems to be forming around the use of extra
8249         Signed-off-by inspired lines in the log message formatted as
8250         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
8251         multi-author commits between version control systems.
8252         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
8253         log message and output in standard ChangeLog multi-author format.
8254         Reported by Peter Rosin <peda@lysator.liu.se>
8255
8256 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
8257             Bruno Haible  <bruno@clisp.org>
8258
8259         Fix some modules' file list.
8260         * modules/fstatat (Files): Add m4/lstat.m4.
8261         * modules/openat (Files): Likewise.
8262         * modules/unlinkat (Files): Likewise.
8263
8264 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
8265
8266         maint.mk: fix tight-scope.mk generation in VPATH builds.
8267         * top/maint.mk (tight-scope.mk): Make sure to prefix file
8268         reference with $(srcdir) so that the file is found correctly even
8269         when running `make syntax-check' in a VPATH build.
8270
8271 2011-11-13  Bruno Haible  <bruno@clisp.org>
8272             Jim Meyering  <meyering@redhat.com>
8273
8274         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
8275         * tests/init.sh (compare): Remove "No differences encountered" or
8276         synonymous output from the 'diff' program.
8277
8278 2011-11-13  Bruno Haible  <bruno@clisp.org>
8279
8280         Makefile: Tweak indentation.
8281         * Makefile: Use tab as first character in every line that contains rule
8282         commands.
8283
8284 2011-11-13  Bruno Haible  <bruno@clisp.org>
8285
8286         Syntax check for copyright statements.
8287         * check-copyright: New file.
8288         * Makefile (sc_check_copyright): New rule.
8289
8290 2011-11-13  Simon Josefsson  <simon@josefsson.org>
8291
8292         * build-aux/git-version-gen: Add --prefix to configure the tag
8293         match string.
8294
8295 2011-11-13  Simon Josefsson  <simon@josefsson.org>
8296
8297         * build-aux/git-version-gen: Add --help and --version.
8298
8299 2011-11-12  Jim Meyering  <meyering@redhat.com>
8300
8301         revamp the other test-exclude?.sh scripts to use init.sh, too
8302         * tests/test-exclude1.sh: Use init.sh.
8303         * tests/test-exclude2.sh: Likewise.
8304         * tests/test-exclude3.sh: Likewise.
8305         * tests/test-exclude4.sh: Likewise.
8306         * tests/test-exclude5.sh: Likewise.
8307         * tests/test-exclude6.sh: Likewise.
8308         * tests/test-exclude7.sh: Likewise.
8309         * tests/test-exclude8.sh: Likewise.
8310         * modules/exclude-tests (Files): List init.sh.
8311
8312         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
8313         These shell scripts ignored failure of the binary test-exclude,
8314         so making the latter return 77 didn't cause them to be skipped.
8315         * tests/test-exclude5.sh: Exit with test-exclude's error status
8316         when that program fails.  Revamp to use init.sh.
8317         * tests/test-exclude2.sh: Likewise.
8318
8319         test-exclude: fix a typo
8320         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
8321
8322 2011-11-11  Bruno Haible  <bruno@clisp.org>
8323
8324         obstack: Fix compilation error on MSVC 9.
8325         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
8326
8327 2011-11-11  Jim Meyering  <meyering@redhat.com>
8328
8329         test-exclude: skip tests rather than failing on deficient systems
8330         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
8331         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
8332         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
8333         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
8334
8335 2011-11-10  Bruno Haible  <bruno@clisp.org>
8336
8337         ptsname_r test: Avoid gcc warning on glibc systems.
8338         * tests/test-ptsname_r.c (null_ptr): New function.
8339         (test_errors): Use it.
8340
8341 2011-11-10  Bruno Haible  <bruno@clisp.org>
8342
8343         ptsname_r: Avoid compilation error on OSF/1 5.1.
8344         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
8345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
8346         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
8347         function is not declared or incompatibly declared.
8348         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
8349         * modules/ptsname_r (Depends-on, configure.ac): Update.
8350         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
8351
8352 2011-11-10  Bruno Haible  <bruno@clisp.org>
8353
8354         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
8355         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
8356         When cross-compiling, guess yes on all platforms except AIX.
8357         Reported by Ludovic Courtès <ludo@gnu.org>.
8358
8359 2011-11-09  Bruno Haible  <bruno@clisp.org>
8360
8361         ptsname_r tests: Fix bugs.
8362         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
8363         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
8364
8365 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8366
8367         fstatat: work with cross-compilation
8368         Problem reported by Ludovic Courtès in
8369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
8370         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
8371         "cross-compiling" and assume the bug is present.  Replace
8372         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
8373         an inverted sense, to be more conservative about our assumptions.
8374         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
8375
8376 2011-11-09  Bruno Haible  <bruno@clisp.org>
8377
8378         Improve MODULES.html output.
8379         * modules/mkfifoat (Description): Use the word "function".
8380         * modules/readlinkat (Description): Likewise.
8381         * modules/symlinkat (Description): Likewise.
8382
8383 2011-11-09  Eric Blake  <eblake@redhat.com>
8384
8385         ptsname_r-tests: new test module
8386         * modules/ptsname_r-tests: New module.
8387         * tests/test-ptsname_r.c: New file.
8388
8389         ptsname_r: new module
8390         * modules/ptsname_r: New module.
8391         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
8392         * lib/ptsname.c (__ptsname_r): Split...
8393         * lib/ptsname_r.c: ...into new file.
8394         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8395         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
8396         * modules/stdlib (Makefile.am): Substitute witnesses.
8397         * lib/stdlib.in.h (ptsname_r): Declare it.
8398         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
8399         * MODULES.html.sh (Misc): Likewise.
8400         * modules/ptsname (Depends-on): Alter dependency.
8401         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
8402
8403 2011-11-09  Jim Meyering  <meyering@redhat.com>
8404
8405         announce-gen: be more concise when there's only one URL+tarball
8406         * build-aux/announce-gen (get_tool_versions): When you distribute
8407         only one type of tarball, combine the first two "Here are..."
8408         sections and make the key-checking grammar independent of
8409         how many tarballs there are.
8410
8411 2011-11-09  Eric Blake  <eblake@redhat.com>
8412
8413         openpty: provide a stub on mingw
8414         * lib/pty.in.h (includes): Provide forward declarations.
8415         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
8416
8417         raise: fix mingw handling of SIGPIPE
8418         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
8419
8420 2011-11-08  Bruno Haible  <bruno@clisp.org>
8421
8422         More conditional dependencies.
8423         * modules/faccessat (Depends-on): Add conditions.
8424         * modules/fchmodat (Depends-on): Likewise.
8425         * modules/fchownat (Depends-on): Likewise.
8426         * modules/fstatat (Depends-on): Likewise.
8427         * modules/mkfifoat (Depends-on): Likewise.
8428         * modules/readlinkat (Depends-on): Likewise.
8429         * modules/symlinkat (Depends-on): Likewise.
8430         * modules/unlinkat (Depends-on): Likewise.
8431         * modules/utimensat (Depends-on): Likewise.
8432         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
8433         * modules/linkat (Depends-on): Refine the conditions.
8434         * modules/renameat (Depends-on): Likewise.
8435
8436 2011-11-08  Bruno Haible  <bruno@clisp.org>
8437
8438         faccessat: Move AC_LIBOBJ invocation to module description.
8439         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
8440         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
8441         invocation from here...
8442         * modules/faccessat (configure.ac): ... to here. Invoke
8443         gl_PREREQ_FACCESSAT.
8444
8445 2011-11-08  Bruno Haible  <bruno@clisp.org>
8446
8447         faccessat: Simplify autoconf macro.
8448         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
8449         gl_FUNC_EUIDACCESS.
8450
8451 2011-11-08  Bruno Haible  <bruno@clisp.org>
8452
8453         renameat: Fix dependencies.
8454         * modules/renameat (Depends-on): Add stdbool.
8455
8456 2011-11-08  Bruno Haible  <bruno@clisp.org>
8457
8458         mkfifoat: Fix module description.
8459         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
8460         not gl_UNISTD_MODULE_INDICATOR.
8461
8462 2011-11-08  Bruno Haible  <bruno@clisp.org>
8463
8464         fstatat: Remove unused dependency.
8465         * modules/fstatat (Depends-on): Remove fstat.
8466
8467 2011-11-08  Simon Josefsson  <simon@josefsson.org>
8468
8469         GNUmakefile: behave when Makefile is missing.
8470         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
8471
8472 2011-11-08  Bruno Haible  <bruno@clisp.org>
8473
8474         openat: Conditionalize dependencies.
8475         * lib/openat.c: Reduce the scope of some #includes.
8476         * modules/openat (Depends-on): Add conditions.
8477
8478 2011-11-07  Jim Meyering  <meyering@redhat.com>
8479
8480         maint.mk: extract GPG key ID without using a temporary file
8481         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
8482         without using a temporary file.  Based on a suggestion from Werner Koch
8483         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
8484
8485 2011-11-07  Eric Blake  <eblake@redhat.com>
8486
8487         grantpt: fix typo
8488         * lib/stdlib.in.h (grantpt): Check correct function.
8489
8490         maint.mk: silence new syntax check
8491         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
8492
8493 2011-11-06  Bruno Haible  <bruno@clisp.org>
8494
8495         Doc about floating-point and math API.
8496         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
8497         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
8498
8499 2011-11-06  Bruno Haible  <bruno@clisp.org>
8500
8501         stdalign tests: Skip the test when compiled by Sun C.
8502         * tests/test-stdalign.c (main): Skip the test on Sun C.
8503
8504 2011-11-06  Bruno Haible  <bruno@clisp.org>
8505
8506         ansi-c++-opt: Complete the 2011-06-05 change.
8507         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
8508         does not support namespaces, set the variable to "no", not to ":".
8509
8510 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8511
8512         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
8513
8514 2011-11-06  Bruno Haible  <bruno@clisp.org>
8515
8516         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
8517         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
8518         (minus_zerol) [HP-UX]: New macro.
8519         (unary_minus) [HP-UX]: New function.
8520         (copysignl) [HP-UX]: Use unary_minus function.
8521
8522 2011-11-06  Bruno Haible  <bruno@clisp.org>
8523
8524         ldexp, ldexpf, ldexpl: Enhance tests.
8525         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
8526         and tests/test-ldexpl.c.
8527         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
8528         LDEXP, MIN_EXP, MAX_EXP): New macros.
8529         Include test-ldexp.h.
8530         (main): Just call test_function.
8531         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
8532         infinity.h, nan.h.
8533         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8534         MAX_EXP): New macros.
8535         Include test-ldexp.h.
8536         (x, y): Remove variables.
8537         (main): Just call test_function.
8538         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
8539         infinity.h, nan.h.
8540         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8541         MAX_EXP): New macros.
8542         Include test-ldexp.h.
8543         (x, y): Remove variables.
8544         (main): Just call test_function.
8545         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
8546         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
8547         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8548         (Depends-on): Add isnand-nolibm, signbit, float.
8549         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
8550         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8551         (Depends-on): Add isnanf-nolibm, signbit, float.
8552
8553 2011-11-06  Bruno Haible  <bruno@clisp.org>
8554
8555         math tests: Cosmetics.
8556         * tests/test-math-c++.cc: Reorder declarations.
8557
8558 2011-11-05  Bruno Haible  <bruno@clisp.org>
8559
8560         fma*: Simplify test.
8561         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
8562         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
8563
8564         Tests for module 'fmal'.
8565         * modules/fmal-tests: New file.
8566         * tests/test-fmal1.c: New file.
8567         * tests/test-fmal2.c: New file.
8568
8569         New module 'fmal'.
8570         * lib/math.in.h (fmal): New declaration.
8571         * lib/fmal.c: New file.
8572         * m4/fmal.m4: New file.
8573         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
8574         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
8575         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
8576         REPLACE_FMAL.
8577         * modules/fmal: New file.
8578         * doc/posix-functions/fmal.texi: Mention the new module and the various
8579         bugs.
8580
8581         Tests for module 'fmaf'.
8582         * modules/fmaf-tests: New file.
8583         * tests/test-fmaf1.c: New file.
8584         * tests/test-fmaf2.c: New file.
8585
8586         New module 'fmaf'.
8587         * lib/math.in.h (fmaf): New declaration.
8588         * lib/fmaf.c: New file.
8589         * m4/fmaf.m4: New file.
8590         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
8591         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
8592         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
8593         REPLACE_FMAF.
8594         * modules/fmaf: New file.
8595         * doc/posix-functions/fmaf.texi: Mention the new module and the various
8596         bugs.
8597
8598         Tests for module 'fma'.
8599         * modules/fma-tests: New file.
8600         * tests/test-fma1.c: New file.
8601         * tests/test-fma1.h: New file.
8602         * tests/test-fma2.c: New file.
8603         * tests/test-fma2.h: New file.
8604
8605         New module 'fma'.
8606         * lib/math.in.h (fma): New declaration.
8607         * lib/fma.c: New file.
8608         * m4/fma.m4: New file.
8609         * m4/fegetround.m4: New file.
8610         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
8611         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
8612         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
8613         REPLACE_FMA.
8614         * modules/fma: New file.
8615         * doc/posix-functions/fma.texi: Mention the new module and the various
8616         bugs.
8617
8618         Extend gl_MATHFUNC.
8619         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
8620         Support 'void' as argument type.
8621         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
8622
8623 2011-11-05  Jim Meyering  <meyering@redhat.com>
8624
8625         maint.mk: also prohibit inclusion of dirent.h without use
8626         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
8627
8628 2011-11-05  Bruno Haible  <bruno@clisp.org>
8629
8630         ldexpl tests: Avoid test failure on MSVC 9.
8631         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
8632         value. Needed in order to enforce the conversion from a value greater
8633         than LDBL_MAX to Infinity.
8634
8635 2011-11-05  Bruno Haible  <bruno@clisp.org>
8636
8637         New modules 'at-internal', 'openat-h', split off from module 'openat'.
8638         * modules/at-internal: New file, extracted from modules/openat.
8639         * modules/openat-h: New file.
8640         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
8641         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
8642         * modules/openat (Description): Add reference to POSIX function.
8643         (Files): Remove lib/openat.h, lib/openat-proc.c.
8644         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
8645         intprops, unistd.
8646         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
8647         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
8648         gl_FCNTL_MODULE_INDICATOR.
8649         (Include): Remove unistd.h, openat.h.
8650         * modules/areadlinkat (Files): Add lib/at-func.c.
8651         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8652         openat-die, openat-h, save-cwd.
8653         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
8654         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8655         openat-die, openat-h, save-cwd, unistd.
8656         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
8657         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8658         openat-h, save-cwd. Remove fcntl-h, openat.
8659         * modules/fchmodat (Files): Remove lib/openat.h.
8660         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8661         openat, stdbool, unistd.
8662         * modules/fchownat (Files): Remove lib/openat.h.
8663         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8664         openat, stdbool, sys_stat.
8665         * modules/fdopendir (Files): Remove lib/openat-priv.h,
8666         lib/openat-proc.c.
8667         (Depends-on): Add at-internal.
8668         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
8669         * modules/fstatat (Files): Remove lib/openat.h.
8670         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8671         stdbool, unistd.
8672         * modules/fts (Depends-on): Add openat-h.
8673         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
8674         openat.
8675         * modules/mkdirat (Files): Remove lib/openat.h.
8676         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8677         openat, stdbool, sys_stat.
8678         * modules/mkfifoat (Files): Add lib/at-func.c.
8679         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8680         openat-h, save-cwd. Remove fcntl-h, openat.
8681         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
8682         * modules/readlinkat (Files): Add lib/at-func.c.
8683         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8684         openat-h, save-cwd. Remove fcntl-h, openat.
8685         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
8686         openat.
8687         * modules/selinux-at (Files): Add lib/at-func.c.
8688         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8689         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
8690         * modules/symlinkat (Files): Add lib/at-func.c.
8691         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8692         openat-h, save-cwd. Remove fcntl-h, openat.
8693         * modules/unlinkat (Files): Remove lib/openat.h.
8694         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8695         stdbool.
8696         * modules/utimensat (Files): Add lib/at-func.c.
8697         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
8698         openat-die, openat-h, save-cwd.
8699         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
8700         * modules/fdutimensat-tests (Depends-on): Add openat.
8701         * modules/fstatat-tests (Depends-on): Add openat-h.
8702         * modules/readlinkat-tests (Depends-on): Add openat.
8703         * modules/symlinkat-tests (Depends-on): Add openat.
8704
8705 2011-11-05  Bruno Haible  <bruno@clisp.org>
8706
8707         openat: Include <stdbool.h>.
8708         * lib/openat.c: Include <stdbool.h>.
8709
8710 2011-11-04  Bruno Haible  <bruno@clisp.org>
8711
8712         fchownat, renameat, unlinkat: Fix dependencies.
8713         * modules/fchownat (Depends-on): Add fstatat.
8714         * modules/renameat (Depends-on): Likewise.
8715         * modules/unlinkat (Depends-on): Likewise.
8716
8717 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         openat: remove direct dependency on dirent
8720         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
8721         and hasn't been needed ever since fdopendir was split into its own
8722         module on 2009-08-31.
8723         * modules/openat (Depends-on): Remove dirent.
8724
8725 2011-11-04  Bruno Haible  <bruno@clisp.org>
8726
8727         renameat: Optimize code size.
8728         * modules/renameat (configure.ac): Don't compile at-func2.c if
8729         REPLACE_RENAMEAT is 1.
8730
8731 2011-11-04  Bruno Haible  <bruno@clisp.org>
8732
8733         openat tests: Fix file list.
8734         * modules/openat-tests (Files): Add tests/test-open.h.
8735
8736 2011-11-04  Bruno Haible  <bruno@clisp.org>
8737
8738         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
8739         * modules/fchmodat (Depends-on): Add openat-die.
8740         * modules/fchownat (Depends-on): Likewise.
8741         * modules/linkat (Depends-on): Likewise.
8742         * modules/renameat (Depends-on): Likewise.
8743         * modules/openat (Depends-on): Add dirent.
8744
8745 2011-11-04  Jim Meyering  <meyering@redhat.com>
8746
8747         at-func*.c: fix comments
8748         * lib/at-func2.c: Correct/improve first-line comment.
8749         * lib/at-func.c: Correct grammar in first-line comment.
8750
8751 2011-11-04  Bruno Haible  <bruno@clisp.org>
8752
8753         New module 'mkdirat', split off from module 'openat'.
8754         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
8755         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
8756         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
8757         * modules/mkdirat: New file, extracted from modules/openat.
8758         * modules/openat (Files): Remove lib/mkdirat.c.
8759         (Depends-on): Remove mkdir.
8760         (configure.ac): Remove AC_LIBOBJ of mkdirat.
8761         (Include): Remove <sys/stat.h>.
8762         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
8763         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
8764         tests/test-mkdir.h.
8765         (Depends-on): Remove ignore-value.
8766         (Makefile.am): Remove rules for test-mkdirat.
8767         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
8768         of module 'openat'.
8769         * NEWS: Mention the change.
8770
8771 2011-11-04  Bruno Haible  <bruno@clisp.org>
8772
8773         closedir: Avoid warning on mingw.
8774         * lib/closedir.c: Include <unistd.h>.
8775
8776 2011-11-04  Bruno Haible  <bruno@clisp.org>
8777
8778         New module 'fstatat', split off from module 'openat'.
8779         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
8780         defined.
8781         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
8782         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8783         gl_FUNC_FSTATAT.
8784         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
8785         * modules/fstatat: New file, extracted from modules/openat.
8786         * modules/openat (Files): Remove lib/fstatat.c.
8787         (Depends-on): Remove lstat.
8788         (configure.ac): Remove AC_LIBOBJ of fstatat.
8789         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
8790         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
8791         tests/test-lstat.h, tests/test-stat.h.
8792         (Depends-on): Remove getcwd-lgpl.
8793         (Makefile.am): Remove rules for test-fstatat.
8794         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
8795         of module 'openat'.
8796         * NEWS: Mention the change.
8797         * modules/getcwd (Depends-on): Add fstatat.
8798         * modules/linkat (Depends-on): Likewise.
8799         * modules/mkfifoat-tests (Depends-on): Likewise.
8800         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
8801
8802 2011-11-03  Bruno Haible  <bruno@clisp.org>
8803
8804         New module 'unlinkat', split off from module 'openat'.
8805         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
8806         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
8807         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
8808         * modules/unlinkat: New file, extracted from modules/openat. Correct
8809         the dependency conditions.
8810         * modules/openat (Files): Remove lib/unlinkat.c.
8811         (Depends-on): Remove rmdir, unlink.
8812         (configure.ac): Remove AC_LIBOBJ of unlinkat.
8813         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
8814         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
8815         tests/test-rmdir.h, tests/test-unlink.h.
8816         (Depends-on): Remove unlinkdir.
8817         (Makefile.am): Remove rules for test-unlinkat.
8818         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
8819         of module 'openat'.
8820         * NEWS: Mention the change.
8821         * modules/linkat-tests (Depends-on): Add unlinkat.
8822         * modules/mkfifoat-tests (Depends-on): Likewise.
8823         * modules/readlinkat-tests (Depends-on): Likewise.
8824
8825 2011-11-02  Bruno Haible  <bruno@clisp.org>
8826
8827         New module 'fchmodat', split off from module 'openat'.
8828         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
8829         defined.
8830         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
8831         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
8832         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
8833         * modules/fchmodat: New file, extracted from modules/openat.
8834         * modules/openat (Files): Remove lib/fchmodat.c.
8835         (configure.ac): Remove AC_LIBOBJ of fchmodat.
8836         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
8837         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
8838         (Makefile.am): Remove rules for test-fchmodat.
8839         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
8840         of module 'openat'.
8841         * NEWS: Mention the change.
8842
8843 2011-11-02  Jim Meyering  <meyering@redhat.com>
8844
8845         putenv: indent #definition of "environ" to placate cppi
8846         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
8847
8848         gitlog-to-changelog: provide a ChangeLog-repair mechanism
8849         Git logs are often treated as immutable, because editing them
8850         changes the SHA1 checksums of all descendants.  Thus, errors in
8851         git logs tend to stay there forever.  However, when we generate
8852         a ChangeLog file -- typically for distribution -- from that git log,
8853         we can actually make corrections in the generated file.  The key
8854         lies in recording in machine-readable/applicable form the desired
8855         corrections.  See --help for description and an example.
8856         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
8857         (usage): Describe it; alphabetize option descriptions.
8858         (main): Honor the new option, carefully.
8859
8860 2011-11-01  Jim Meyering  <meyering@redhat.com>
8861
8862         gitlog-to-changelog: avoid an infloop
8863         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
8864         that ends up being empty.
8865
8866 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8867
8868         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
8869         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
8870         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
8871         contains (possibly-quoted) backslashes.  This should avoid
8872         all-too-common shell bugs if COMPLICATED contains backslashes in
8873         the "wrong" places.  Reported by David Evans in
8874         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
8875         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
8876         because we want ASCII ranges.  Is there some reason we don't use
8877         the C locale everywhere in this script?
8878         (func_module, top level): Avoid unwanted pathname expansion when
8879         $repo_url_prefix or $repo_url_suffix_repl contain shell
8880         metacharacters like '?' and '*'.
8881
8882 2011-11-01  Bruno Haible  <bruno@clisp.org>
8883
8884         fchownat: Improve description.
8885         * modules/fchownat (Description): Add link to function.
8886
8887 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8888
8889         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
8890         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
8891         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
8892         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8893
8894 2011-11-01  Bruno Haible  <bruno@clisp.org>
8895
8896         alignof: Avoid collision with stdalign module.
8897         * lib/alignof.h (alignof): Remove macro.
8898         * NEWS: Mention the change.
8899         Reported by Paul Eggert.
8900
8901 2011-11-01  Bruno Haible  <bruno@clisp.org>
8902
8903         New module 'fchownat', split off from module 'openat'.
8904         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
8905         defined.
8906         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
8907         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
8908         invoke gl_FUNC_FCHOWNAT.
8909         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
8910         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
8911         * modules/fchownat: New file, extracted from modules/openat.
8912         * modules/openat (Files): Remove lib/fchownat.c.
8913         (Depends-on): Remove lchown.
8914         (configure.ac): Remove AC_LIBOBJ of fchownat.
8915         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
8916         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
8917         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
8918         (Depends-on): Remove mgetgroups, usleep, stat-time.
8919         (configure.ac): Remove test for getegid.
8920         (Makefile.am): Remove rules for test-fchownat.
8921         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
8922         of module 'openat'.
8923         * NEWS: Mention the change.
8924
8925 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8926
8927         stdalign: port better to MSVC and to Sun C 5.11
8928         This fixes some of the problems reported by Bruno Haible in
8929         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
8930         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
8931         shortcomings of MSVC and of Sun C 5.11.
8932         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
8933         around __declspec arg.
8934         * modules/stdalign-tests (Files): Add tests/macros.h.
8935         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
8936         Include macros.h, for ASSERT.
8937         (DECLARE_ALIGNED): Remove.
8938         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
8939         to catch bug), and to 1 if not (simplifies the rest of the code).
8940         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
8941         (CHECK_AUTO): Remove.
8942         (CHECK_ALIGNED): Check only the alignment of the static vars,
8943         since auto var alignment isn't supported by Sun C 5.11.
8944         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8945         ASSERT failures are easier to diagnose.
8946
8947 2011-10-31  Bruno Haible  <bruno@clisp.org>
8948
8949         doc about some IRIX 5.3 problems.
8950         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8951         on IRIX 5.3.
8952         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8953         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8954         5.3.
8955         * doc/posix-functions/grantpt.texi: Likewise.
8956         * doc/posix-functions/unlockpt.texi: Likewise.
8957         * doc/posix-functions/lgamma.texi: Likewise.
8958         * doc/posix-functions/nextafter.texi: Likewise.
8959         * doc/posix-functions/remainder.texi: Likewise.
8960         * doc/posix-functions/select.texi: Mention misplaced declaration on
8961         IRIX 5.3.
8962         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8963
8964 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8965
8966         gitlog-to-changelog: fix git-log invocation.
8967         git-log mishandles date strings before 1970-01-01 UTC, and there is
8968         no use to specify --since=1970-01-01 by default anyway.
8969         * build-aux/gitlog-to-changelog: By default, when no --since option
8970         was given, do not specify explicit --since option to git-log.
8971
8972 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8973
8974         gitlog-to-changelog: new option --append-dot.
8975         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8976         first non-blank line of each commit message terminated with a dot.
8977
8978 2011-10-30  Bruno Haible  <bruno@clisp.org>
8979
8980         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8981         * lib/ffsl.h: Include <config.h>.
8982         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8983
8984 2011-10-30  Jim Meyering  <meyering@redhat.com>
8985
8986         GNUmakefile: reenable "make syntax-check" for most projects
8987         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8988         build-aux variable", "syntax-check" would do nothing but succeed with
8989         the "No version control files detected..." diagnostic (unless you
8990         happened to override _build-aux via cfg.mk).
8991         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8992         to precede inclusion of maint.mk.  Otherwise, these variables would
8993         be used undefined in any project that does not override the default.
8994
8995 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8996
8997         gitlog-to-changelog: treat a message with only blank lines as empty.
8998         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8999         trailing blank lines before the code that issues a warning about an
9000         empty commit message.
9001
9002 2011-10-30  Jim Meyering  <meyering@redhat.com>
9003
9004         test-parse-datetime.c: avoid new DST-related false positive test failure
9005         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
9006         based on the time/date we'll convert, not the current time.
9007         Otherwise, the moment we cross a DST boundary like today's in
9008         Europe, (CEST to CET), that offset ends up being one hour off.
9009
9010 2011-10-27  Bruno Haible  <bruno@clisp.org>
9011
9012         fstat: Tweak documentation.
9013         * modules/fstat (Description): More precise description.
9014
9015 2011-10-27  Bruno Haible  <bruno@clisp.org>
9016
9017         Update documentation regarding 'largefile' module.
9018         * doc/posix-functions/fstat.texi: Tweak wording.
9019         * doc/posix-functions/opendir.texi: Mention that the module fixes the
9020         problems with huge directories and/or small ino_t types.
9021         * doc/posix-functions/readdir.texi: Likewise.
9022         * doc/posix-functions/rewinddir.texi: Likewise.
9023
9024 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
9025
9026         maint.mk: don't maintain a second build-aux variable.
9027         * maint.mk (build_aux): Removed.  The maintainer-makefile module
9028         depends on GNUmakefile, which already maintains a cfg.mk
9029         overridable $(_build-aux) for projects with a non-standard
9030         build-aux directory location, although without the $(srcdir)
9031         prefix.  Use that variable consistently instead of introducing a
9032         second one.  Adjust all call sites.
9033
9034 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9035
9036         Add stdalign module and use it in other modules.
9037         This is based on a previous proposal by Bruno Haible
9038         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
9039
9040         stdalign: new module
9041         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
9042         * modules/stdalign: New files.
9043         * MODULES.html.sh (c1x_core_properties): Add stdalign.
9044         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
9045
9046         stdalign-tests: new module
9047         * modules/stdalign-tests, tests/test-stdalign.c: New files.
9048
9049         argp: use stdalign
9050         * lib/argp-parse.c: Include <stdalign.h>.
9051         (alignof): Remove.
9052         * modules/argp (Depends-on): Add stdalign.
9053
9054         crypto libraries: use stdalign
9055         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
9056         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
9057         Do not include <stdlib.h> twice, in md4.c.
9058         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
9059         because we are accessing a pointer's bit-pattern, not a size.
9060         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
9061         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
9062         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
9063         * modules/crypto/sha512: Likewise.
9064
9065         sys_socket: use stdalign, not alignof
9066         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
9067         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
9068
9069 2011-10-27  Bruno Haible  <bruno@clisp.org>
9070
9071         raise test: Avoid a test failure on Linux/MIPS.
9072         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
9073         because 99 is a valid signal on Linux/MIPS.
9074
9075 2011-10-27  Bruno Haible  <bruno@clisp.org>
9076
9077         nonblocking tests: Fix test failure on Linux/MIPS.
9078         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
9079         Set to 270000.
9080
9081 2011-10-27  Bruno Haible  <bruno@clisp.org>
9082
9083         utimensat: Work around problem on Linux/hppa.
9084         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
9085         values.
9086         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
9087
9088 2011-10-25  Jim Meyering  <meyering@redhat.com>
9089
9090         maint.mk: fix a bug in sc_prohibit_stddef_without_use
9091         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
9092         after symbols like NULL, size_t, etc.
9093         Reported by Alfred M. Szmidt.
9094
9095         maint.mk: exempt ENODATA from a syntax-check rule
9096         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
9097         from the sc_prohibit_always-defined_macros syntax-check rule.
9098         Add a comment.  See this for more details:
9099         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
9100
9101 2011-10-23  Jim Meyering  <meyering@redhat.com>
9102
9103         fts: close parent dir FD before returning from post-traversal fts_read
9104         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
9105         unlink A, even though an FD open on A remained.  This is suboptimal
9106         (holding a file descriptor open longer than needed), but otherwise not
9107         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
9108         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
9109         that represents a real problem: it causes the removal of A to fail
9110         with e.g., "rm: cannot remove `A': Device or resource busy"
9111
9112         fts visits each directory twice and keeps a cache (fts_fd_ring) of
9113         directory file descriptors.  After completing the final, FTS_DP,
9114         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
9115         cache, but then proceeded to add a new FD to it via the subsequent
9116         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
9117         final file descriptor would be closed only via fts_close's call to
9118         fd_ring_clear.  Now, it is usually closed earlier, via the final
9119         FTS_DP-returning fts_read call.
9120         * lib/fts.c (restore_initial_cwd): New function, converted from
9121         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
9122         Update callers.
9123         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
9124         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
9125
9126 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
9127             Bruno Haible  <bruno@clisp.org>
9128             Jim Meyering  <jim@meyering.net>
9129
9130         readme-release: improve safety of release prep instructions.
9131         * README-release: Don't git pull all branches when only master
9132         is needed for the release process.
9133         Run make maintainer-clean before changing trees and merging.
9134         Don't try to run ./configure right after git pull in case files
9135         that influence the bootstrap process have changed, move the
9136         ./configure step to after running ./bootstrap.
9137         Don't bootstrap "one last time"... it's the first time!
9138
9139 2011-10-22  Bruno Haible  <bruno@clisp.org>
9140
9141         errno, strerror-override: Support for MSVC 10.
9142         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
9143         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
9144         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
9145         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
9146         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
9147         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
9148         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
9149         Assign values compatible with MSVC 10.
9150         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
9151         New macros.
9152         (GNULIB_defined_EWINSOCK): New macro.
9153         * lib/strerror-override.c (strerror_override): Update accordingly.
9154         * lib/strerror-override.h: Likewise.
9155         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
9156         longer equal to the corresponding errno value.
9157         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9158
9159 2011-10-22  Bruno Haible  <bruno@clisp.org>
9160
9161         perror: Recognize when test program crashes.
9162         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
9163         strerror, set gl_cv_func_perror_works to no.
9164         Reported by Daniel Richard G. <skunk@iskunk.org>.
9165
9166         perror: Fix indentation.
9167         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
9168
9169 2011-10-22  Bruno Haible  <bruno@clisp.org>
9170
9171         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
9172         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
9173         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
9174         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
9175         functions, not as a macro.
9176         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
9177         macros.
9178         (isfinite, isinf, isnan, signbit): Check overloaded functions and
9179         absence of macro.
9180         Suggested by Eric Blake.
9181         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9182
9183 2011-10-21  Bruno Haible  <bruno@clisp.org>
9184
9185         relocatable-prog-wrapper: Don't leave object files behind.
9186         * build-aux/install-reloc: Re-synchronize list of .o files to be
9187         removed with list of compilation units.
9188
9189 2011-10-20  Bruno Haible  <bruno@clisp.org>
9190
9191         openpty, posix_openpt: Remove code duplication.
9192         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
9193         * lib/openpty.c: Include <stdlib.h>.
9194         (openpty): Use posix_openpt on all platforms except IRIX.
9195         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
9196
9197 2011-10-20  Bruno Haible  <bruno@clisp.org>
9198
9199         unlockpt: Detect invalid argument.
9200         * lib/unlockpt.c: Include <fcntl.h>.
9201         (unlockpt): Check whether fd is valid, using fcntl().
9202         * modules/unlockpt (Depends-on): Add fcntl-h.
9203
9204 2011-10-20  Bruno Haible  <bruno@clisp.org>
9205
9206         openpty: Avoid compilation error on AIX 6.1.
9207         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
9208
9209 2011-10-20  Bruno Haible  <bruno@clisp.org>
9210
9211         posix_openpt: Support for OpenBSD.
9212         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
9213         (posix_openpt) [OpenBSD]: New code.
9214         * lib/grantpt.c: Include <fcntl.h>.
9215         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
9216         * modules/grantpt (Depends-on): Add fcntl-h.
9217
9218 2011-10-20  Bruno Haible  <bruno@clisp.org>
9219
9220         posix_openpt test: Coding style.
9221         * tests/test-posix_openpt.c: Use GNU coding style.
9222
9223 2011-10-20  Bruno Haible  <bruno@clisp.org>
9224
9225         grantpt: Support --avoid=pt_chown.
9226         * modules/grantpt (Files): Add lib/pty-private.h.
9227
9228 2011-10-20  Bruno Haible  <bruno@clisp.org>
9229
9230         posix_openpt: Fix autoconf macro.
9231         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
9232         unneeded check for _getpty.
9233
9234 2011-10-20  Bruno Haible  <bruno@clisp.org>
9235
9236         openpty: Update comments.
9237         * lib/openpty.c: Add comments about Minix.
9238
9239 2011-10-19  Eric Blake  <eblake@redhat.com>
9240
9241         openpty: relax license
9242         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
9243
9244         pt_chown: use configmake to simplify build
9245         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
9246
9247         ptsname and others: relax license
9248         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
9249         * modules/unlockpt (License): Likewise.
9250         * modules/pt_chown (License): Likewise.
9251         * modules/ptsname (License): Likewise.
9252         * modules/ttyname_r (License): Likewise.
9253
9254 2011-10-19  Jim Meyering  <meyering@redhat.com>
9255
9256         posix_openpt: remove spurious #endif
9257         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
9258
9259 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
9260
9261         maint.mk: Respect $(build_aux) in web-manual rule.
9262         * top/maint.mk (web-manual): Find gen-announce script in user's
9263         $(build_aux) directory instead of hard-coding 'build-aux'.
9264
9265 2011-10-19  Bruno Haible  <bruno@clisp.org>
9266
9267         posix_openpt: Fix compilation error.
9268         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
9269         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
9270         Mention the openpty module as an alternative.
9271
9272 2011-10-19  Bruno Haible  <bruno@clisp.org>
9273
9274         Support for old NeXTstep 3.3 frexp().
9275         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
9276         execution time of the test to 5 seconds.
9277         Reported by Daniel Richard G. <skunk@iskunk.org>.
9278
9279 2011-10-19  Bruno Haible  <bruno@clisp.org>
9280
9281         Support for old NeXTstep 3.3 sed.
9282         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
9283         part, use /.../, not \|...|. Escape periods in the header file name.
9284         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9285         Reported by Daniel Richard G. <skunk@iskunk.org>.
9286
9287 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9288
9289         Support for old NeXTstep 3.3 gcc.
9290         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
9291         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
9292         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
9293         * lib/spawn.in.h (_Restrict_arr_): Likewise.
9294         * lib/regex.h (_Restrict_arr_): Likewise.
9295         * lib/regex_internal.h (re_token_t): Likewise.
9296         * lib/regexec.c (check_node_accept_bytes): Likewise.
9297         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
9298
9299 2011-10-18  Eric Blake  <eblake@redhat.com>
9300
9301         posix_openpt: new module
9302         * modules/posix_openpt: New module.
9303         * m4/posix_openpt.m4: New file.
9304         * lib/posix_openpt.c: Likewise.
9305         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9306         (gl_STDLIB_H_DEFAULTS): Set defaults.
9307         * modules/stdlib (Makefile.am): Substitute macros.
9308         * lib/stdlib.in.h (posix_openpt): Declare.
9309         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
9310         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
9311         * modules/posix_openpt-tests: New test module.
9312         * tests/test-posix_openpt.c: New test.
9313
9314 2011-10-15  Bruno Haible  <bruno@clisp.org>
9315
9316         xstrtoll: Fix compilation failure.
9317         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
9318         from lib/strtol.c.
9319         * doc/posix-headers/limits.texi: Mention missing numerical limits on
9320         some platforms.
9321         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9322
9323 2011-10-15  Bruno Haible  <bruno@clisp.org>
9324
9325         vasnprintf: Optimize bit search operation.
9326         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
9327         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
9328         gl_DOUBLE_EXPONENT_LOCATION.
9329         * modules/vasnprintf (Files): Add m4/exponentd.m4.
9330         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9331         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9332         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9333         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9334         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9335         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9336         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9337         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
9338
9339 2011-10-15  Bruno Haible  <bruno@clisp.org>
9340
9341         vasnprintf: Fix comments.
9342         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
9343
9344 2011-10-14  Bruno Haible  <bruno@clisp.org>
9345
9346         Tests for module 'integer_length_ll'.
9347         * modules/integer_length_ll-tests: New file.
9348         * tests/test-integer_length_ll.c: New file.
9349
9350         New module 'integer_length_ll'.
9351         * lib/integer_length_ll.c: New file.
9352         * modules/integer_length_ll: New file.
9353
9354 2011-10-14  Bruno Haible  <bruno@clisp.org>
9355
9356         Tests for module 'integer_length_l'.
9357         * modules/integer_length_l-tests: New file.
9358         * tests/test-integer_length_l.c: New file.
9359
9360         New module 'integer_length_l'.
9361         * lib/integer_length_l.c: New file.
9362         * modules/integer_length_l: New file.
9363
9364 2011-10-14  Bruno Haible  <bruno@clisp.org>
9365
9366         Tests for module 'integer_length'.
9367         * modules/integer_length-tests: New file.
9368         * tests/test-integer_length.c: New file.
9369
9370         New module 'integer_length'.
9371         * lib/integer_length.h: New file.
9372         * lib/integer_length.c: New file.
9373         * modules/integer_length: New file.
9374
9375 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9376
9377         popen: Fix dependency conditions.
9378         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
9379
9380 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9381
9382         perror: Fix autoconf test.
9383         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
9384         <stdlib.h> and <string.h>.
9385
9386 2011-10-14  Bruno Haible  <bruno@clisp.org>
9387
9388         ffsl: Optimize on 64-bit platforms.
9389         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
9390         unrolling.
9391
9392 2011-10-13  Bruno Haible  <bruno@clisp.org>
9393
9394         ffsl: Optimize on 32-bit platforms.
9395         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
9396         use ffs() without a loop.
9397
9398         ffsl, ffsll: Optimize for GCC.
9399         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
9400         * lib/ffsl.c (GCC_BUILTIN): New macro.
9401         * lib/ffsll.c (GCC_BUILTIN): Likewise.
9402
9403 2011-10-13  Bruno Haible  <bruno@clisp.org>
9404
9405         ffs, bcopy, memset: Support symbol renaming via config.h.
9406         * lib/ffs.c: Include <config.h>.
9407         * lib/bcopy.c: Likewise.
9408         * lib/memset.c: Likewise.
9409
9410 2011-10-10  Bruno Haible  <bruno@clisp.org>
9411
9412         atanl: Simplify for platforms where 'long double' == 'double'.
9413         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9414         alternative implementation.
9415         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9416         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9417         * modules/atanl (Depends-on): Add atan. Update conditions.
9418
9419 2011-10-10  Bruno Haible  <bruno@clisp.org>
9420
9421         acosl: Simplify for platforms where 'long double' == 'double'.
9422         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9423         alternative implementation.
9424         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9425         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9426         * modules/acosl (Depends-on): Add acos. Update conditions.
9427
9428 2011-10-10  Bruno Haible  <bruno@clisp.org>
9429
9430         asinl: Simplify for platforms where 'long double' == 'double'.
9431         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9432         alternative implementation.
9433         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9434         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9435         * modules/asinl (Depends-on): Add asin. Update conditions.
9436
9437 2011-10-10  Bruno Haible  <bruno@clisp.org>
9438
9439         tanl: Simplify for platforms where 'long double' == 'double'.
9440         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9441         implementation.
9442         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9443         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9444         * modules/tanl (Depends-on): Add tan. Update conditions.
9445         (configure.ac): Don't compile trigl.c if
9446         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9447
9448 2011-10-10  Bruno Haible  <bruno@clisp.org>
9449
9450         cosl: Simplify for platforms where 'long double' == 'double'.
9451         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9452         implementation.
9453         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9454         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9455         * modules/cosl (Depends-on): Add cos. Update conditions.
9456         (configure.ac): Don't compile sincosl.c and trigl.c if
9457         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9458
9459 2011-10-10  Bruno Haible  <bruno@clisp.org>
9460
9461         sinl: Simplify for platforms where 'long double' == 'double'.
9462         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9463         implementation.
9464         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9465         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9466         * modules/sinl (Depends-on): Add sin. Update conditions.
9467         (configure.ac): Don't compile sincosl.c and trigl.c if
9468         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9469
9470 2011-10-10  Bruno Haible  <bruno@clisp.org>
9471
9472         logl: Simplify for platforms where 'long double' == 'double'.
9473         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9474         implementation.
9475         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9476         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9477         * modules/logl (Depends-on): Add log. Update conditions.
9478
9479 2011-10-10  Bruno Haible  <bruno@clisp.org>
9480
9481         expl: Simplify for platforms where 'long double' == 'double'.
9482         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9483         implementation.
9484         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9485         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9486         * modules/expl (Depends-on): Add exp. Update conditions.
9487
9488 2011-10-10  Bruno Haible  <bruno@clisp.org>
9489
9490         sqrtl: Simplify for platforms where 'long double' == 'double'.
9491         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9492         alternative implementation.
9493         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9494         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9495         * modules/sqrtl (Depends-on): Update conditions.
9496
9497 2011-10-10  Bruno Haible  <bruno@clisp.org>
9498
9499         ldexpl: Simplify for platforms where 'long double' == 'double'.
9500         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9501         alternative implementation.
9502         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9503         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9504         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
9505
9506 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
9507
9508         ffsll: set correct witness
9509         * modules/ffsll (configure.ac): Fix typo.
9510
9511 2011-10-10  Bruno Haible  <bruno@clisp.org>
9512
9513         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
9514         * lib/printf-frexpl.c: Include <config.h>.
9515         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9516         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
9517         second time.
9518         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
9519         gl_LONG_DOUBLE_VS_DOUBLE.
9520         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
9521         conditions.
9522
9523 2011-10-10  Bruno Haible  <bruno@clisp.org>
9524
9525         frexpl: Simplify for platforms where 'long double' == 'double'.
9526         * lib/frexpl.c: Include <config.h>.
9527         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9528         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9529         time.
9530         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9531         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9532         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
9533         * modules/frexpl (Depends-on): Add frexp. Update conditions.
9534         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
9535         conditions.
9536
9537 2011-10-10  Jim Meyering  <meyering@redhat.com>
9538
9539         test-renameat: don't leave behind a temporary file
9540         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
9541           ERROR: files left in build directory after distclean:
9542           ./gltests/test-renameat.too
9543           make[1]: *** [distcleancheck] Error 1
9544         Reported by Tom G. Christensen.
9545
9546 2011-10-09  Bruno Haible  <bruno@clisp.org>
9547
9548         rint: Determine RINT_LIBM correctly on AIX 7.
9549         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
9550         directly, not only through a function pointer. Also accept an optional
9551         4th argument with extra code.
9552         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
9553         rintf() call by gcc when optimizing.
9554
9555         mathfunc.m4: Refactor.
9556         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
9557         m4 variable.
9558
9559 2011-10-09  Bruno Haible  <bruno@clisp.org>
9560
9561         rintl: Simplify for platforms where 'long double' == 'double'.
9562         * lib/rintl.c: Include <config.h>.
9563         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9564         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9565         time.
9566         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9567         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9568         * modules/rintl (Depends-on): Add rint. Update conditions.
9569
9570 2011-10-09  Bruno Haible  <bruno@clisp.org>
9571
9572         roundl: Simplify for platforms where 'long double' == 'double'.
9573         * lib/roundl.c: Include <config.h>.
9574         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9575         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9576         time.
9577         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9578         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9579         * modules/roundl (Depends-on): Add round. Update conditions.
9580
9581 2011-10-09  Bruno Haible  <bruno@clisp.org>
9582
9583         truncl: Simplify for platforms where 'long double' == 'double'.
9584         * lib/truncl.c: Include <config.h>.
9585         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9586         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9587         time.
9588         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9589         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9590         * modules/truncl (Depends-on): Add trunc. Update conditions.
9591
9592 2011-10-09  Bruno Haible  <bruno@clisp.org>
9593
9594         ceill: Simplify for platforms where 'long double' == 'double'.
9595         * lib/ceill.c: Include <config.h>.
9596         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9597         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9598         time.
9599         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9600         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9601         * modules/ceill (Depends-on): Add ceil. Update conditions.
9602
9603 2011-10-09  Bruno Haible  <bruno@clisp.org>
9604
9605         floorl: Simplify for platforms where 'long double' == 'double'.
9606         * lib/floorl.c: Include <config.h>.
9607         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9608         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9609         time.
9610         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9611         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9612         * modules/floorl (Depends-on): Add floor. Update conditions.
9613
9614 2011-10-09  Bruno Haible  <bruno@clisp.org>
9615
9616         rint: Fix ordering constraints.
9617         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
9618         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
9619         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
9620
9621 2011-10-09  Bruno Haible  <bruno@clisp.org>
9622
9623         copysignl: Simplify for platforms where 'long double' == 'double'.
9624         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9625         alternative.
9626         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9627         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9628         * modules/copysignl (Depends-on): Add copysign. Update conditions.
9629
9630 2011-10-09  Bruno Haible  <bruno@clisp.org>
9631
9632         Tests for module 'rintl'.
9633         * modules/rintl-tests: New file.
9634         * tests/test-rintl.c: New file.
9635
9636         New module 'rintl'.
9637         * lib/math.in.h (rintl): New declaration.
9638         * lib/rintl.c: New file.
9639         * m4/rintl.m4: New file.
9640         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
9641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
9642         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
9643         * modules/rintl: New file.
9644         * tests/test-math-c++.cc: Check the declaration of rintl.
9645         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9646         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
9647         * doc/posix-functions/rintl.texi: Mention the new module.
9648
9649 2011-10-09  Bruno Haible  <bruno@clisp.org>
9650
9651         Tests for module 'rintf'.
9652         * modules/rintf-tests: New file.
9653         * tests/test-rintf.c: New file.
9654
9655         New module 'rintf'.
9656         * lib/math.in.h (rintf): New declaration.
9657         * lib/rintf.c: New file.
9658         * m4/rintf.m4: New file.
9659         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
9660         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
9661         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
9662         * modules/rintf: New file.
9663         * tests/test-math-c++.cc: Check the declaration of rintf.
9664         * doc/posix-functions/rintf.texi: Mention the new module.
9665
9666 2011-10-09  Bruno Haible  <bruno@clisp.org>
9667
9668         rint: Support for MSVC.
9669         * lib/math.in.h (rint): New declaration.
9670         * lib/rint.c: New file.
9671         * m4/rint.m4: New file.
9672         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
9673         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
9674         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
9675         * modules/rint (Description): Fix.
9676         (Files): Add lib/rint.c, m4/rint.m4.
9677         (Depends-on): Add math.
9678         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
9679         gl_MATH_MODULE_INDICATOR.
9680         * tests/test-math-c++.cc: Check the declaration of rint.
9681         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9682         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
9683         * doc/posix-functions/rint.texi: Mention the replacement provided by
9684         the module.
9685
9686         rint tests: More tests.
9687         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
9688         minus-zero.h, infinity.h, nan.h.
9689         (main): Skip the test if the current rounding mode is not standard. Add
9690         tests for negative numbers, minus zero, infinity, NaN.
9691         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
9692         tests/nan.h.
9693         (Depends-on): Add isnand-nolibm.
9694
9695 2011-10-09  Bruno Haible  <bruno@clisp.org>
9696
9697         Tests for module 'copysignl'.
9698         * modules/copysignl-tests: New file.
9699         * tests/test-copysignl.c: New file.
9700
9701         New module 'copysignl'.
9702         * lib/math.in.h (copysignl): New declaration.
9703         * lib/copysignl.c: New file.
9704         * m4/copysignl.m4: New file.
9705         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
9706         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
9707         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
9708         HAVE_COPYSIGNL.
9709         * modules/copysignl: New file.
9710         * tests/test-math-c++.cc: Check the declaration of copysignl.
9711         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9712         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
9713         * doc/posix-functions/copysignl.texi: Mention the new module.
9714
9715 2011-10-09  Bruno Haible  <bruno@clisp.org>
9716
9717         Tests for module 'copysignf'.
9718         * modules/copysignf-tests: New file.
9719         * tests/test-copysignf.c: New file.
9720
9721         New module 'copysignf'.
9722         * lib/math.in.h (copysignf): New declaration.
9723         * lib/copysignf.c: New file.
9724         * m4/copysignf.m4: New file.
9725         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
9726         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
9727         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
9728         HAVE_COPYSIGNF.
9729         * modules/copysignf: New file.
9730         * tests/test-math-c++.cc: Check the declaration of copysignf.
9731         * doc/posix-functions/copysignf.texi: Mention the new module.
9732
9733 2011-10-09  Bruno Haible  <bruno@clisp.org>
9734
9735         Ensure that HAVE_* variables are set to 1 before they are set to 0.
9736         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
9737         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
9738         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9739         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
9740         gl_SIGNAL_H_DEFAULTS.
9741
9742 2011-10-09  Bruno Haible  <bruno@clisp.org>
9743
9744         poll: Make macro safer.
9745         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
9746         ac_cv_header_poll_h is not set.
9747
9748 2011-10-09  Bruno Haible  <bruno@clisp.org>
9749
9750         copysign: Provide replacement.
9751         * lib/math.in.h (copysign): New declaration.
9752         * lib/copysign.c: New file.
9753         * m4/copysign.m4: New file.
9754         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
9755         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
9756         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
9757         HAVE_COPYSIGN.
9758         * modules/copysign (Description): Clarify.
9759         (Files): Add lib/copysign.c, m4/copysign.m4.
9760         (Depends-on): Add math, signbit.
9761         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
9762         gl_MATH_MODULE_INDICATOR.
9763         * tests/test-math-c++.cc: Check the declaration of copysign.
9764         * doc/posix-functions/copysign.texi: Mention the effects of the module
9765         on Minix and MSVC.
9766
9767 2011-10-09  Bruno Haible  <bruno@clisp.org>
9768
9769         isinf: Ensure macro on AIX 5.1.
9770         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
9771         macro.
9772         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
9773
9774 2011-10-09  Bruno Haible  <bruno@clisp.org>
9775
9776         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
9777         * modules/snprintf-posix-tests (configure.ac): Require
9778         gl_LONG_DOUBLE_VS_DOUBLE.
9779         * modules/sprintf-posix-tests (configure.ac): Likewise.
9780         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
9781         * modules/vasprintf-posix-tests (configure.ac): Likewise.
9782         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
9783         * modules/vsprintf-posix-tests (configure.ac): Likewise.
9784         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
9785         tests on platforms where 'long double' is the same as 'double'.
9786         * tests/test-sprintf-posix.h (test_function): Likewise.
9787         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9788         * tests/test-vasprintf-posix.c (test_function): Likewise.
9789
9790         *printf: Fix for platforms where 'long double' == 'double'.
9791         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9792         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
9793         * modules/dprintf-posix (Files): Add m4/math_h.m4.
9794         * modules/fprintf-posix (Files): Likewise.
9795         * modules/obstack-printf-posix (Files): Likewise.
9796         * modules/snprintf-posix (Files): Likewise.
9797         * modules/sprintf-posix (Files): Likewise.
9798         * modules/vasnprintf (Files): Likewise.
9799         * modules/vasnprintf-posix (Files): Likewise.
9800         * modules/vasprintf-posix (Files): Likewise.
9801         * modules/vdprintf-posix (Files): Likewise.
9802         * modules/vfprintf-posix (Files): Likewise.
9803         * modules/vsnprintf-posix (Files): Likewise.
9804         * modules/vsprintf-posix (Files): Likewise.
9805         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9806         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9807         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9808         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9809         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9810         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9811         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9812
9813         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
9814         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
9815         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9816         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
9817         'long double'.
9818         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
9819
9820         isinf: Fix for platforms where 'long double' == 'double'.
9821         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9822         Don't blindly assume 80-bit 'long double'.
9823
9824         isfinite: Fix for platforms where 'long double' == 'double'.
9825         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9826         Don't blindly assume 80-bit 'long double'.
9827
9828         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
9829         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
9830         * modules/isfinite-tests (configure.ac): Require
9831         gl_LONG_DOUBLE_VS_DOUBLE.
9832         * modules/isinf-tests (configure.ac): Likewise.
9833         * modules/isnan-tests (configure.ac): Likewise.
9834         * modules/isnanl-tests (configure.ac): Likewise.
9835         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
9836         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
9837         tests on platforms where 'long double' is the same as 'double'.
9838         * tests/test-isinf.c (test_isinfl): Likewise.
9839         * tests/test-isnan.c (test_long_double): Likewise.
9840         * tests/test-isnanl.h (main): Likewise.
9841
9842 2011-10-08  Bruno Haible  <bruno@clisp.org>
9843
9844         Tests for module 'tanhf'.
9845         * modules/tanhf-tests: New file.
9846         * tests/test-tanhf.c: New file.
9847
9848         New module 'tanhf'.
9849         * lib/math.in.h (tanhf): New declaration.
9850         * lib/tanhf.c: New file.
9851         * m4/tanhf.m4: New file.
9852         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
9853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
9854         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
9855         * modules/tanhf: New file.
9856         * tests/test-math-c++.cc: Check the declaration of tanhf.
9857         * doc/posix-functions/tanhf.texi: Mention the new module.
9858
9859         tanh: Use a .m4 file.
9860         * m4/tanh.m4: New file.
9861         * modules/tanh (Files): Add it.
9862         (configure.ac): Just invoke gl_FUNC_TANH.
9863
9864 2011-10-08  Bruno Haible  <bruno@clisp.org>
9865
9866         Tests for module 'coshf'.
9867         * modules/coshf-tests: New file.
9868         * tests/test-coshf.c: New file.
9869
9870         New module 'coshf'.
9871         * lib/math.in.h (coshf): New declaration.
9872         * lib/coshf.c: New file.
9873         * m4/coshf.m4: New file.
9874         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
9875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
9876         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
9877         * modules/coshf: New file.
9878         * tests/test-math-c++.cc: Check the declaration of coshf.
9879         * doc/posix-functions/coshf.texi: Mention the new module.
9880
9881         cosh: Use a .m4 file.
9882         * m4/cosh.m4: New file.
9883         * modules/cosh (Files): Add it.
9884         (configure.ac): Just invoke gl_FUNC_COSH.
9885
9886 2011-10-08  Bruno Haible  <bruno@clisp.org>
9887
9888         Tests for module 'sinhf'.
9889         * modules/sinhf-tests: New file.
9890         * tests/test-sinhf.c: New file.
9891
9892         New module 'sinhf'.
9893         * lib/math.in.h (sinhf): New declaration.
9894         * lib/sinhf.c: New file.
9895         * m4/sinhf.m4: New file.
9896         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
9897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
9898         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
9899         * modules/sinhf: New file.
9900         * tests/test-math-c++.cc: Check the declaration of sinhf.
9901         * doc/posix-functions/sinhf.texi: Mention the new module.
9902
9903         sinh: Use a .m4 file.
9904         * m4/sinh.m4: New file.
9905         * modules/sinh (Files): Add it.
9906         (configure.ac): Just invoke gl_FUNC_SINH.
9907
9908 2011-10-08  Bruno Haible  <bruno@clisp.org>
9909
9910         Tests for module 'atan2f'.
9911         * modules/atan2f-tests: New file.
9912         * tests/test-atan2f.c: New file.
9913
9914         New module 'atan2f'.
9915         * lib/math.in.h (atan2f): New declaration.
9916         * lib/atan2f.c: New file.
9917         * m4/atan2f.m4: New file.
9918         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
9919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
9920         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
9921         * modules/atan2f: New file.
9922         * tests/test-math-c++.cc: Check the declaration of atan2f.
9923         * doc/posix-functions/atan2f.texi: Mention the new module.
9924
9925         atan2: Use a .m4 file.
9926         * m4/atan2.m4: New file.
9927         * modules/atan2 (Files): Add it.
9928         (configure.ac): Just invoke gl_FUNC_ATAN2.
9929
9930 2011-10-08  Bruno Haible  <bruno@clisp.org>
9931
9932         Tests for module 'atanf'.
9933         * modules/atanf-tests: New file.
9934         * tests/test-atanf.c: New file.
9935
9936         New module 'atanf'.
9937         * lib/math.in.h (atanf): New declaration.
9938         * lib/atanf.c: New file.
9939         * m4/atanf.m4: New file.
9940         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
9941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
9942         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9943         * modules/atanf: New file.
9944         * tests/test-math-c++.cc: Check the declaration of atanf.
9945         * doc/posix-functions/atanf.texi: Mention the new module.
9946
9947         atan: Use a .m4 file.
9948         * m4/atan.m4: New file.
9949         * modules/atan (Files): Add it.
9950         (configure.ac): Just invoke gl_FUNC_ATAN.
9951
9952 2011-10-08  Bruno Haible  <bruno@clisp.org>
9953
9954         Tests for module 'acosf'.
9955         * modules/acosf-tests: New file.
9956         * tests/test-acosf.c: New file.
9957
9958         New module 'acosf'.
9959         * lib/math.in.h (acosf): New declaration.
9960         * lib/acosf.c: New file.
9961         * m4/acosf.m4: New file.
9962         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9964         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9965         * modules/acosf: New file.
9966         * tests/test-math-c++.cc: Check the declaration of acosf.
9967         * doc/posix-functions/acosf.texi: Mention the new module.
9968
9969         acos: Use a .m4 file.
9970         * m4/acos.m4: New file.
9971         * modules/acos (Files): Add it.
9972         (configure.ac): Just invoke gl_FUNC_ACOS.
9973
9974 2011-10-08  Bruno Haible  <bruno@clisp.org>
9975
9976         Tests for module 'asinf'.
9977         * modules/asinf-tests: New file.
9978         * tests/test-asinf.c: New file.
9979
9980         New module 'asinf'.
9981         * lib/math.in.h (asinf): New declaration.
9982         * lib/asinf.c: New file.
9983         * m4/asinf.m4: New file.
9984         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9986         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9987         * modules/asinf: New file.
9988         * tests/test-math-c++.cc: Check the declaration of asinf.
9989         * doc/posix-functions/asinf.texi: Mention the new module.
9990
9991         asin: Use a .m4 file.
9992         * m4/asin.m4: New file.
9993         * modules/asin (Files): Add it.
9994         (configure.ac): Just invoke gl_FUNC_ASIN.
9995
9996 2011-10-08  Bruno Haible  <bruno@clisp.org>
9997
9998         Tests for module 'tanf'.
9999         * modules/tanf-tests: New file.
10000         * tests/test-tanf.c: New file.
10001
10002         New module 'tanf'.
10003         * lib/math.in.h (tanf): New declaration.
10004         * lib/tanf.c: New file.
10005         * m4/tanf.m4: New file.
10006         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
10007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
10008         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
10009         * modules/tanf: New file.
10010         * tests/test-math-c++.cc: Check the declaration of tanf.
10011         * doc/posix-functions/tanf.texi: Mention the new module.
10012
10013         tan: Use a .m4 file.
10014         * m4/tan.m4: New file.
10015         * modules/tan (Files): Add it.
10016         (configure.ac): Just invoke gl_FUNC_TAN.
10017
10018 2011-10-08  Bruno Haible  <bruno@clisp.org>
10019
10020         Tests for module 'cosf'.
10021         * modules/cosf-tests: New file.
10022         * tests/test-cosf.c: New file.
10023
10024         New module 'cosf'.
10025         * lib/math.in.h (cosf): New declaration.
10026         * lib/cosf.c: New file.
10027         * m4/cosf.m4: New file.
10028         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
10029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
10030         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
10031         * modules/cosf: New file.
10032         * tests/test-math-c++.cc: Check the declaration of cosf.
10033         * doc/posix-functions/cosf.texi: Mention the new module.
10034
10035         cos: Use a .m4 file.
10036         * m4/cos.m4: New file.
10037         * modules/cos (Files): Add it.
10038         (configure.ac): Just invoke gl_FUNC_COS.
10039
10040 2011-10-08  Bruno Haible  <bruno@clisp.org>
10041
10042         Tests for module 'sinf'.
10043         * modules/sinf-tests: New file.
10044         * tests/test-sinf.c: New file.
10045
10046         New module 'sinf'.
10047         * lib/math.in.h (sinf): New declaration.
10048         * lib/sinf.c: New file.
10049         * m4/sinf.m4: New file.
10050         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
10051         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
10052         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
10053         * modules/sinf: New file.
10054         * tests/test-math-c++.cc: Check the declaration of sinf.
10055         * doc/posix-functions/sinf.texi: Mention the new module.
10056
10057         sin: Use a .m4 file.
10058         * m4/sin.m4: New file.
10059         * modules/sin (Files): Add it.
10060         (configure.ac): Just invoke gl_FUNC_SIN.
10061
10062 2011-10-08  Bruno Haible  <bruno@clisp.org>
10063
10064         Tests for module 'powf'.
10065         * modules/powf-tests: New file.
10066         * tests/test-powf.c: New file.
10067
10068         New module 'powf'.
10069         * lib/math.in.h (powf): New declaration.
10070         * lib/powf.c: New file.
10071         * m4/powf.m4: New file.
10072         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
10073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
10074         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
10075         * modules/powf: New file.
10076         * tests/test-math-c++.cc: Check the declaration of powf.
10077         * doc/posix-functions/powf.texi: Mention the new module.
10078
10079         pow: Use a .m4 file.
10080         * m4/pow.m4: New file.
10081         * modules/pow (Files): Add it.
10082         (configure.ac): Just invoke gl_FUNC_POW.
10083
10084 2011-10-08  Bruno Haible  <bruno@clisp.org>
10085
10086         Tests for module 'log10f'.
10087         * modules/log10f-tests: New file.
10088         * tests/test-log10f.c: New file.
10089
10090         New module 'log10f'.
10091         * lib/math.in.h (log10f): New declaration.
10092         * lib/log10f.c: New file.
10093         * m4/log10f.m4: New file.
10094         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
10095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
10096         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
10097         * modules/log10f: New file.
10098         * tests/test-math-c++.cc: Check the declaration of log10f.
10099         * doc/posix-functions/log10f.texi: Mention the new module.
10100
10101         log10: Use a .m4 file.
10102         * m4/log10.m4: New file.
10103         * modules/log10 (Files): Add it.
10104         (configure.ac): Just invoke gl_FUNC_LOG10.
10105
10106 2011-10-08  Bruno Haible  <bruno@clisp.org>
10107
10108         Tests for module 'logf'.
10109         * modules/logf-tests: New file.
10110         * tests/test-logf.c: New file.
10111
10112         New module 'logf'.
10113         * lib/math.in.h (logf): New declaration.
10114         * lib/logf.c: New file.
10115         * m4/logf.m4: New file.
10116         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
10117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
10118         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
10119         * modules/logf: New file.
10120         * tests/test-math-c++.cc: Check the declaration of logf.
10121         * doc/posix-functions/logf.texi: Mention the new module.
10122
10123         log: Use a .m4 file.
10124         * m4/log.m4: New file.
10125         * modules/log (Files): Add it.
10126         (configure.ac): Just invoke gl_FUNC_LOG.
10127
10128 2011-10-08  Bruno Haible  <bruno@clisp.org>
10129
10130         Tests for module 'expf'.
10131         * modules/expf-tests: New file.
10132         * tests/test-expf.c: New file.
10133
10134         New module 'expf'.
10135         * lib/math.in.h (expf): New declaration.
10136         * lib/expf.c: New file.
10137         * m4/expf.m4: New file.
10138         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
10139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
10140         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
10141         * modules/expf: New file.
10142         * tests/test-math-c++.cc: Check the declaration of expf.
10143         * doc/posix-functions/expf.texi: Mention the new module.
10144
10145         exp: Use a .m4 file.
10146         * m4/exp.m4: New file.
10147         * modules/exp (Files): Add it.
10148         (configure.ac): Just invoke gl_FUNC_EXP.
10149
10150 2011-10-08  Bruno Haible  <bruno@clisp.org>
10151
10152         Tests for module 'sqrtf'.
10153         * modules/sqrtf-tests: New file.
10154         * tests/test-sqrtf.c: New file.
10155
10156         New module 'sqrtf'.
10157         * lib/math.in.h (sqrtf): New declaration.
10158         * lib/sqrtf.c: New file.
10159         * m4/sqrtf.m4: New file.
10160         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
10161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
10162         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
10163         * modules/sqrtf: New file.
10164         * tests/test-math-c++.cc: Check the declaration of sqrtf.
10165         * doc/posix-functions/sqrtf.texi: Mention the new module.
10166
10167 2011-10-08  Bruno Haible  <bruno@clisp.org>
10168
10169         Tests: Avoid link failures w.r.t. libintl.
10170         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
10171         $(LIBINTL).
10172         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
10173         $(LIBINTL).
10174         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
10175         against $(LIBINTL).
10176         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
10177         $(LIBINTL).
10178         * modules/openat-tests (Makefile.am): Link test-fchmodat against
10179         $(LIBINTL).
10180         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
10181
10182 2011-10-08  Bruno Haible  <bruno@clisp.org>
10183
10184         pow tests: Defeat compiler optimizations.
10185         * tests/test-pow.c (main): Assign arguments to x and y before use.
10186
10187 2011-10-08  Bruno Haible  <bruno@clisp.org>
10188
10189         gnulib-tool: Improve last commit.
10190         * gnulib-tool (func_modules_transitive_closure): Simplify code.
10191         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
10192         ignore dependencies that are not among the modules list.
10193
10194 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
10195
10196         gnulib-tool: don't follow dependencies to avoided modules
10197         This fixes a bug that is related to the previous one.
10198         * gnulib-tool (func_modules_transitive_closure)
10199         (func_emit_autoconf_snippets):
10200         Check whether a dependency is acceptable before using it.
10201         (--extract-dependencies): Report an error if --avoid is also used,
10202         since this combination of options is not yet supported.
10203
10204         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
10205         Problem reported by Peter Dyballa in
10206         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
10207         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
10208         when echoing "$condition".
10209
10210 2011-10-07  Bruno Haible  <bruno@clisp.org>
10211
10212         Fix documentation about math functions on MacOS X.
10213         * doc/posix-functions/exp2.texi: Don't say the function is missing on
10214         MacOS X 10.5.
10215         * doc/posix-functions/fdim.texi: Likewise.
10216         * doc/posix-functions/feclearexcept.texi: Likewise.
10217         * doc/posix-functions/fegetenv.texi: Likewise.
10218         * doc/posix-functions/fegetround.texi: Likewise.
10219         * doc/posix-functions/feholdexcept.texi: Likewise.
10220         * doc/posix-functions/feraiseexcept.texi: Likewise.
10221         * doc/posix-functions/fesetenv.texi: Likewise.
10222         * doc/posix-functions/fesetround.texi: Likewise.
10223         * doc/posix-functions/fetestexcept.texi: Likewise.
10224         * doc/posix-functions/feupdateenv.texi: Likewise.
10225         * doc/posix-functions/fmax.texi: Likewise.
10226         * doc/posix-functions/fmin.texi: Likewise.
10227         * doc/posix-functions/log2.texi: Likewise.
10228         * doc/posix-functions/modff.texi: Likewise.
10229         * doc/posix-functions/nan.texi: Likewise.
10230         * doc/posix-functions/nanf.texi: Likewise.
10231         * doc/posix-functions/nextafterf.texi: Likewise.
10232         * doc/posix-functions/remquo.texi: Likewise.
10233
10234 2011-10-07  Bruno Haible  <bruno@clisp.org>
10235
10236         modff: Drop assumption about library that defines modff.
10237         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
10238         AC_CHECK_FUNCS.
10239         * modules/modff (Files): Add m4/mathfunc.m4.
10240
10241 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
10242
10243         raise tests: Avoid a GCC warning.
10244         * tests/test-raise.c (handler): Use _Noreturn.
10245
10246 2011-10-07  Bruno Haible  <bruno@clisp.org>
10247
10248         Tests for module 'ldexpf'.
10249         * modules/ldexpf-tests: New file.
10250         * tests/test-ldexpf.c: New file.
10251
10252         New module 'ldexpf'.
10253         * lib/math.in.h (ldexpf): New declaration.
10254         * lib/ldexpf.c: New file.
10255         * m4/ldexpf.m4: New file.
10256         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
10257         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
10258         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
10259         * modules/ldexpf: New file.
10260         * tests/test-math-c++.cc: Check the declaration of ldexpf.
10261         * doc/posix-functions/ldexpf.texi: Mention the new module.
10262
10263 2011-10-06  Bruno Haible  <bruno@clisp.org>
10264
10265         frexpf: Work around problems on IRIX and mingw.
10266         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
10267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
10268         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
10269         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
10270         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
10271         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
10272         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
10273
10274 2011-10-06  Bruno Haible  <bruno@clisp.org>
10275
10276         fabsf: Drop assumption about library that defines fabsf.
10277         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
10278         AC_CHECK_FUNCS.
10279         * modules/fabsf (Files): Add m4/mathfunc.m4.
10280
10281 2011-10-06  Bruno Haible  <bruno@clisp.org>
10282
10283         frexpf: Drop assumption about library that defines frexpf.
10284         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
10285         'int *', 'float *', 'long double *', 'float', 'long double'.
10286         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
10287         AC_CHECK_FUNCS.
10288         * modules/frexpf (Files): Add m4/mathfunc.m4.
10289
10290         Tests for module 'frexpf'.
10291         * modules/frexpf-tests: New file.
10292         * tests/test-frexpf.c: New file.
10293
10294         New module 'frexpf'.
10295         * lib/math.in.h (frexpf): New declaration.
10296         * lib/frexpf.c: New file.
10297         * m4/frexpf.m4: New file.
10298         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
10299         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
10300         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
10301         * modules/frexpf: New file.
10302         * tests/test-math-c++.cc: Check the declaration of frexpf.
10303         * doc/posix-functions/frexpf.texi: Mention the new module.
10304
10305 2011-10-06  Bruno Haible  <bruno@clisp.org>
10306
10307         math: Sort function declarations of math.in.h.
10308         * lib/math.in.h (frexp, logb): Move declarations.
10309
10310 2011-10-05  Bruno Haible  <bruno@clisp.org>
10311
10312         Tests for module 'modff'.
10313         * modules/modff-tests: New file.
10314         * tests/test-modff.c: New file.
10315
10316         New module 'modff'.
10317         * lib/math.in.h (modff): New declaration.
10318         * lib/modff.c: New file.
10319         * m4/modff.m4: New file.
10320         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
10321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
10322         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
10323         * modules/modff: New file.
10324         * tests/test-math-c++.cc: Check the declaration of modff.
10325         * doc/posix-functions/modff.texi: Mention the new module.
10326
10327         modf tests: Make test sharper.
10328         * tests/test-modf.c (main): Strengthen upper bound.
10329
10330         modf: Use a .m4 file.
10331         * m4/modf.m4: New file.
10332         * modules/modf (Files): Add it.
10333         (configure.ac): Just invoke gl_FUNC_MODF.
10334
10335 2011-10-05  Bruno Haible  <bruno@clisp.org>
10336
10337         Tests for module 'fmodf'.
10338         * modules/fmodf-tests: New file.
10339         * tests/test-fmodf.c: New file.
10340
10341         New module 'fmodf'.
10342         * lib/math.in.h (fmodf): New declaration.
10343         * lib/fmodf.c: New file.
10344         * m4/fmodf.m4: New file.
10345         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
10346         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
10347         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
10348         * modules/fmodf: New file.
10349         * tests/test-math-c++.cc: Check the declaration of fmodf.
10350         * doc/posix-functions/fmodf.texi: Mention the new module.
10351
10352         fmod: Use a .m4 file.
10353         * m4/fmod.m4: New file.
10354         * modules/fmod (Files): Add it.
10355         (configure.ac): Just invoke gl_FUNC_FMOD.
10356
10357 2011-10-05  Bruno Haible  <bruno@clisp.org>
10358
10359         Tests for module 'fabsf'.
10360         * modules/fabsf-tests: New file.
10361         * tests/test-fabsf.c: New file.
10362
10363         New module 'fabsf'.
10364         * lib/math.in.h (fabsf): New declaration.
10365         * lib/fabsf.c: New file.
10366         * m4/fabsf.m4: New file.
10367         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
10368         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
10369         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
10370         * modules/fabsf: New file.
10371         * tests/test-math-c++.cc: Check the declaration of fabsf.
10372         * doc/posix-functions/fabsf.texi: Mention the new module.
10373
10374         fabs: Use a .m4 file.
10375         * m4/fabs.m4: New file.
10376         * modules/fabs (Files): Add it.
10377         (configure.ac): Just invoke gl_FUNC_FABS.
10378
10379 2011-10-05  Jim Meyering  <meyering@redhat.com>
10380
10381         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
10382         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
10383         ls -lL regression introduced in coreutils-8.12, it does so at the
10384         cost of an additional stat call in the common case.  Besides, now
10385         that the kernel change that prompted commit 95f7c57f has been reverted
10386         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
10387         we have no use for commit 95f7c57f, "file-has-acl: use
10388         acl_extended_file_nofollow if available".
10389
10390 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
10391
10392         file-has-acl: revert unintended change in behavior of ls -L
10393         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
10394         derived from...
10395         (file_has_acl): ...code here.  Call it.
10396         This problem was introduced with 2011-07-22 commit 95f7c57f,
10397         "file-has-acl: use acl_extended_file_nofollow if available".
10398         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
10399
10400 2011-10-03  Bruno Haible  <bruno@clisp.org>
10401
10402         poll: Avoid link errors on MSVC.
10403         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
10404         * modules/poll (Depends-on): Add sockets.
10405         (Link): New section.
10406         * NEWS: Mention the change.
10407         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
10408         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
10409         $(LIB_POLL) instead of $(LIBSOCKET).
10410
10411 2011-10-03  Bruno Haible  <bruno@clisp.org>
10412
10413         sys_select tests: Fix link error on MSVC 9.
10414         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
10415         with $(LIB_SELECT) instead of $(LIBSOCKET).
10416
10417 2011-10-03  Bruno Haible  <bruno@clisp.org>
10418
10419         sys_select: Fix compilation error on mingw.
10420         * lib/sys_select.in.h: On native Windows, include <io.h>.
10421
10422 2011-10-03  Bruno Haible  <bruno@clisp.org>
10423
10424         wmemset: Support for MSVC.
10425         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
10426         whether wmemset() exists.
10427
10428 2011-10-03  Bruno Haible  <bruno@clisp.org>
10429
10430         wmemmove: Support for MSVC.
10431         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
10432         whether wmemmove() exists.
10433
10434 2011-10-03  Bruno Haible  <bruno@clisp.org>
10435
10436         wmemcpy: Support for MSVC.
10437         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
10438         whether wmemcpy() exists.
10439
10440 2011-10-03  Bruno Haible  <bruno@clisp.org>
10441
10442         wmemcmp: Support for MSVC.
10443         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
10444         whether wmemcmp() exists.
10445
10446 2011-10-03  Bruno Haible  <bruno@clisp.org>
10447
10448         wmemchr: Support for MSVC.
10449         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
10450         whether wmemchr() exists.
10451
10452 2011-10-03  Bruno Haible  <bruno@clisp.org>
10453
10454         glthread/*, strsignal: Support for MSVC.
10455         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
10456         including <winsock.h> on MSVC 9.
10457         * lib/glthread/lock.h: Likewise.
10458         * lib/glthread/thread.h: Likewise.
10459         * lib/glthread/tls.h: Likewise.
10460         * lib/glthread/yield.h: Likewise.
10461         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
10462         if HAVE_UNISTD_H is false.
10463         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
10464
10465 2011-10-03  Bruno Haible  <bruno@clisp.org>
10466
10467         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
10468         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
10469         Set to 100000.
10470
10471 2011-10-03  Bruno Haible  <bruno@clisp.org>
10472
10473         acl: Fix specification.
10474         * lib/file-has-acl.c (file_has_acl): Fix specification.
10475
10476 2011-10-03  Bruno Haible  <bruno@clisp.org>
10477
10478         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
10479         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
10480         (compute_curr_prefix, shared_library_fullname,
10481         find_shared_library_fullname, get_shared_library_fullname, relocate):
10482         Use it together with PIC && INSTALLDIR.
10483         Reported by <jojelino@gmail.com>
10484         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
10485
10486 2011-10-01  Jim Meyering  <meyering@redhat.com>
10487
10488         maint.mk: adjust a release-related rule not to require use of gzip
10489         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
10490         Instead, check each file in $(DIST_ARCHIVES).  This is better for
10491         projects that build only .tar.xz files.  Also fix an erroneous test.
10492
10493         test-linkat: don't leave behind a temporary file
10494         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
10495         Otherwise, coreutils' "make distcheck" would fail with this:
10496           Only in /c/cu/tests/torture/coreutils/test/\
10497             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
10498           make[2]: *** [my-distcheck] Error 1
10499
10500         float, math: add omitted file
10501         * lib/itold.c: Add file, required for yesterday's float change.
10502
10503 2011-10-01  Bruno Haible  <bruno@clisp.org>
10504
10505         isinf: Fix for OpenBSD/x86.
10506         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
10507         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
10508         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
10509
10510 2011-10-01  Bruno Haible  <bruno@clisp.org>
10511
10512         isfinite: Fix syntax error in configure test.
10513         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
10514
10515         isfinite: Fix typo.
10516         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
10517         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
10518
10519 2011-10-01  Bruno Haible  <bruno@clisp.org>
10520
10521         nonblocking tests: Fix test failure on Linux/IA-64.
10522         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
10523         Set to 270000.
10524
10525 2011-10-01  Bruno Haible  <bruno@clisp.org>
10526
10527         mkfifoat tests: Fix a test failure on mingw.
10528         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
10529         with error ENOSYS.
10530
10531 2011-09-30  Bruno Haible  <bruno@clisp.org>
10532
10533         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
10534         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
10535         'long double'. Set REPLACE_ITOLD.
10536         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
10537         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
10538         * lib/itold.c: New file.
10539         * modules/float (Files): Add lib/itold.c.
10540         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
10541         (Makefile.am): Substitute REPLACE_ITOLD.
10542         * modules/math (Depends-on): Add float.
10543         (Makefile.am): Substitute REPLACE_ITOLD.
10544         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
10545         * doc/posix-headers/math.texi: Likewise.
10546         * doc/posix-functions/logl.texi: Likewise.
10547
10548 2011-09-30  Bruno Haible  <bruno@clisp.org>
10549
10550         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
10551         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
10552         Set to 140000.
10553
10554 2011-09-30  Bruno Haible  <bruno@clisp.org>
10555
10556         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
10557         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
10558         invocation, say "right after AC_PROG_CC_STDC", not "right after
10559         AC_PROG_CC".
10560         Reported by Gary V. Vaughan <gary@gnu.org>.
10561
10562 2011-09-30  Bruno Haible  <bruno@clisp.org>
10563
10564         Centralize C99 requirement.
10565         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
10566         * modules/stdarg (configure.ac-early): Invoke it instead of
10567         AC_PROG_CC_STDC.
10568         Reported by Gary V. Vaughan and Paul Eggert.
10569
10570 2011-09-29  Bruno Haible  <bruno@clisp.org>
10571
10572         float: Fix LDBL_MAX value on Linux/PowerPC.
10573         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
10574         on Linux/PowerPC.
10575         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
10576         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
10577         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
10578         platform.
10579         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
10580
10581 2011-09-29  Bruno Haible  <bruno@clisp.org>
10582
10583         doc: Improve doc about gl_EARLY.
10584         * doc/gnulib-tool.texi (Initial import): Mention where to place an
10585         AC_PROG_CC_STDC invocation.
10586         Reported by Gary V. Vaughan <gary@gnu.org>.
10587
10588 2011-09-28  Bruno Haible  <bruno@clisp.org>
10589
10590         fgetc, fputc, fread, fwrite tests: Fix link error.
10591         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
10592         on non-MSVC platforms.
10593         * tests/test-fputc.c (main): Likewise.
10594         * tests/test-fread.c (main): Likewise.
10595         * tests/test-fwrite.c (main): Likewise.
10596         Reported by Jim Meyering.
10597
10598 2011-09-27  Bruno Haible  <bruno@clisp.org>
10599
10600         fputc, fwrite tests: Avoid test failure on MSVC.
10601         * tests/test-fgetc.c: Include msvc-inval.h.
10602         (main): Invoke gl_msvc_inval_ensure_handler.
10603         * tests/test-fputc.c: Include msvc-inval.h.
10604         (main): Invoke gl_msvc_inval_ensure_handler.
10605         * tests/test-fread.c: Include msvc-inval.h.
10606         (main): Invoke gl_msvc_inval_ensure_handler.
10607         * tests/test-fwrite.c: Include msvc-inval.h.
10608         (main): Invoke gl_msvc_inval_ensure_handler.
10609         * modules/fgetc-tests (Depends-on): Add msvc-inval.
10610         * modules/fputc-tests (Depends-on): Likewise.
10611         * modules/fread-tests (Depends-on): Likewise.
10612         * modules/fwrite-tests (Depends-on): Likewise.
10613
10614 2011-09-27  Bruno Haible  <bruno@clisp.org>
10615
10616         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
10617         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
10618         (raise): Remove older, duplicated declaration.
10619         (_gl_raise_SIGPIPE): New declaration.
10620         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
10621         (rpl_raise): Remove function.
10622         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
10623         a gnulib-defined SIGPIPE here.
10624         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
10625         'sigprocmask' has detected missing signal-blocking and the module
10626         'sigpipe' is enabled.
10627         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10628
10629 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
10630
10631         base64-tests: avoid memory leak
10632         * tests/test-base64.c (main): Plug memory leak.
10633
10634         base32: new module
10635         * modules/base32: New module.
10636         * lib/base32.c: New file.
10637         * lib/base32.h: Likewise.
10638         * m4/base32.m4: Likewise.
10639         * modules/base32-tests: New test.
10640         * tests/test-base32.c: Likewise.
10641         * MODULES.html.sh (Misc): Mention it.
10642
10643 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10644
10645         gnulib: use more-standard license notice wording
10646         * gnulib-tool (func_emit_copyright_notice): When emitting a
10647         license notice into a file, use the standard wording as suggested
10648         by the current information for GNU maintainers, except say "file"
10649         rather than "program".  The new wording gives a license version
10650         number, which addresses an issue raised by Glenn Morris in
10651         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
10652         * m4/onceonly.m4: Use that same wording here, too.
10653
10654         dup2: minor simplification
10655         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
10656         as lib/dup2.c no longer uses 'inline'.
10657
10658 2011-09-25  Bruno Haible  <bruno@clisp.org>
10659
10660         strings: Fix compilation error on MSVC.
10661         * lib/strings.in.h: Include <stddef.h> for size_t.
10662
10663 2011-09-25  Bruno Haible  <bruno@clisp.org>
10664
10665         fflush et al.: Document limitation on MSVC.
10666         * doc/posix-functions/fflush.texi: Document possible crash in handling
10667         mode other than DEFAULT_HANDLING.
10668         * doc/posix-functions/fgetc.texi: Likewise.
10669         * doc/posix-functions/fputc.texi: Likewise.
10670         * doc/posix-functions/fread.texi: Likewise.
10671         * doc/posix-functions/fwrite.texi: Likewise.
10672
10673 2011-09-25  Bruno Haible  <bruno@clisp.org>
10674
10675         msvc-inval: Allow three invalid parameter handling modes.
10676         * lib/msvc-inval.h: Don't include <stdlib.h> here.
10677         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
10678         macros.
10679         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
10680         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
10681         SANE_LIBRARY_HANDLING as a no-op.
10682         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
10683         <stdlib.h>.
10684         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
10685
10686 2011-09-25  Bruno Haible  <bruno@clisp.org>
10687
10688         msvc-inval: Make handler multithread-safe.
10689         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
10690         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
10691         declarations.
10692         (gl_msvc_inval_current): New declaration.
10693         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10694         Operate on the structure returned by gl_msvc_inval_current().
10695         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
10696         Remove varaiables.
10697         (tls_index, tls_initialized): New variables.
10698         (not_per_thread): New variable.
10699         (gl_msvc_inval_current): New function.
10700         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
10701         returned by gl_msvc_inval_current().
10702
10703 2011-09-25  Bruno Haible  <bruno@clisp.org>
10704
10705         msvc-inval: Install handler globally.
10706         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
10707         !_MSC_VER.
10708         (gl_msvc_invalid_parameter_handler): Remove declaration.
10709         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
10710         declarations.
10711         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10712         Install the handler globally, don't uninstall it.
10713         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
10714         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
10715         currently valid, call RaiseException instead.
10716         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
10717         for !_MSC_VER.
10718
10719 2011-09-25  Bruno Haible  <bruno@clisp.org>
10720
10721         strerror_r-posix: Fix for MSVC 9.
10722         * lib/strerror_r.c (local_snprintf): New function.
10723         (snprintf): Define to local_snprintf, not to _snprintf.
10724
10725 2011-09-25  Bruno Haible  <bruno@clisp.org>
10726
10727         ftruncate: Support for MSVC 9.
10728         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
10729         (chsize_nothrow): New function.
10730         (chsize): Redefine as a macro.
10731         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
10732         * modules/ftruncate (Depends-on): Add msvc-inval.
10733
10734 2011-09-25  Bruno Haible  <bruno@clisp.org>
10735
10736         New module 'fstat'.
10737         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
10738         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
10739         * lib/fchdir.c (rpl_fstat): Remove function.
10740         * m4/fstat.m4: New file.
10741         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
10742         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
10743         declared.
10744         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
10745         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
10746         * modules/fstat: New file.
10747         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
10748         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
10749         is set.
10750         * doc/posix-functions/fstat.texi: Mention the new module and the
10751         problem on MSVC.
10752         * NEWS: Mention the change.
10753         * modules/acl (Depends-on): Add fstat.
10754         * modules/chdir-safer (Depends-on): Likewise.
10755         * modules/chown (Depends-on): Likewise.
10756         * modules/copy-file (Depends-on): Likewise.
10757         * modules/fchdir (Depends-on): Likewise.
10758         * modules/fdopendir (Depends-on): Likewise.
10759         * modules/fopen (Depends-on): Likewise.
10760         * modules/fts (Depends-on): Likewise.
10761         * modules/getcwd (Depends-on): Likewise.
10762         * modules/isapipe (Depends-on): Likewise.
10763         * modules/linkat (Depends-on): Likewise.
10764         * modules/lseek (Depends-on): Likewise.
10765         * modules/mkdir-p (Depends-on): Likewise.
10766         * modules/open (Depends-on): Likewise.
10767         * modules/openat (Depends-on): Likewise.
10768         * modules/read-file (Depends-on): Likewise.
10769         * modules/renameat (Depends-on): Likewise.
10770         * modules/utimens (Depends-on): Likewise.
10771
10772 2011-09-25  Bruno Haible  <bruno@clisp.org>
10773
10774         linkat: Fix compilation on MSVC 9.
10775         * lib/linkat.c: Don't include <stdint.h>.
10776
10777 2011-09-25  Bruno Haible  <bruno@clisp.org>
10778
10779         fclose: Support for MSVC 9.
10780         * lib/fclose.c: Include msvc-inval.h.
10781         (fclose_nothrow): New function.
10782         (rpl_fclose): Use it.
10783         * modules/fclose (Depends-on): Add msvc-inval.
10784         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
10785
10786 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10787
10788         dup2: minor simplifications
10789         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
10790         that it's a performance win.
10791         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
10792         ! defined __CYGWIN__)" to "ifdef F_GETFL".
10793
10794 2011-09-24  Jim Meyering  <meyering@redhat.com>
10795
10796         test-futimens: avoid a warning from gcc -Wshadow
10797         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
10798         to avoid a shadowing warning.
10799
10800 2011-09-24  Bruno Haible  <bruno@clisp.org>
10801
10802         fdopen: Support for MSVC 9.
10803         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
10804         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
10805         * lib/fdopen.c: Include msvc-inval.h.
10806         (fdopen_nothrow): New function.
10807         (rpl_fdopen): Use it.
10808         * modules/fdopen (Depends-on): Add msvc-inval.
10809         * modules/fclose-tests (Depends-on): Add fdopen.
10810         * modules/fflush-tests (Depends-on): Likewise.
10811         * modules/fgetc-tests (Depends-on): Likewise.
10812         * modules/fputc-tests (Depends-on): Likewise.
10813         * modules/fread-tests (Depends-on): Likewise.
10814         * modules/freopen-tests (Depends-on): Likewise.
10815         * modules/fseeko-tests (Depends-on): Likewise.
10816         * modules/ftello-tests (Depends-on): Likewise.
10817         * modules/fwrite-tests  (Depends-on): Likewise.
10818         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
10819
10820 2011-09-24  Bruno Haible  <bruno@clisp.org>
10821
10822         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
10823         * modules/fgetc-tests (Depends-on): Add unistd.
10824         * modules/fputc-tests (Depends-on): Likewise.
10825         * modules/fread-tests (Depends-on): Likewise.
10826         * modules/fwrite-tests (Depends-on): Likewise.
10827
10828 2011-09-24  Bruno Haible  <bruno@clisp.org>
10829
10830         dup: Simplify autoconf test.
10831         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
10832         on gl_MSVC_INVAL's result.
10833
10834 2011-09-24  Bruno Haible  <bruno@clisp.org>
10835
10836         Tests for function fwrite().
10837         * modules/fwrite-tests: New file.
10838         * tests/test-fwrite.c: New file.
10839         * modules/stdio-tests (Depends-on): Add fwrite-tests.
10840
10841         Tests for function fread().
10842         * modules/fread-tests: New file.
10843         * tests/test-fread.c: New file.
10844         * modules/stdio-tests (Depends-on): Add fread-tests.
10845
10846         Activate fputc tests.
10847         * modules/stdio-tests (Depends-on): Add fputc-tests.
10848
10849         Enhance fgetc, fputc tests.
10850         * tests/test-fgetc.c (main): Also test the stream's error indicator.
10851         * tests/test-fputc.c (main): Likewise.
10852
10853 2011-09-24  Bruno Haible  <bruno@clisp.org>
10854
10855         write: Support for MSVC 9.
10856         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10857         is not 1.
10858         * lib/write.c (write_nothrow): New function.
10859         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
10860         not 1. Use write_nothrow.
10861         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
10862         invalid parameter handler.
10863         (gl_PREREQ_WRITE): New macro.
10864         * modules/write (Depends-on): Add msvc-inval.
10865         (configure.ac): Invoke gl_PREREQ_WRITE.
10866         * doc/posix-functions/write.texi: Mention the problem on MSVC.
10867
10868 2011-09-24  Bruno Haible  <bruno@clisp.org>
10869
10870         read: Fix last commit.
10871         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
10872
10873 2011-09-24  Bruno Haible  <bruno@clisp.org>
10874
10875         dup2: Fix last commit.
10876         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
10877         (rpl_dup2): Disable fcntl workaround on native Windows.
10878
10879         sigprocmask: Make code safer.
10880         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
10881         section that changes macro definitions for this compilation unit.
10882
10883 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10884
10885         dup2: clarify by coalescing Windows-specific material
10886         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
10887         "msvc-nothrow.h"' to the Windows-specific section, so that the
10888         Emacs source need not contain these include files.
10889         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
10890         Windows-specific fixes into this function rather than just the
10891         nothrow fix, as this shortens and clarifies the code.  Always
10892         define as a function, as that's a bit cleaner than having it be
10893         sometimes a function and sometimes a macro.
10894         (rpl_dup2): Move the Windows-specific stuff out of here and into
10895         ms_windows_dup2.  Don't protect the Haiku-related fix with
10896         "#if !defined __linux__", as the same code also works around
10897         a Linux kernel bug, and it doesn't add any system calls on any
10898         platform.  Add comment about FreeBSD 6.1.
10899
10900         sigprocmask: move #include directive
10901         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
10902         Windows-specific section, so that the Emacs source need not
10903         contain msvc-inval.h.
10904
10905 2011-09-23  Bruno Haible  <bruno@clisp.org>
10906
10907         read: Support for MSVC 9.
10908         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10909         is not 1.
10910         * lib/read.c (read_nothrow): New function.
10911         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
10912         read_nothrow.
10913         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
10914         invalid parameter handler.
10915         (gl_PREREQ_READ): New macro.
10916         * modules/read (Depends-on): Add msvc-inval.
10917         (configure.ac): Invoke gl_PREREQ_READ.
10918         * doc/posix-functions/read.texi: Mention the problem on MSVC.
10919
10920 2011-09-23  Bruno Haible  <bruno@clisp.org>
10921
10922         close: Support for MSVC 9.
10923         * lib/close.c: Include <errno.h>, msvc-inval.h.
10924         (close_nothrow): New function.
10925         (rpl_close): Use it.
10926         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
10927         invalid parameter handler.
10928         * modules/close (Depends-on): Add msvc-inval.
10929         * modules/dup2-tests (Depends-on): Add close.
10930         * modules/dup3-tests (Depends-on): Likewise.
10931         * modules/fcntl-tests (Depends-on): Likewise.
10932         * modules/spawn-pipe-tests (Depends-on): Likewise.
10933         * modules/unistd-safer-tests (Depends-on): Likewise.
10934         * doc/posix-functions/close.texi: Mention the problem on MSVC.
10935
10936 2011-09-23  Bruno Haible  <bruno@clisp.org>
10937
10938         New module 'dup'.
10939         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
10940         Allow replacement.
10941         * lib/dup.c: New file.
10942         * lib/fchdir.c (rpl_dup): Remove function.
10943         * m4/dup.m4: New file.
10944         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10945         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10946         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10947         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10948         * modules/dup: New file.
10949         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10950         'dup' module is in use.
10951         * modules/fdopendir (Depends-on): Add dup.
10952         * modules/fdutimensat-tests (Depends-on): Likewise.
10953         * modules/fts (Depends-on): Likewise.
10954         * modules/futimens-tests (Depends-on): Likewise.
10955         * modules/posix_spawnp-tests (Depends-on): Likewise.
10956         * modules/unistd-safer-tests (Depends-on): Likewise.
10957         * modules/utimens-tests (Depends-on): Likewise.
10958         * doc/posix-functions/dup.texi: Mention the new module and the problem
10959         on MSVC.
10960
10961 2011-09-23  Bruno Haible  <bruno@clisp.org>
10962
10963         getdtablesize: Support for MSVC 9.
10964         * lib/getdtablesize.c: Include msvc-inval.h.
10965         (_setmaxstdio_nothrow): New function.
10966         (_setmaxstdio): Redefine it.
10967         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10968         * modules/getdtablesize (Depends-on): Add msvc-inval.
10969         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10970
10971 2011-09-23  Bruno Haible  <bruno@clisp.org>
10972
10973         signal-h: Rename from signal.
10974         * modules/signal-h: Renamed from modules/signal.
10975         * modules/pthread_sigmask (Depends-on): Update.
10976         * modules/raise (Depends-on): Likewise.
10977         * modules/sigaction (Depends-on): Likewise.
10978         * modules/sigpipe (Depends-on): Likewise.
10979         * modules/sigprocmask (Depends-on): Likewise.
10980         * modules/sys_select (Depends-on): Likewise.
10981         * modules/signal-h-tests: Renamed from modules/signal-tests.
10982         (Files, Depends-on, Makefile.am): Update.
10983         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10984         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10985         (Files, Makefile.am): Update.
10986         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10987         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10988         * modules/signal: New placeholder file.
10989         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10990         * doc/posix-headers/signal.texi: Update.
10991         * NEWS: Mention the change.
10992
10993 2011-09-23  Bruno Haible  <bruno@clisp.org>
10994
10995         sigprocmask: Avoid crashes through signal() on MSVC 9.
10996         * lib/sigprocmask.c: Include msvc-inval.h.
10997         (signal_nothrow): New function.
10998         (signal): Redefine it.
10999         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
11000         * modules/sigprocmask (Depends-on): Add msvc-inval.
11001         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
11002
11003 2011-09-23  Bruno Haible  <bruno@clisp.org>
11004
11005         Tests for module 'raise'.
11006         * modules/raise-tests: New file.
11007         * tests/test-raise.c: New file.
11008
11009         raise: Support for MSVC.
11010         * lib/signal.in.h (raise): New declaration.
11011         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
11012         for native Windows platforms.
11013         * m4/raise.m4: New file.
11014         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
11015         HAVE_RAISE, REPLACE_RAISE.
11016         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
11017         REPLACE_RAISE.
11018         * modules/raise (Status, Notice): Remove fields.
11019         (Files): Add m4/raise.m4.
11020         (Depends-on): Add signal, msvc-inval.
11021         (configure.ac): Use the common idioms.
11022         (Maintainer): Add me.
11023         * tests/test-signal-c++.cc: Check the signature of raise.
11024         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
11025
11026 2011-09-23  Bruno Haible  <bruno@clisp.org>
11027
11028         pipe2: Fix compilation on pre-C99 compilers.
11029         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
11030
11031 2011-09-23  Bruno Haible  <bruno@clisp.org>
11032
11033         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
11034         * lib/msvc-nothrow.h: New file.
11035         * lib/msvc-nothrow.c: New file.
11036         * m4/msvc-nothrow.m4: New file.
11037         * modules/msvc-nothrow: New file.
11038         * lib/dup2.c: Include msvc-nothrow.h.
11039         (rpl_dup2): No need to protect _get_osfhandle call here.
11040         * lib/accept4.c: Include msvc-nothrow.h.
11041         * lib/error.c: Likewise.
11042         * lib/fcntl.c: Likewise.
11043         * lib/lseek.c: Likewise.
11044         * lib/nonblocking.c: Likewise.
11045         * lib/poll.c: Likewise.
11046         * lib/read.c: Likewise.
11047         * lib/select.c: Likewise.
11048         * lib/sockets.h: Likewise.
11049         * lib/sockets.c: Likewise.
11050         * lib/stdio-read.c: Likewise.
11051         * lib/stdio-write.c: Likewise.
11052         * lib/write.c: Likewise.
11053         * lib/w32sock.h: Likewise.
11054         * lib/w32spawn.h: Likewise.
11055         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
11056         * lib/fsync.c: Likewise.
11057         * lib/isapipe.c: Likewise.
11058         * modules/dup2 (Depends-on): Add msvc-nothrow.
11059         * modules/accept4 (Depends-on): Likewise.
11060         * modules/error (Depends-on): Likewise.
11061         * modules/fcntl (Depends-on): Likewise.
11062         * modules/lseek (Depends-on): Likewise.
11063         * modules/nonblocking (Depends-on): Likewise.
11064         * modules/poll (Depends-on): Likewise.
11065         * modules/read (Depends-on): Likewise.
11066         * modules/select (Depends-on): Likewise.
11067         * modules/sockets (Depends-on): Likewise.
11068         * modules/sigpipe (Depends-on): Likewise.
11069         * modules/write (Depends-on): Likewise.
11070         * modules/accept (Depends-on): Likewise.
11071         * modules/bind (Depends-on): Likewise.
11072         * modules/connect (Depends-on): Likewise.
11073         * modules/gethostname (Depends-on): Likewise.
11074         * modules/getpeername (Depends-on): Likewise.
11075         * modules/getsockname (Depends-on): Likewise.
11076         * modules/getsockopt (Depends-on): Likewise.
11077         * modules/ioctl (Depends-on): Likewise.
11078         * modules/listen (Depends-on): Likewise.
11079         * modules/recv (Depends-on): Likewise.
11080         * modules/recvfrom (Depends-on): Likewise.
11081         * modules/send (Depends-on): Likewise.
11082         * modules/sendto (Depends-on): Likewise.
11083         * modules/setsockopt (Depends-on): Likewise.
11084         * modules/shutdown (Depends-on): Likewise.
11085         * modules/socket (Depends-on): Likewise.
11086         * modules/execute (Depends-on): Likewise.
11087         * modules/spawn-pipe (Depends-on): Likewise.
11088         * modules/flock (Depends-on): Likewise.
11089         * modules/fsync (Depends-on): Likewise.
11090         * modules/isapipe (Depends-on): Likewise.
11091         * tests/test-cloexec.c: Include msvc-nothrow.h.
11092         * tests/test-dup-safer.c: Likewise.
11093         * tests/test-dup2.c: Likewise.
11094         * tests/test-dup3.c: Likewise.
11095         * tests/test-fcntl.c: Likewise.
11096         * tests/test-pipe.c: Likewise.
11097         * tests/test-pipe2.c: Likewise.
11098         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
11099         * modules/unistd-safer-tests (Depends-on): Likewise.
11100         * modules/dup2-tests (Depends-on): Likewise.
11101         * modules/dup3-tests (Depends-on): Likewise.
11102         * modules/fcntl-tests (Depends-on): Likewise.
11103         * modules/pipe-posix-tests (Depends-on): Likewise.
11104         * modules/pipe2-tests (Depends-on): Likewise.
11105
11106 2011-09-23  Bruno Haible  <bruno@clisp.org>
11107
11108         dup2: Make code more maintainable.
11109         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
11110         (rpl_dup2): Use it.
11111         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
11112         * modules/dup2 (configure.ac): Invoke it.
11113         Reported by Paul Eggert.
11114
11115 2011-09-23  Bruno Haible  <bruno@clisp.org>
11116
11117         msvc-inval: Fix compilation error.
11118         * lib/msvc-inval.h: Include <excpt.h>.
11119
11120 2011-09-23  Bruno Haible  <bruno@clisp.org>
11121
11122         mkdir: Tweak for MSVC 9.
11123         * lib/sys_stat.in.h: Update comments.
11124         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
11125
11126         Tests for module 'chdir'.
11127         * modules/chdir-tests: New file.
11128         * tests/test-chdir.c: New file.
11129
11130         New module 'chdir'.
11131         * modules/chdir: New file.
11132         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
11133         (chdir): New declaration.
11134         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
11135         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
11136         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
11137         * tests/test-unistd-c++.cc: Check signature of chdir.
11138         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
11139         * modules/chdir-long (Depends-on): Add chdir.
11140         * modules/fchdir (Depends-on): Likewise.
11141         * modules/rename (Depends-on): Likewise.
11142         * modules/savewd (Depends-on): Likewise.
11143
11144         rmdir: Support for mingw, MSVC 9.
11145         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
11146         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
11147
11148         getcwd: Tweak for MSVC 9.
11149         * lib/unistd.in.h: Update comments.
11150         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
11151
11152 2011-09-22  Bruno Haible  <bruno@clisp.org>
11153
11154         strerror_r-posix: Avoid a link error on MSVC.
11155         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
11156         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
11157
11158 2011-09-22  Bruno Haible  <bruno@clisp.org>
11159
11160         select: Avoid link errors on MSVC.
11161         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
11162         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
11163         * modules/pselect (Link): Likewise.
11164         * NEWS: Mention the change.
11165         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
11166         test-select-stdin against $(LIB_SELECT).
11167         * modules/pselect-tests (Makefile.am): Link test-pselect against
11168         $(LIB_SELECT).
11169
11170 2011-09-22  Bruno Haible  <bruno@clisp.org>
11171
11172         select: Avoid compilation error on MSVC.
11173         * lib/select.c: Don't include <stdbool.h>.
11174
11175 2011-09-21  Bruno Haible  <bruno@clisp.org>
11176
11177         Consolidate all uses of PATH_MAX in *.m4 files.
11178         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
11179         macros.
11180         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
11181         and gl_PATHMAX_SNIPPET.
11182         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11183         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11184         * modules/chdir-long (Files): Add m4/pathmax.m4.
11185         * modules/getcwd (Files): Likewise.
11186
11187 2011-09-21  Bruno Haible  <bruno@clisp.org>
11188
11189         ftruncate: Un-deprecate, concentrate on Win32 support.
11190         * modules/ftruncate (Status, Notice): Remove sections.
11191         (Depends-on): Add largefile.
11192         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
11193         non-mingw platforms.
11194         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
11195         include <io.h>.
11196         * modules/perror-tests (Depends-on): Add ftruncate.
11197         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
11198         'ftruncate' module.
11199
11200 2011-09-21  Bruno Haible  <bruno@clisp.org>
11201
11202         Add dependencies to new dirent related modules.
11203         * modules/opendir (Depends-on): Add closedir.
11204         * modules/getcwd (Depends-on): Add opendir, closedir.
11205         * modules/dirent-safer-tests (Depends-on): Likewise.
11206         * modules/fdopendir-tests (Depends-on): Likewise.
11207         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
11208         * modules/renameat-tests (Depends-on): Likewise.
11209
11210 2011-09-21  Bruno Haible  <bruno@clisp.org>
11211
11212         opendir: Avoid compilation error on mingw.
11213         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
11214         * modules/opendir (Depends-on): Add unistd.
11215
11216 2011-09-21  Bruno Haible  <bruno@clisp.org>
11217
11218         ftruncate tests: Avoid a test failure on mingw.
11219         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
11220
11221 2011-09-21  Bruno Haible  <bruno@clisp.org>
11222
11223         select tests: Avoid test failures on OSF/1 5.1 and mingw.
11224         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
11225         native Windows.
11226
11227 2011-09-21  Bruno Haible  <bruno@clisp.org>
11228
11229         New module 'fdopen'.
11230         * lib/stdio.in.h (fdopen): New declaration.
11231         * lib/fdopen.c: New file.
11232         * m4/fdopen.m4: New file.
11233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
11234         REPLACE_FDOPEN.
11235         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
11236         REPLACE_FDOPEN.
11237         * modules/fdopen: New file.
11238         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
11239         * tests/test-stdio-c++.cc: Check signature of fdopen.
11240         * doc/posix-functions/fdopen.texi: Mention the new module.
11241
11242 2011-09-21  Bruno Haible  <bruno@clisp.org>
11243
11244         unlockpt tests: Avoid test failure on NetBSD 5.1.
11245         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
11246         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
11247
11248 2011-09-21  Bruno Haible  <bruno@clisp.org>
11249
11250         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
11251         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
11252         * tests/test-getlogin_r.c (main): Likewise.
11253
11254 2011-09-20  Bruno Haible  <bruno@clisp.org>
11255
11256         time tests: Don't require pid_t.
11257         * doc/posix-headers/time.texi: Revert last change.
11258         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
11259         * tests/test-time.c: Comment out the check for pid_t.
11260
11261 2011-09-20  Bruno Haible  <bruno@clisp.org>
11262
11263         fsync tests: Avoid a test failure on mingw.
11264         * tests/test-fsync.c (main): Allow a failure with EIO.
11265
11266 2011-09-20  Bruno Haible  <bruno@clisp.org>
11267
11268         euidaccess: Update comments.
11269         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
11270
11271 2011-09-20  Bruno Haible  <bruno@clisp.org>
11272
11273         Ensure EBADF returns for socket functions on mingw.
11274         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
11275         descriptor is invalid.
11276         * lib/bind.c (rpl_bind): Likewise.
11277         * lib/connect.c (rpl_connect): Likewise.
11278         * lib/getpeername.c (rpl_getpeername): Likewise.
11279         * lib/getsockname.c (rpl_getsockname): Likewise.
11280         * lib/getsockopt.c (rpl_getsockopt): Likewise.
11281         * lib/listen.c (rpl_listen): Likewise.
11282         * lib/recv.c (rpl_recv): Likewise.
11283         * lib/recvfrom.c (rpl_recvfrom): Likewise.
11284         * lib/send.c (rpl_send): Likewise.
11285         * lib/sendto.c (rpl_sendto): Likewise.
11286         * lib/setsockopt.c (rpl_setsockopt): Likewise.
11287         * lib/shutdown.c (rpl_shutdown): Likewise.
11288
11289 2011-09-20  Bruno Haible  <bruno@clisp.org>
11290
11291         select tests: EBADF tests.
11292         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
11293         test_bad_fd): New functions.
11294         (test_function): Invoke also test_bad_fd.
11295
11296 2011-09-20  Bruno Haible  <bruno@clisp.org>
11297
11298         Tests for module 'posix_spawn_file_actions_addopen.
11299         * modules/posix_spawn_file_actions_addopen-tests: New file.
11300         * tests/test-posix_spawn_file_actions_addopen.c: New file.
11301
11302         Tests for module 'posix_spawn_file_actions_adddup2'.
11303         * modules/posix_spawn_file_actions_adddup2-tests: New file.
11304         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
11305
11306         Tests for module 'posix_spawn_file_actions_addclose'.
11307         * modules/posix_spawn_file_actions_addclose-tests: New file.
11308         * tests/test-posix_spawn_file_actions_addclose.c: New file.
11309
11310 2011-09-20  Bruno Haible  <bruno@clisp.org>
11311
11312         Tests for module 'unlockpt'.
11313         * modules/unlockpt-tests: New file.
11314         * tests/test-unlockpt.c: New file.
11315         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
11316
11317         Tests for module 'grantpt'.
11318         * modules/grantpt-tests: New file.
11319         * tests/test-grantpt.c: New file.
11320         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
11321
11322 2011-09-20  Bruno Haible  <bruno@clisp.org>
11323
11324         freopen tests: EBADF tests.
11325         * tests/test-freopen.c: Include errno.h, unistd.h.
11326         (main): Add tests for EBADF, commented out for the moment.
11327
11328         fclose tests: EBADF tests.
11329         * tests/test-fclose.c (main): Add tests for EBADF.
11330
11331         fflush tests: EBADF tests.
11332         * tests/test-fflush.c: Include errno.h, macros.h.
11333         (main): Add tests for EBADF.
11334
11335         ftello tests: EBADF tests.
11336         * tests/test-ftello4.sh: New file.
11337         * tests/test-ftello4.c: New file.
11338         * modules/ftello-tests (Files): Add them.
11339         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
11340
11341         fseeko tests: EBADF tests.
11342         * tests/test-fseeko4.sh: New file.
11343         * tests/test-fseeko4.c: New file.
11344         * modules/fseeko-tests (Files): Add them.
11345         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
11346
11347         Tests for function fputc().
11348         * modules/fputc-tests: New file.
11349         * tests/test-fputc.c: New file.
11350         * modules/stdio-tests (Depends-on): Add fputc-tests.
11351
11352         Tests for function fgetc().
11353         * modules/fgetc-tests: New file.
11354         * tests/test-fgetc.c: New file.
11355         * modules/stdio-tests (Depends-on): Add fgetc-tests.
11356
11357         Tests for function fdopen().
11358         * modules/fdopen-tests: New file.
11359         * tests/test-fdopen.c: New file.
11360         * modules/stdio-tests (Depends-on): Add fdopen-tests.
11361
11362         Tests for module 'vdprintf'.
11363         * modules/vdprintf-tests: New file.
11364         * tests/test-vdprintf.c: New file.
11365
11366         Tests for module 'dprintf'.
11367         * modules/dprintf-tests: New file.
11368         * tests/test-dprintf.c: New file.
11369
11370 2011-09-20  Bruno Haible  <bruno@clisp.org>
11371
11372         Tests for module 'ioctl'.
11373         * modules/ioctl-tests: New file.
11374         * tests/test-ioctl.c: New file.
11375
11376 2011-09-20  Bruno Haible  <bruno@clisp.org>
11377
11378         fcntl tests: EBADF tests.
11379         * tests/test-fcntl.c (main): Add more tests for EBADF.
11380
11381 2011-09-20  Bruno Haible  <bruno@clisp.org>
11382
11383         utimensat tests: EBADF tests.
11384         * tests/test-utimensat.c (main): Add tests for EBADF.
11385
11386         renameat tests: EBADF tests.
11387         * tests/test-renameat.c (main): Add tests for EBADF.
11388
11389         mkfifoat tests: EBADF tests.
11390         * tests/test-mkfifoat.c (main): Add tests for EBADF.
11391
11392         readlinkat tests: EBADF tests.
11393         * tests/test-readlinkat.c (main): Add tests for EBADF.
11394
11395         symlinkat tests: EBADF tests.
11396         * tests/test-symlinkat.c (main): Add tests for EBADF.
11397
11398         linkat tests: EBADF tests.
11399         * tests/test-linkat.c (main): Add tests for EBADF.
11400
11401         Tests for module 'faccessat'.
11402         * modules/faccessat-tests: New file.
11403         * tests/test-faccessat.c: New file.
11404
11405         fdopendir tests: EBADF tests.
11406         * tests/test-fdopendir.c (main): Add more tests for EBADF.
11407
11408         openat tests: EBADF tests.
11409         * tests/test-fchownat.c (main): Add tests for EBADF.
11410         * tests/test-fstatat.c (main): Likewise.
11411         * tests/test-mkdirat.c (main): Likewise.
11412         * tests/test-openat.c (main): Likewise.
11413         * tests/test-unlinkat.c (main): Likewise.
11414         * tests/test-fchmodat.c: New file.
11415         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
11416         (Makefile.am): Also run 'test-fchmodat'.
11417
11418 2011-09-20  Bruno Haible  <bruno@clisp.org>
11419
11420         utimens, futimens, fdutimensat tests: EBADF tests.
11421         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
11422
11423         Tests for function fstat().
11424         * modules/fstat-tests: New file.
11425         * tests/test-fstat.c: New file.
11426         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
11427
11428 2011-09-20  Bruno Haible  <bruno@clisp.org>
11429
11430         test-ttyname_r tests: EBADF tests.
11431         * tests/test-ttyname_r.c (main): Add tests for EBADF.
11432
11433         Tests for module 'isatty'.
11434         * modules/isatty-tests: New file.
11435         * tests/test-isatty.c: New file.
11436
11437         Tests for module 'write'.
11438         * modules/write-tests: New file.
11439         * tests/test-write.c: New file.
11440
11441         Tests for module 'read'.
11442         * modules/read-tests: New file.
11443         * tests/test-read.c: New file.
11444
11445         pwrite tests: EBADF tests.
11446         * tests/test-pwrite.c (main): Add tests for EBADF.
11447
11448         pread tests: EBADF tests.
11449         * tests/test-pread.c (main): Add tests for EBADF.
11450
11451         lseek tests: EBADF tests.
11452         * tests/test-lseek.c (main): Add more tests for EBADF.
11453
11454         Tests for module 'ftruncate'.
11455         * modules/ftruncate-tests: New file.
11456         * tests/test-ftruncate.sh: New file.
11457         * tests/test-ftruncate.c: New file.
11458
11459         fsync tests: EBADF tests.
11460         * tests/test-fsync.c (main): Add more tests for EBADF.
11461
11462         fdatasync tests: EBADF tests.
11463         * tests/test-fdatasync.c (main): Add more tests for EBADF.
11464
11465         Tests for module 'fchown'.
11466         * modules/fchown-tests: New file.
11467         * tests/test-fchown.c: New file.
11468
11469         Tests for module 'fchmod'.
11470         * modules/fchmod-tests: New file.
11471         * tests/test-fchmod.c: New file.
11472
11473         fchdir tests: EBADF tests.
11474         * tests/test-fchdir.c (main): Add more tests for EBADF.
11475
11476         dup2 tests: EBADF tests.
11477         * tests/test-dup2.c (main): Add more tests for EBADF.
11478
11479         Tests for module 'dup'.
11480         * modules/dup-tests: New file.
11481         * tests/test-dup.c: New file.
11482
11483         Tests for module 'close'.
11484         * modules/close-tests: New file.
11485         * tests/test-close.c: New file.
11486
11487 2011-09-20  Bruno Haible  <bruno@clisp.org>
11488
11489         Tests for module 'shutdown'.
11490         * modules/shutdown-tests: New file.
11491         * tests/test-shutdown.c: New file.
11492
11493         Tests for module 'setsockopt'.
11494         * modules/setsockopt-tests: New file.
11495         * tests/test-setsockopt.c: New file.
11496
11497         Tests for module 'sendto'.
11498         * modules/sendto-tests: New file.
11499         * tests/test-sendto.c: New file.
11500
11501         Tests for module 'send'.
11502         * modules/send-tests: New file.
11503         * tests/test-send.c: New file.
11504
11505         Tests for module 'recvfrom'.
11506         * modules/recvfrom-tests: New file.
11507         * tests/test-recvfrom.c: New file.
11508
11509         Tests for module 'recv'.
11510         * modules/recv-tests: New file.
11511         * tests/test-recv.c: New file.
11512
11513         Tests for module 'listen'.
11514         * modules/listen-tests: New file.
11515         * tests/test-listen.c: New file.
11516
11517         Tests for module 'getsockopt'.
11518         * modules/getsockopt-tests: New file.
11519         * tests/test-getsockopt.c: New file.
11520
11521         Tests for module 'getsockname'.
11522         * modules/getsockname-tests: New file.
11523         * tests/test-getsockname.c: New file.
11524
11525         Tests for module 'getpeername'.
11526         * modules/getpeername-tests: New file.
11527         * tests/test-getpeername.c: New file.
11528
11529         Tests for module 'connect'.
11530         * modules/connect-tests: New file.
11531         * tests/test-connect.c: New file.
11532
11533         Tests for module 'bind'.
11534         * modules/bind-tests: New file.
11535         * tests/test-bind.c: New file.
11536
11537         accept4 tests: Fix for native Windows.
11538         * tests/test-accept4.c: Include sockets.h.
11539         (main): Invoke gl_sockets_startup.
11540         * modules/accept4-tests (Depends-on): Add sockets.
11541
11542         accept tests: Fix for native Windows.
11543         * tests/test-accept.c: Include sockets.h.
11544         (main): Invoke gl_sockets_startup.
11545         * modules/accept-tests (Depends-on): Add sockets.
11546
11547 2011-09-19  Bruno Haible  <bruno@clisp.org>
11548
11549         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
11550         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
11551         do...while(0).
11552         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
11553         Suggested by Paul Eggert.
11554
11555 2011-09-19  Bruno Haible  <bruno@clisp.org>
11556
11557         sched: Ensure pid_t is defined.
11558         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
11559         not define pid_t.
11560         * lib/sched.in.h: Include <sys/types.h>.
11561         * doc/posix-headers/sched.texi: Mention the pid_t problem.
11562         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11563
11564 2011-09-19  Bruno Haible  <bruno@clisp.org>
11565
11566         msvc-inval: Ensure the entire expansion is a single statement.
11567         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
11568         of braces.
11569
11570 2011-09-19  Jim Meyering  <meyering@redhat.com>
11571
11572         tests: use printf, not echo in init.sh's warn_ function
11573         * tests/init.sh (warn_): Use printf, not echo.  The latter would
11574         misbehave when given strings containing a backslash or starting
11575         with e.g., -n.  James Youngman suggested setting IFS.
11576
11577 2011-09-19  Eric Blake  <eblake@redhat.com>
11578
11579         futimens: enhance test
11580         * tests/test-futimens.h (test_futimens): Also check for EBADF on
11581         closed non-negative fd.
11582
11583         date: accept 'hence' as opposite of 'ago'
11584         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
11585         * tests/test-parse-datetime.c (main): Enhance test.
11586         Suggested by Jesse Wilson.
11587
11588 2011-09-19  Jim Meyering  <meyering@redhat.com>
11589
11590         getcwd: don't fail in a deep directory on a system without openat
11591         Before this change, getcwd would fail when called from a directory
11592         of depth PATH_MAX / 3 or greater.  That was due to the fact that
11593         the non-openat implementation used "..", "../..", "../../..", etc.
11594         to access ancestor directories.  With too many, that string would
11595         be longer than PATH_MAX.
11596         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
11597         using gnulib's openat replacement.
11598         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
11599         we're using the replacement function.
11600
11601 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
11602
11603         maint.mk: avoid warnings from perl about missing files
11604         * top/maint.mk (def_sym_regex): Ignore files listed in
11605         $(gl_other_headers_) that do not exist, say because a project
11606         does not use a corresponding module.
11607
11608 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11609
11610         stat: use pathmax.h only if needed
11611         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
11612         This is better for Emacs, which does not have a mingw port and
11613         therefore can avoid the pathmax module.
11614
11615         utimens: remove dependency on dup2
11616         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
11617         to work around the Linux kernel bug.
11618         * modules/utimens (Depends-on): Remove dup2.
11619
11620 2011-09-18  Bruno Haible  <bruno@clisp.org>
11621
11622         inet_ntop, inet_pton: Look for it also in libresolv.
11623         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
11624         libnsl, search for it in libresolv.
11625         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11626         Needed on Solaris 7.
11627
11628 2011-09-18  Bruno Haible  <bruno@clisp.org>
11629
11630         accept, accept4 tests: Avoid link error on Solaris.
11631         * modules/accept-tests (Makefile.am): Link test-accept against
11632         $(LIBSOCKET).
11633         * modules/accept4-tests (Makefile.am): Link test-accept4 against
11634         $(LIBSOCKET).
11635
11636         accept4: Avoid link error on Solaris.
11637         * modules/accept4 (Link): New section.
11638
11639         socket functions: Avoid link errors on Solaris.
11640         * modules/accept (Depends-on): Add socketlib.
11641         (Link): New section.
11642         * modules/bind (Depends-on): Add socketlib.
11643         (Link): New section.
11644         * modules/connect (Depends-on): Add socketlib.
11645         (Link): New section.
11646         * modules/getpeername (Depends-on): Add socketlib.
11647         (Link): New section.
11648         * modules/getsockname (Depends-on): Add socketlib.
11649         (Link): New section.
11650         * modules/getsockopt (Depends-on): Add socketlib.
11651         (Link): New section.
11652         * modules/listen (Depends-on): Add socketlib.
11653         (Link): New section.
11654         * modules/recv (Depends-on): Add socketlib.
11655         (Link): New section.
11656         * modules/recvfrom (Depends-on): Add socketlib.
11657         (Link): New section.
11658         * modules/send (Depends-on): Add socketlib.
11659         (Link): New section.
11660         * modules/sendto (Depends-on): Add socketlib.
11661         (Link): New section.
11662         * modules/setsockopt (Depends-on): Add socketlib.
11663         (Link): New section.
11664         * modules/shutdown (Depends-on): Add socketlib.
11665         (Link): New section.
11666         * modules/socket (Depends-on): Add socketlib.
11667         (Link): New section.
11668
11669 2011-09-18  Bruno Haible  <bruno@clisp.org>
11670
11671         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
11672         * tests/test-ptsname.c (main): Terminate the test if it takes longer
11673         than 5 seconds.
11674         * modules/ptsname-tests (configure.ac): Test for alarm.
11675
11676 2011-09-18  Bruno Haible  <bruno@clisp.org>
11677
11678         posix_spawn_file_actions_add*: Fix module dependencies.
11679         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
11680         posix_spawn_file_actions_init.
11681         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
11682         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
11683
11684 2011-09-18  Bruno Haible  <bruno@clisp.org>
11685
11686         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
11687         * tests/test-rename.h (test_rename): Allow error code EEXIST.
11688         * tests/test-renameat.c (main): Likewise.
11689
11690 2011-09-18  Bruno Haible  <bruno@clisp.org>
11691
11692         Tests for module 'accept4'.
11693         * modules/accept4-tests: New file.
11694         * tests/test-accept4.c: New file.
11695
11696 2011-09-18  Bruno Haible  <bruno@clisp.org>
11697
11698         Tests for module 'accept'.
11699         * modules/accept-tests: New file.
11700         * tests/test-accept.c: New file.
11701
11702 2011-09-18  Bruno Haible  <bruno@clisp.org>
11703
11704         dup2: Support for MSVC.
11705         * lib/dup2.c: Include msvc-inval.h.
11706         (rpl_dup2): Handle invalid parameter notifications during dup2 and
11707         _get_osfhandle calls.
11708         * modules/dup2 (Depends-on): Add msvc-inval.
11709         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
11710
11711         New module 'msvc-inval'.
11712         * lib/msvc-inval.h: New file.
11713         * lib/msvc-inval.c: New file.
11714         * m4/msvc-inval.m4: New file.
11715         * modules/msvc-inval: New file.
11716
11717 2011-09-17  Bruno Haible  <bruno@clisp.org>
11718
11719         Tests for module 'pclose'.
11720         * modules/pclose-tests: New file.
11721
11722         New module 'pclose'.
11723         * lib/stdio.in.h (pclose): New declaration.
11724         * lib/pclose.c: New file.
11725         * m4/pclose.m4: New file.
11726         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
11727         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
11728         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
11729         * modules/pclose: New file.
11730         * modules/popen-tests (Depends-on): Add pclose.
11731         * modules/popen-safer-tests (Depends-on): Likewise.
11732         * doc/posix-functions/pclose.texi: Mention the new module.
11733
11734 2011-09-17  Bruno Haible  <bruno@clisp.org>
11735
11736         popen: Support for MSVC.
11737         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
11738         * lib/popen.c (popen): Provide alternate definition for native Windows.
11739         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
11740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
11741         * modules/popen (Depends-on, configure.ac): Update condition.
11742         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
11743         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11744         fixed.
11745
11746 2011-09-17  Bruno Haible  <bruno@clisp.org>
11747
11748         isnanl, isnand, isnanf: Work around MSVC bug.
11749         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
11750
11751 2011-09-17  Bruno Haible  <bruno@clisp.org>
11752
11753         sys_socket tests: Fix recent mistake.
11754         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
11755
11756 2011-09-17  Bruno Haible  <bruno@clisp.org>
11757
11758         putenv: Support for MSVC.
11759         * modules/putenv (Depends-on): Add environ.
11760         * lib/putenv.c (environ): Disable declaration.
11761         * lib/unistd.in.h: Update comment.
11762
11763 2011-09-17  Bruno Haible  <bruno@clisp.org>
11764
11765         math: Avoid macro redefinition warnings on MSVC.
11766         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
11767         Undefine before redefining.
11768
11769 2011-09-17  Bruno Haible  <bruno@clisp.org>
11770
11771         doc: Mention functions which are declared as macros.
11772         * doc/posix-functions/*[fl].texi: Mention that some functions are
11773         defined as macros with arguments only.
11774
11775 2011-09-17  Bruno Haible  <bruno@clisp.org>
11776
11777         Add dependencies to new dirent related modules.
11778         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
11779         * modules/fts (Depends-on): Likewise.
11780         * modules/glob (Depends-on): Likewise.
11781         * modules/savedir (Depends-on): Likewise.
11782         * modules/scandir (Depends-on): Likewise.
11783         * modules/dirent-safer (Depends-on): Add opendir, closedir.
11784         * modules/fdopendir (Depends-on): Add opendir.
11785
11786 2011-09-17  Bruno Haible  <bruno@clisp.org>
11787
11788         inet_pton: Support for MSVC on Windows Vista or newer.
11789         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
11790         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
11791         HAVE_DECL_INET_PTON is defined.
11792         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11793         On platforms with <winsock2.h>, test whether inet_pton is declared in
11794         <ws2tcpip.h>. If so, arrange to replace it.
11795         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11796         REPLACE_INET_PTON.
11797         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
11798         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
11799         (Depends-on, configure.ac): Update condition.
11800         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
11801
11802 2011-09-17  Bruno Haible  <bruno@clisp.org>
11803
11804         inet_ntop: Support for MSVC on Windows Vista or newer.
11805         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
11806         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
11807         HAVE_DECL_INET_NTOP is defined.
11808         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11809         On platforms with <winsock2.h>, test whether inet_ntop is declared in
11810         <ws2tcpip.h>. If so, arrange to replace it.
11811         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11812         REPLACE_INET_NTOP.
11813         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
11814         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
11815         (Depends-on, configure.ac): Update condition.
11816         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
11817
11818 2011-09-16  Eric Blake  <eblake@redhat.com>
11819
11820         test-fsync: yet another enhancement
11821         * tests/test-fsync.c (main): Also test behavior on read-only text
11822         file.
11823
11824 2011-09-16  Bruno Haible  <bruno@clisp.org>
11825
11826         Enhance fsync, fdatasync tests.
11827         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
11828         * tests/test-fdatasync.c (main): Likewise.
11829
11830 2011-09-16  Bruno Haible  <bruno@clisp.org>
11831
11832         Support for MSVC compiler: Ensure mode_t gets defined.
11833         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
11834         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11835         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11836         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
11837         * tests/test-fcntl-h.c: Check that mode_t is defined.
11838         * tests/test-sys_stat.c: Likewise.
11839         * tests/test-sys_types.c: Likewise.
11840         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
11841         * doc/posix-headers/sys_stat.texi: Likewise.
11842         * doc/posix-headers/sys_types.texi: Likewise.
11843
11844 2011-09-16  Bruno Haible  <bruno@clisp.org>
11845
11846         sys_stat: Support for MSVC.
11847         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
11848         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
11849         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
11850         MSVC.
11851
11852 2011-09-16  Bruno Haible  <bruno@clisp.org>
11853
11854         Support for MSVC compiler: Ensure off_t gets defined.
11855         * lib/unistd.in.h: Include <sys/types.h>.
11856         * tests/test-fcntl-h.c: Check that off_t is defined.
11857         * tests/test-sys_stat.c: Likewise.
11858         * tests/test-sys_types.c: Likewise.
11859
11860 2011-09-16  Eric Blake  <eblake@redhat.com>
11861
11862         fdatasync: port to Solaris
11863         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
11864         * modules/fdatasync (Link): Document it.
11865         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
11866
11867         fdatasync: port to MacOS X 10.7
11868         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
11869         declared.
11870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
11871         * modules/unistd (Makefile.am): Substitute it.
11872         * lib/unistd.in.h (fdatasync): Declare on MacOS.
11873         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
11874
11875         fdatasync: minor improvements
11876         * modules/fdatasync (Depends-on): Add condition for fsync.
11877         * lib/fdatasync.c (fdatasync): Add comment.
11878         * tests/test-unistd-c++.cc: Test fdatasync.
11879
11880         unistd: update refs to newer POSIX
11881         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
11882         Suggested by Bruno Haible.
11883
11884         fdatasync: new module
11885         * modules/fsync (Description): Document difference to fdatasync.
11886         * modules/fdatasync: New module.
11887         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
11888         * lib/fdatasync.c (fdatasync): Likewise.
11889         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
11890         defaults.
11891         * modules/unistd (Makefile.am): Set witnesses.
11892         * lib/unistd.in.h (fdatasync): Declare.
11893         * MODULES.html.sh: Document it.
11894         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
11895         * modules/fdatasync-tests: New test.
11896         * tests/test-fdatasync.c: Likewise.
11897
11898 2011-09-16  Eric Blake  <eblake@redhat.com>
11899
11900         test-fsync: enhance tests
11901         * modules/fsync-tests (Depends-on): Add errno, for mingw.
11902         * tests/test-fsync.c (main): Enhance test.
11903
11904 2011-09-15  Bruno Haible  <bruno@clisp.org>
11905
11906         Support for MSVC compiler: Ensure ssize_t gets defined.
11907         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
11908         * doc/posix-headers/stdio.texi: Likewise.
11909         * modules/stdio (Depends-on): Add ssize_t.
11910         * modules/sys_socket (Depends-on): Likewise.
11911         * modules/sys_types (Depends-on): Likewise.
11912         * modules/sys_uio (Depends-on): Likewise.
11913         * modules/unistd (Depends-on): Likewise.
11914         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
11915         * tests/test-sys_types.c: Check that ssize_t is defined.
11916
11917 2011-09-14  Bruno Haible  <bruno@clisp.org>
11918
11919         Avoid using #, the m4 comment starter character, near brackets.
11920         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
11921         delimiter character in sed expressions.
11922         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11923         Suggested by Eric Blake.
11924
11925         Properly quote AC_CHECK_DECLS' 4th argument.
11926         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
11927         argument.
11928         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11929         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11930         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11931         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
11932         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
11933         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
11934         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
11935         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
11936         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
11937         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11938         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
11939         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11940         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11941         * m4/isinf.m4 (gl_ISINF): Likewise.
11942         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11943         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11944         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11945         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11946         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11947         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11948         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11949         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11950         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11951         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11952         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11953         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11954         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11955         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11956         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11957         Reported by Eric Blake.
11958
11959         Properly quote AC_CHECK_DECL's 4th argument.
11960         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11961         argument.
11962         * m4/argp.m4 (gl_ARGP): Likewise.
11963         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11964         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11965         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11966         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11967         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11968         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11969         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11970         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11971         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11972         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11973         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11974         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11975         Reported by Eric Blake.
11976
11977 2011-09-14  Eric Blake  <eblake@redhat.com>
11978
11979         opendir: avoid compile warning
11980         * lib/opendir.c (includes): Always include errno.h.
11981         Reported by Tatsuro MATSUOKA.
11982
11983 2011-09-14  Jim Meyering  <meyering@redhat.com>
11984
11985         maint.mk: sc_tight_scope: propagate failure from sub-make
11986         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11987         Reported by Martin von Gagern.
11988
11989 2011-09-13  Bruno Haible  <bruno@clisp.org>
11990
11991         tempname: Support for MSVC.
11992         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11993         MSVC.
11994         * modules/tempname (Depends-on): Add fcntl-h.
11995
11996 2011-09-13  Bruno Haible  <bruno@clisp.org>
11997
11998         sys_time: Support for MSVC.
11999         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
12000         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
12001         include <winsock2.h>.
12002         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
12003         function declarations that collide with POSIX.
12004         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
12005         (Makefile.am): Substitute HAVE_WINSOCK2_H.
12006
12007 2011-09-13  Bruno Haible  <bruno@clisp.org>
12008
12009         stat: Support for MSVC.
12010         * lib/stat.c: Include pathmax.h.
12011         * modules/stat (Depends-on): Add pathmax.
12012
12013         pathmax: Support for native Windows.
12014         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
12015
12016 2011-09-12  Bruno Haible  <bruno@clisp.org>
12017
12018         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
12019         * lib/dirent.in.h (struct dirent): New type.
12020         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
12021         DT_WHT): New macros.
12022         (DIR): New type.
12023         (opendir, closedir): Declare only if the module 'opendir' is enabled.
12024         (readdir, rewinddir): New declarations.
12025         * lib/dirent-private.h: New file.
12026         * lib/opendir.c: New file.
12027         * lib/readdir.c: New file.
12028         * lib/rewinddir.c: New file.
12029         * lib/closedir.c: New file.
12030         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
12031         * m4/opendir.m4: New file.
12032         * m4/readdir.m4: New file.
12033         * m4/rewinddir.m4: New file.
12034         * m4/closedir.m4: New file.
12035         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
12036         REPLACE_CLOSEDIR here.
12037         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
12038         readdir, rewinddir are declared.
12039         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
12040         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
12041         HAVE_REWINDDIR, HAVE_CLOSEDIR.
12042         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
12043         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
12044         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
12045         * modules/opendir: New file.
12046         * modules/readdir: New file.
12047         * modules/rewinddir: New file.
12048         * modules/closedir: New file.
12049         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
12050         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
12051         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
12052         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
12053         * NEWS: Mention the 'fchdir' change.
12054
12055 2011-09-11  Bruno Haible  <bruno@clisp.org>
12056
12057         asm-underscore.m4: Support for MSVC.
12058         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
12059         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
12060
12061 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
12062
12063         Doc about crypt functions.
12064         * doc/posix-functions/crypt.texi: Expand range of glibc versions
12065         needing for _GNU_SOURCE to get crypt.
12066         * doc/posix-functions/encrypt.texi: Likewise.
12067         * doc/posix-functions/setkey.texi: Likewise.
12068
12069 2011-09-11  Bruno Haible  <bruno@clisp.org>
12070
12071         doc: Update regarding MSVC 9.
12072         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
12073         tested".
12074         * doc/posix-functions/*.texi: Update with info about MSVC 9.
12075         * doc/posix-headers/*.texi: Likewise.
12076         * doc/pastposix-functions/*.texi: Likewise.
12077         * doc/glibc-functions/*.texi: Likewise.
12078         * doc/glibc-headers/*.texi: Likewise.
12079
12080 2011-09-11  Bruno Haible  <bruno@clisp.org>
12081
12082         unistd et al.: Don't assume <unistd.h> exists.
12083         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
12084         does not exist.
12085         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
12086         exist. But include <stdlib.h>.
12087         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
12088         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
12089         symlink() does not exist.
12090         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
12091         include <io.h> instead.
12092         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
12093         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
12094         include <direct.h> instead.
12095         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12096         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12097         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
12098         <io.h> instead.
12099         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
12100         correctly if the system does not have hard links.
12101         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
12102         <direct.h> instead.
12103         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
12104         it when looking for function declarations.
12105         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
12106         <direct.h> and <io.h> instead.
12107         * doc/posix-headers/unistd.texi: More details about MSVC problem.
12108
12109 2011-09-11  Bruno Haible  <bruno@clisp.org>
12110
12111         strcase: Support for MSVC.
12112         * modules/strcase (Status, Notice): Remove obsoletion mark.
12113         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
12114         * doc/posix-functions/strncasecmp.texi: Likewise.
12115
12116         strings: Don't assume <strings.h> exists.
12117         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
12118         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
12119         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
12120         * doc/posix-headers/strings.texi: Mention the MSVC problem.
12121
12122 2011-09-11  Bruno Haible  <bruno@clisp.org>
12123
12124         dirent: Don't assume <dirent.h> exists.
12125         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
12126         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
12127         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
12128         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
12129
12130 2011-09-11  Bruno Haible  <bruno@clisp.org>
12131
12132         Fix wint_t on MSVC.
12133         * lib/wchar.in.h (wint_t): On MSVC, override it.
12134         * lib/wctype.in.h (wint_t): Likewise.
12135         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
12136         MSVC.
12137         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
12138         * doc/posix-headers/wctype.texi: Likewise.
12139
12140 2011-09-11  Bruno Haible  <bruno@clisp.org>
12141
12142         sys_types: Fix typo.
12143         * lib/sys_types.in.h: Fix typo in comment.
12144         Reported by Paul Eggert.
12145
12146         Support for MSVC compiler: Ensure size_t gets defined.
12147         * modules/strings (Depends-on): Add 'sys_types'.
12148         * modules/sys_uio (Depends-on): Likewise.
12149         * lib/sys_uio.in.h: Update comment.
12150
12151         C++ tests for module 'sys_types'.
12152         * modules/sys_types-c++-tests: New file.
12153         * tests/test-sys_types-c++.cc: New file.
12154
12155         Tests for module 'sys_types'.
12156         * modules/sys_types-tests: New file.
12157         * tests/test-sys_types.c: New file.
12158
12159         New module 'sys_types'.
12160         * lib/sys_types.in.h: New file.
12161         * m4/sys_types_h.m4: New file.
12162         * modules/sys_types: New file.
12163         * doc/posix-headers/sys_types.texi: Mention the new module and the
12164         size_t problem on MSVC 9.
12165
12166 2011-09-11  Bruno Haible  <bruno@clisp.org>
12167
12168         Support for MSVC compiler: Avoid division by a literal 0.
12169         * lib/math.in.h (NAN): Define through a function call also on MSVC.
12170         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
12171         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
12172         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
12173         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
12174         * tests/infinity.h: New file.
12175         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
12176         on MSVC.
12177         * tests/test-ceilf1.c: Include infinity.h.
12178         (main): Use Infinityf.
12179         * tests/test-ceil1.c: Include infinity.h.
12180         (main): Use Infinityd.
12181         * tests/test-ceill.c: Include infinity.h.
12182         (main): Use Infinityl.
12183         * tests/test-dprintf-posix.c: Include infinity.h.
12184         (test_function): Use Infinityd.
12185         * tests/test-floorf1.c: Include infinity.h.
12186         (main): Use Infinityf.
12187         * tests/test-floor1.c: Include infinity.h.
12188         (main): Use Infinityd.
12189         * tests/test-floorl.c: Include infinity.h.
12190         (main): Use Infinityl.
12191         * tests/test-fprintf-posix.c: Include infinity.h.
12192         (test_function): Use Infinityd.
12193         * tests/test-frexp.c: Include infinity.h.
12194         (main): Use Infinityd.
12195         * tests/test-frexpl.c: Include infinity.h.
12196         (main): Use Infinityl.
12197         * tests/test-isfinite.c: Include infinity.h.
12198         (test_isfinitef): Use Infinityf.
12199         (test_isfinited): Use Infinityd.
12200         (test_isfinitel): Use Infinityl.
12201         * tests/test-isinf.c: Include infinity.h.
12202         (test_isinff): Use Infinityf.
12203         (test_isinfd): Use Infinityd.
12204         (test_isinfl): Use Infinityl.
12205         * tests/test-isnan.c: Include infinity.h.
12206         (test_float): Use Infinityf.
12207         (test_double): Use Infinityd.
12208         (test_long_double): Use Infinityl.
12209         * tests/test-isnanf.h: Include infinity.h.
12210         (main): Use Infinityf.
12211         * tests/test-isnand.h: Include infinity.h.
12212         (main): Use Infinityd.
12213         * tests/test-isnanl.h: Include infinity.h.
12214         (main): Use Infinityl.
12215         * tests/test-ldexpl.c: Include infinity.h.
12216         (main): Use Infinityl.
12217         * tests/test-printf-posix.h: Include infinity.h.
12218         (test_function): Use Infinityd.
12219         * tests/test-roundf1.c: Include infinity.h.
12220         (main): Use Infinityf.
12221         * tests/test-round1.c: Include infinity.h.
12222         (main): Use Infinityd.
12223         * tests/test-roundl.c: Include infinity.h.
12224         (main): Use Infinityl.
12225         * tests/test-signbit.c: Include infinity.h.
12226         (test_signbitf): Use Infinityf.
12227         (test_signbitd): Use Infinityd.
12228         (test_signbitl): Use Infinityl.
12229         * tests/test-snprintf-posix.h: Include infinity.h.
12230         (test_function): Use Infinityd, Infinityl.
12231         * tests/test-sprintf-posix.h: Include infinity.h.
12232         (test_function): Use Infinityd, Infinityl.
12233         * tests/test-truncf1.c: Include infinity.h.
12234         (main): Use Infinityf.
12235         * tests/test-trunc1.c: Include infinity.h.
12236         (main): Use Infinityd.
12237         * tests/test-truncl.c: Include infinity.h.
12238         (main): Use Infinityl.
12239         * tests/test-vasnprintf-posix.c: Include infinity.h.
12240         (test_function): Use Infinityd, Infinityl.
12241         * tests/test-vasprintf-posix.c: Include infinity.h.
12242         (test_function): Use Infinityd, Infinityl.
12243         * modules/ceilf-tests (Files): Add tests/infinity.h.
12244         * modules/ceil-tests (Files): Likewise.
12245         * modules/ceill-tests (Files): Likewise.
12246         * modules/dprintf-posix-tests (Files): Likewise.
12247         * modules/floorf-tests (Files): Likewise.
12248         * modules/floor-tests (Files): Likewise.
12249         * modules/floorl-tests (Files): Likewise.
12250         * modules/fprintf-posix-tests (Files): Likewise.
12251         * modules/frexp-tests (Files): Likewise.
12252         * modules/frexp-nolibm-tests (Files): Likewise.
12253         * modules/frexpl-tests (Files): Likewise.
12254         * modules/frexpl-nolibm-tests (Files): Likewise.
12255         * modules/isfinite-tests (Files): Likewise.
12256         * modules/isinf-tests (Files): Likewise.
12257         * modules/isnan-tests (Files): Likewise.
12258         * modules/isnanf-tests (Files): Likewise.
12259         * modules/isnanf-nolibm-tests (Files): Likewise.
12260         * modules/isnand-tests (Files): Likewise.
12261         * modules/isnand-nolibm-tests (Files): Likewise.
12262         * modules/isnanl-tests (Files): Likewise.
12263         * modules/isnanl-nolibm-tests (Files): Likewise.
12264         * modules/ldexpl-tests (Files): Likewise.
12265         * modules/printf-posix-tests (Files): Likewise.
12266         * modules/roundf-tests (Files): Likewise.
12267         * modules/round-tests (Files): Likewise.
12268         * modules/roundl-tests (Files): Likewise.
12269         * modules/signbit-tests (Files): Likewise.
12270         * modules/snprintf-posix-tests (Files): Likewise.
12271         * modules/sprintf-posix-tests (Files): Likewise.
12272         * modules/truncf-tests (Files): Likewise.
12273         * modules/trunc-tests (Files): Likewise.
12274         * modules/truncl-tests (Files): Likewise.
12275         * modules/vasnprintf-posix-tests (Files): Likewise.
12276         * modules/vasprintf-posix-tests (Files): Likewise.
12277         * modules/vdprintf-posix-tests (Files): Likewise.
12278         * modules/vfprintf-posix-tests (Files): Likewise.
12279         * modules/vprintf-posix-tests (Files): Likewise.
12280         * modules/vsnprintf-posix-tests (Files): Likewise.
12281         * modules/vsprintf-posix-tests (Files): Likewise.
12282         * modules/xprintf-posix-tests (Files): Likewise.
12283
12284 2011-09-11  Bruno Haible  <bruno@clisp.org>
12285
12286         Ensure pid_t gets defined.
12287         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
12288         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
12289         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
12290         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12291         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
12292         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
12293         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
12294         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12295         * tests/test-fcntl-h.c: Check that pid_t is defined.
12296         * tests/test-sched.c: Likewise.
12297         * tests/test-termios.c: Likewise.
12298         * tests/test-time.c: Likewise.
12299         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
12300         * doc/posix-headers/signal.texi: Likewise.
12301         * doc/posix-headers/sys_types.texi: Likewise.
12302         * doc/posix-headers/time.texi: Likewise.
12303
12304 2011-09-11  Bruno Haible  <bruno@clisp.org>
12305
12306         acl: Fix compilation on Solaris 10 (older version).
12307         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
12308         of ACE_EVERYONE.
12309         * lib/set-mode-acl.c (qset_acl): Likewise.
12310         Reported by Christian Jullien <eligis@orange.fr>.
12311
12312 2011-09-10  Bruno Haible  <bruno@clisp.org>
12313
12314         iconv, unsetenv: Add support for MSVC compiler.
12315         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
12316         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
12317
12318 2011-09-10  Bruno Haible  <bruno@clisp.org>
12319
12320         *printf: Add support for MSVC compiler.
12321         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
12322         handles the exception caused by the %n directive. When cross-compiling,
12323         guess no on native Windows.
12324         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
12325         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
12326         emulate it through vsnprintf.
12327         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
12328         * doc/posix-functions/dprintf.texi: Update documentation regarding
12329         MSVC 9.
12330         * doc/posix-functions/fprintf.texi: Likewise.
12331         * doc/posix-functions/printf.texi: Likewise.
12332         * doc/posix-functions/snprintf.texi: Likewise.
12333         * doc/posix-functions/sprintf.texi: Likewise.
12334         * doc/posix-functions/swprintf.texi: Likewise.
12335         * doc/posix-functions/vdprintf.texi: Likewise.
12336         * doc/posix-functions/vfprintf.texi: Likewise.
12337         * doc/posix-functions/vprintf.texi: Likewise.
12338         * doc/posix-functions/vsnprintf.texi: Likewise.
12339         * doc/posix-functions/vsprintf.texi: Likewise.
12340         * doc/glibc-functions/asprintf.texi: Likewise.
12341         * doc/glibc-functions/obstack_printf.texi: Likewise.
12342         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
12343         * doc/glibc-functions/vasprintf.texi: Likewise.
12344
12345 2011-09-10  Bruno Haible  <bruno@clisp.org>
12346
12347         nocrash: Add support for native Windows.
12348         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
12349
12350 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
12351             Bruno Haible  <bruno@clisp.org>
12352
12353         absolute-header, include-next: Add support for MSVC compiler.
12354         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
12355         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
12356         directory separator in #line directives.
12357         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
12358         recognize also backslash as directory separator in #line directives.
12359
12360 2011-09-08  Jim Meyering  <meyering@redhat.com>
12361
12362         maint.mk: mark the post-release commit log with "maint: " prefix
12363         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
12364         one-line commit-log summary.
12365
12366 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
12367             Bruno Haible  <bruno@clisp.org>
12368
12369         Doc about crypt functions.
12370         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
12371         systems.
12372         * doc/posix-functions/encrypt.texi: Likewise.
12373         * doc/posix-functions/setkey.texi: Likewise.
12374
12375 2011-09-08  Simon Josefsson  <simon@josefsson.org>
12376
12377         * lib/gc.h: Fix copyright header.
12378
12379 2011-09-07  Bruno Haible  <bruno@clisp.org>
12380
12381         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
12382         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
12383         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
12384
12385 2011-09-07  Bruno Haible  <bruno@clisp.org>
12386
12387         openat: Work around compilation error with OSF/1 5.1 DTK cc.
12388         * lib/fopen.c: Use different syntax for include of <stdio.h>.
12389         * lib/freopen.c: Likewise.
12390         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
12391         * lib/lstat.c: Likewise.
12392         * lib/stat.c: Likewise.
12393         * lib/open.c: Use different syntax for include of <fcntl.h>.
12394         * lib/openat.c: Include fcntl.h again, explicitly.
12395
12396 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
12397
12398         parse-datetime: document the newly accepted format
12399         * doc/parse-datetime.texi (Combined date and time of day items):
12400         New section.
12401
12402 2011-09-06  Bruno Haible  <bruno@clisp.org>
12403
12404         acl: Fix a test failure on newer Solaris 10 with ZFS.
12405         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
12406         ENOSYS as no ACL.
12407         Reported by Jim Meyering.
12408
12409 2011-09-06  Bruno Haible  <bruno@clisp.org>
12410
12411         acl: Update for AIX >= 5.3 with NFS.
12412         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
12413         ENOSYS as no ACL.
12414
12415         acl: Fix a test failure on AIX >= 5.3 with NFS.
12416         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
12417         as no ACL.
12418
12419 2011-09-06  Bruno Haible  <bruno@clisp.org>
12420
12421         acl: Fix a test failure on IRIX 6.5 with NFS.
12422         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
12423         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
12424         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
12425         * lib/copy-acl.c (qcopy_acl): Likewise.
12426
12427 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12428
12429         openat: port to AIX 7.1 with large files
12430         AIX 7.1 does a "#define openat open64at" if large files are in use,
12431         so we can't simply #undef openat.  Use the orig_openat trick (similar
12432         to orig_open in lib/open.c) to work around the problem.  Problem
12433         reported by Kevin Brott for GNU tar, in the thread containing
12434         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
12435         * lib/openat.c (__need_system_fcntl_h): Define first.
12436         Include <fcntl.h> and <sys/types.h> before undefining.
12437         (orig_openat) [HAVE_OPENAT]: New inline function.
12438         (openat) [HAVE_OPENAT]: Do not undef.
12439         (rpl_openat): Use orig_openat, not openat.
12440
12441 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
12442             Bruno Haible  <bruno@clisp.org>
12443
12444         acl: Avoid errors on NonStop Kernel.
12445         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
12446         ENOTSUP errors.
12447
12448 2011-09-05  Bruno Haible  <bruno@clisp.org>
12449
12450         acl: Clean up Solaris code.
12451         * lib/acl-internal.h: Remove no-op #if.
12452         * lib/file-has-acl.c: Likewise.
12453         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
12454         * lib/copy-acl.c (qcopy_acl): Likewise.
12455
12456 2011-09-05  Bruno Haible  <bruno@clisp.org>
12457
12458         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
12459         binaries built on the original Solaris 10.
12460         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
12461         trivial.
12462
12463 2011-09-05  Bruno Haible  <bruno@clisp.org>
12464
12465         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
12466         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
12467         10.
12468         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
12469         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
12470         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
12471         instead of acl_get, facl_get, acl_set, facl_set.
12472
12473 2011-09-05  Bruno Haible  <bruno@clisp.org>
12474
12475         copy-file: Try unit tests on more file systems.
12476         * tests/test-copy-file-1.sh: New file.
12477         * tests/test-copy-file-2.sh: New file.
12478         * modules/copy-file-tests (Files): Add them.
12479         (Makefile.am): Add them to TESTS.
12480
12481         acl: Try unit tests on more file systems.
12482         * tests/test-file-has-acl-1.sh: New file.
12483         * tests/test-file-has-acl-2.sh: New file.
12484         * tests/test-set-mode-acl-1.sh: New file.
12485         * tests/test-set-mode-acl-2.sh: New file.
12486         * tests/test-copy-acl-1.sh: New file.
12487         * tests/test-copy-acl-2.sh: New file.
12488         * modules/acl-tests (Files): Add them.
12489         (Makefile.am): Add them to TESTS.
12490
12491 2011-09-04  Bruno Haible  <bruno@clisp.org>
12492
12493         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
12494         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
12495         10.
12496         (OLD_ALLOW, OLD_DENY): New macros.
12497         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
12498         ACE_ACCESS_ALLOWED_ACE_TYPE.
12499         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
12500         ACE_ACCESS_DENIED_ACE_TYPE.
12501         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
12502         (NEW_ACE_EXECUTE): Fix value.
12503         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
12504         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
12505         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
12506         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
12507         NEW_ACE_SYNCHRONIZE): New macros.
12508         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
12509         instead of acl_fromtext, acl_set, facl_set.
12510         Fixes a coreutils/tests/cp/perm failure.
12511
12512 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
12513
12514         openat: test for fstatat (..., 0) bug
12515         Further testing with tar suggests that fstatat (..., 0)
12516         does not work in general, on AIX 7.1; see
12517         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
12518         So, give up entirely on AIX 7.1's fstatat, and fall back on our
12519         replacement fstatat (which is what older AIX releases were using
12520         anyway).
12521         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
12522         use is now changed to orig_fstatat.  This was probably the right
12523         thing to do anyway.
12524         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
12525         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
12526         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
12527         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
12528         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
12529         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
12530         if the bug is found.
12531
12532         openat: test for fstatat (AT_FDCWD, ..., 0) bug
12533         This tests for another fstatat bug on AIX 7.1:
12534         fstatat (AT_FDCWD, ..., 0) does not work.  See
12535         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
12536         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
12537         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
12538         (rpl_fstatat): Adjust so that it works around either (or both)
12539         bugs if present.
12540         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
12541
12542 2011-09-03  Karl Berry  <karl@gnu.org>
12543
12544         * doc/regex.texi (Character Class Operators): Avoid literal ":"
12545         in index entries.
12546
12547 2011-09-02  Bruno Haible  <bruno@clisp.org>
12548
12549         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
12550         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
12551         values of AR, ARFLAGS, RANLIB.
12552         Reported by John W. Eaton <jwe@gnu.org> for Octave.
12553
12554 2011-09-02  Bruno Haible  <bruno@clisp.org>
12555
12556         Find 'ar' program that fits with --host argument.
12557         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
12558
12559 2011-09-02  Bruno Haible  <bruno@clisp.org>
12560
12561         tests: init.sh: Support any non-GNU diff.
12562         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
12563         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
12564         Solaris 8.
12565
12566 2011-09-02  Bruno Haible  <bruno@clisp.org>
12567
12568         tests: init.sh: work also with any non-GNU diff that supports -u
12569         * tests/init.sh: Relax check for diff -u support.
12570         Rather than checking for GNU diff via --version, simply check
12571         for support for -u itself.  Useful at least on OpenBSD 4.9,
12572         AIX 7.1, IRIX 6.5, and Solaris 10.
12573
12574 2011-09-01  Bruno Haible  <bruno@clisp.org>
12575
12576         strtoimax, strtoumax: Document problem on HP-UX 11.
12577         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
12578         * doc/posix-functions/strtoumax.texi: Likewise.
12579
12580 2011-09-01  Bruno Haible  <bruno@clisp.org>
12581
12582         strtoumax: Avoid link error on OSF/1 with DTK cc.
12583         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
12584         defined as a function.
12585         * modules/strtoumax (Depends-on, configure.ac): Test only whether
12586         strtoumax is defined, not whether it is declared.
12587
12588 2011-09-01  Bruno Haible  <bruno@clisp.org>
12589
12590         strtoimax: Avoid link error on OSF/1 with DTK cc.
12591         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
12592         defined as a function.
12593         * modules/strtoimax (Depends-on, configure.ac): Test only whether
12594         strtoimax is defined, not whether it is declared.
12595
12596 2011-09-01  Bruno Haible  <bruno@clisp.org>
12597
12598         imaxdiv: Avoid link error on OSF/1 with DTK cc.
12599         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
12600         as a function.
12601         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
12602         whether it is declared.
12603
12604 2011-09-01  Bruno Haible  <bruno@clisp.org>
12605
12606         imaxabs: Avoid link error on OSF/1 with DTK cc.
12607         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
12608         as a function.
12609         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
12610         whether it is declared.
12611
12612 2011-09-01  Bruno Haible  <bruno@clisp.org>
12613
12614         Tests for module 'strtoumax'.
12615         * modules/strtoumax-tests: New file.
12616         * tests/test-strtoumax.c: New file.
12617
12618         Tests for module 'strtoimax'.
12619         * modules/strtoimax-tests: New file.
12620         * tests/test-strtoimax.c: New file.
12621
12622         Tests for module 'imaxdiv'.
12623         * modules/imaxdiv-tests: New file.
12624         * tests/test-imaxdiv.c: New file.
12625
12626         Tests for module 'imaxabs'.
12627         * modules/imaxabs-tests: New file.
12628         * tests/test-imaxabs.c: New file.
12629
12630 2011-09-01  Bruno Haible  <bruno@clisp.org>
12631
12632         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
12633         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
12634         pthread_create.
12635
12636 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12637
12638         openat: work around AIX 7.1 fstatat issue
12639         This should fix the problem that was not properly fixed
12640         in the previous change, dated 2011-08-30.
12641         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
12642         __need_system_stat_h defined.
12643         (orig_fstatat) [HAVE_FSTATAT]: New function.
12644         (rpl_fstatat): Go back to the old way of doing things,
12645         except call orig_fstatat instead of fstatat.
12646         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
12647         Remove unnecessary check whether fstatat fills in st_size etc.
12648
12649 2011-09-01  Bruno Haible  <bruno@clisp.org>
12650
12651         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
12652         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
12653         just include the system's header.
12654
12655 2011-08-31  Jim Meyering  <meyering@redhat.com>
12656
12657         tests: avoid spurious assertion failure in test-float.c on ppc64
12658         * tests/test-float.c (test_long_double): Comment out an assertion,
12659         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
12660         with gcc-4.4.4.
12661
12662         maint: indent with spaces, not TABs
12663         I need to get in the habit of running gnulib's "make check".
12664         Both of these would have been caught.
12665         * m4/largefile.m4: Indent with spaces, not TABs.
12666         * lib/parse-datetime.y (iso_8601_time): Likewise.
12667         Spotted by Pádraig Brady.
12668
12669         test-parse-datetime.c: accommodate a relatively strict gcc warning
12670         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
12671         to avoid a warning from gcc's -Werror=missing-declarations.
12672         Insert a few spaces-before-funcall-parenthesis.
12673
12674 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
12675
12676         parse-datetime: accept ISO 8601 date and time rep with "T" separator
12677         The parser now accepts ISO 8601 date-time strings with "T" as the
12678         separator.  It has long parsed dates like "2004-02-29 16:21:42"
12679         with a space between the date and time strings.  Now it also parses
12680         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
12681         variants like "2004-02-29T16:21:42.333-07:00"
12682         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
12683         of day representation using the 'T' separator character.
12684         * doc/parse-datetime.texi (General date syntax): replace use of
12685         deprecated --iso-8601 option with --rfc-3339 in example of date
12686         command output formats that can be parsed.
12687         * tests/test-parse-datetime.c (tm_diff): New function, taken from
12688         lib/parse-datetime.y.
12689         (gmt_offset): New function.
12690         (main): Add additional test cases to validate ISO8601 extended
12691         date and time of day parsing.
12692
12693 2011-08-31  Bruno Haible  <bruno@clisp.org>
12694
12695         freopen: Documentation.
12696         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
12697         name.
12698         Reported by Claudio Bley <claudio.bley@gmail.com>.
12699
12700 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
12701
12702         freopen: Don't crash if the filename argument is NULL.
12703         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
12704         NULL.
12705
12706 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12707
12708         openat: work around AIX 7.1 fstatat bug
12709         Problem reported by Kevin Brott for GNU tar, in the thread containing
12710         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
12711         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
12712         FSTATAT_ST_SIZE_ETC_BROKEN.
12713         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
12714         rpl_fstatat.
12715         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
12716         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
12717         AC_CHECK_FUNCS_ONCE for fstatat.
12718         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
12719         fchmodat, mkdirat, openat and unlinkat.
12720
12721 2011-08-30  Bruno Haible  <bruno@clisp.org>
12722
12723         Avoid endless recursions if config.h includes some header files.
12724         * lib/fopen.c (__need_FILE): Define already before including config.h.
12725         * lib/freopen.c (__need_FILE): Likewise.
12726         * lib/open.c (__need_system_fcntl_h): Likewise.
12727         * lib/stat.c (__need_system_sys_stat_h): Likewise.
12728         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
12729         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12730
12731 2011-08-25  Karl Berry  <karl@gnu.org>
12732
12733         * config/srclist.txt (ylwrap): new try.
12734         * build-aux/ylwrap: new file.
12735
12736 2011-08-23  Bruno Haible  <bruno@clisp.org>
12737
12738         tmpdir: Use a good default directory on native Windows.
12739         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
12740         (P_tmpdir): Default to _P_tmpdir on native Windows.
12741         (path_search): On native Windows, try the value returned by GetTempPath
12742         before trying P_tmpdir.
12743         * modules/tmpdir (Depends-on): Add pathmax.
12744         Suggested by John Darrington <john@darrington.wattle.id.au>.
12745
12746 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
12747
12748         doc: fix typo in README-release
12749         * top/README-release: Capitalize first word of a sentence.
12750
12751 2011-08-19  Jim Meyering  <meyering@redhat.com>
12752
12753         fts: do not exhaust memory when processing million-entry directories
12754         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
12755         directory would require about 256*N bytes of memory.  Thus, it was
12756         easy to construct a directory too large to be processed by any of
12757         those tools.  With this change, fts' maximum memory utilization is
12758         now limited to around 30MB.
12759         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
12760         (fts_read): When we've processed the final entry (i.e., when
12761         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
12762         using the parent entry to read any remaining entries.  Dispatch
12763         depending on what fts_build returns:
12764         - NULL+stop, aka failure: stop
12765         - NULL otherwise: move up in the dir hierarchy
12766         - non-NULL: handle this new entry
12767         (fts_build): Declare and use new local, continue_readdir.
12768         Prepare to be called from fts_read, when the entries
12769         from a partially-read directory have just been exhausted.
12770         In that case, we'll skip the opendir and instead use the parent's
12771         fts_dirp and derive dir_fd from that.
12772         Finally, in the readdir loop, if we read max_entries entries,
12773         exit the loop ensuring *not* to call closedir.  This is required
12774         so that fts_dirp can be reused on a subsequent call.
12775         Prompted by Ben England's report of memory exhaustion in find
12776         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
12777
12778         maint: fts: move decl of `dp' down into while loop; split a long line
12779         * lib/fts.c (fts_build): No semantic change.
12780
12781         fts: add/use new struct member, fts_dirp
12782         We are about to use this to manage any directory with
12783         too many entries to read all of them into memory at once.
12784         To do that, we'll need to save the DIR* pointer in each
12785         affected FTSENT struct.
12786         * lib/fts_.h: Include <dirent.h>.
12787         (struct FTSENT) [fts_dirp]: New member.
12788         * lib/fts.c (closedir_and_clear): Define.
12789         Use it in place of closedir so that we are sure to
12790         clear the new fts_dirp member when done with it.
12791         (fts_alloc): Initialize the new member.
12792         (fts_lfree): Free, if needed.
12793
12794         maint: fts: give __opendir2 a new parameter and rename
12795         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
12796         than surreptitiously using sole caller's "dir_fd".
12797         (fts_opendir): Rename from __opendir2.
12798
12799         maint: fts.c: remove __opendir2's now-unused parameter, oflag
12800         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
12801
12802         maint: fts.c: correct off-by-one indentation
12803         * lib/fts.c (fts_build): Correct indentation, change style
12804         of a couple of block comments, and bracing style.
12805
12806         maint: fts.c: move __opendir2 #define "up" out of function body
12807         * lib/fts.c (__opendir2): Move "up".  No semantic change.
12808
12809         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
12810         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12811         out for a long time and besides was useful only on BSD systems.
12812
12813 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12814
12815         regex: port to Stratus OpenVOS
12816         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
12817         define to empty, rather than attempting nonportable optimizations.
12818         Problem reported by Paul Green in:
12819         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
12820         and fix suggested by Eric Blake in:
12821         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
12822
12823 2011-08-17  Eric Blake  <eblake@redhat.com>
12824
12825         getcwd: fix test failures on mingw
12826         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
12827         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
12828         test if long directory cannot be created, and allow mingw errno.
12829
12830         getcwd-lgpl: fix m4 to match relaxed test for BSD
12831         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
12832         (gl_FUNC_GETCWD_SIGNATURE): New macro.
12833         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
12834         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
12835         signature problem.
12836
12837         getcwd: fix compilation on mingw64
12838         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
12839         getcwd.
12840         Reported by Marc-André Lureau.
12841
12842         pipe2: silence compiler warning
12843         * lib/pipe2.c (pipe2): Hide label if it is not used.
12844
12845 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
12846
12847         relocatable-prog: fix link error
12848         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
12849         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
12850         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
12851         into modules/relocatable-lib without noticing that
12852         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
12853         also needs to build relocatable.c.
12854
12855 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12856
12857         getaddrinfo: fix sh typo in gai_strerrorA decl checking
12858         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
12859         shell code: it contained a 'break' that was not in a loop.
12860         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
12861         via a shell-language loop; this may have been true in old Autoconf
12862         versions, but it's not true in Autoconf 2.68.  I found this bug
12863         when testing coreutils git on Solaris 8, whose shell complains
12864         about the syntax error.
12865
12866 2011-08-12  Simon Josefsson  <simon@josefsson.org>
12867
12868         * lib/base64.c: Fix comment to reference RFC 4648.
12869         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
12870         <gvtulder@gmail.com>.
12871
12872 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12873
12874         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
12875
12876         po/Makefile.in.in: fix make -q problem
12877         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
12878         rule, since there's no file named 'check-macro-version' and its
12879         use as a file breaks make -q.
12880         (all): Don't depend on check-macro-version.
12881         (CHECK_MACRO_VERSION): New macro.
12882         (stamp-po): Use it.
12883
12884         configmake: fix make -q problem
12885         * modules/configmake (configmake.h): Update configmake.h's time stamp
12886         even if the file does not change.  Otherwise, 'make -q' fails.
12887         Problem reported by Simon Josefsson in
12888         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
12889
12890 2011-08-11  Jim Meyering  <meyering@redhat.com>
12891
12892         git-version-gen: correct the advice in a comment
12893         * build-aux/git-version-gen: Correct comment.
12894         Don't recommend to list .tarball-version in .gitignore.
12895
12896 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12897
12898         base64: fix off-by-one buffer size bug
12899         Problem and (trivial) fix reported by Gijs van Tulder in
12900         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
12901         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
12902         * tests/test-base64.c (main): Catch the bug.
12903
12904 2011-08-10  Eric Blake  <eblake@redhat.com>
12905
12906         closein: correct comments
12907         * lib/closein.c (close_stdin): Improve comments.
12908
12909 2011-08-09  Bruno Haible  <bruno@clisp.org>
12910
12911         More tests for 'fseeko'.
12912         * tests/test-fseeko3.c: New file, from Eric Blake.
12913         * tests/test-fseeko3.sh: New file.
12914         * modules/fseeko-tests (Files): Add them.
12915         (TESTS): Add test-fseeko3.sh.
12916         (check_PROGRAMS): Add test-fseeko3.
12917
12918 2011-08-09  Eric Blake  <eblake@redhat.com>
12919
12920         fseeko: remove unneeded hack
12921         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
12922
12923         fseeko: fix bug on glibc
12924         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
12925         Reported by John W. Eaton.
12926
12927 2011-08-08  Bruno Haible  <bruno@clisp.org>
12928
12929         unictype/base: Fix interoperability with preinstalled libunistring.
12930         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
12931         Reported by Simon Josefsson.
12932
12933 2011-08-08  Bruno Haible  <bruno@clisp.org>
12934
12935         iswblank: Detect declaration correctly.
12936         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
12937         AC_CHECK_DECLS invocation.
12938
12939 2011-08-08  Bruno Haible  <bruno@clisp.org>
12940
12941         tcgetsid: Detect declaration correctly.
12942         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12943         AC_CHECK_DECLS invocation.
12944         Reported by Simon Josefsson.
12945
12946 2011-08-08  Eric Blake  <eblake@redhat.com>
12947
12948         largefile: fix typo that regressed large file support
12949         * modules/largefile (configure.ac-early): Fix section name.
12950
12951 2011-08-06  Karl Berry  <karl@gnu.org>
12952
12953         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12954         a separate module.
12955
12956 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12957
12958         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12959         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12960         get prototype for free.
12961
12962 2011-08-04  Bruno Haible  <bruno@clisp.org>
12963
12964         Tests for module 'pathmax'.
12965         * modules/pathmax-tests: New file.
12966         * tests/test-pathmax.c: New file.
12967
12968         canonicalize-lgpl: Support larger filenames on the Hurd.
12969         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12970         Reported by Paul Eggert.
12971
12972         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12973         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12974         * lib/chdir-long.h: Include pathmax.h.
12975         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12976         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12977         (PATH_MAX): Remove code that is done by pathmax.h.
12978         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12979         * lib/tmpfile.c: Add a comment.
12980         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12981         * modules/chdir-long (Depends-on): Add pathmax.
12982         * modules/getcwd (Depends-on): Add pathmax.
12983         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12984         is not defined.
12985         * doc/posix-headers/limits.texi: Mention the pathmax module.
12986         * NEWS: Mention the change.
12987
12988 2011-08-02  Bruno Haible  <bruno@clisp.org>
12989
12990         pthread_sigmask: Actually use results of gl_THREADLIB.
12991         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12992         gl_THREADLIB, not gl_[]THREADLIB.
12993         Reported by Eric Blake.
12994
12995 2011-08-02  Jim Meyering  <meyering@redhat.com>
12996
12997         maint.mk: relax the default _gl_TS_function_match regexp
12998         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12999         space between function name and "(" in an "extern" declaration.
13000         That would fail to match a decl with no space there: extern void foo();
13001
13002 2011-07-31  Iain Nicol  <iain@thenicols.net>
13003
13004         git-version-gen: document that EXTRA_DIST must include .version
13005         * build-aux/git-version-gen: In the how-to-use comment, document
13006         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
13007         will fail when run from an unpacked distribution tarball.
13008
13009 2011-08-01  Bruno Haible  <bruno@clisp.org>
13010
13011         wctype-h: Fix last change.
13012         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
13013         REPLACE_TOWLOWER to 0.
13014         Reported by Sam Steingold <sds@gnu.org>.
13015
13016 2011-07-31  Bruno Haible  <bruno@clisp.org>
13017
13018         frexpl: Update autoconf test.
13019         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
13020         according to changes of 2011-06-20.
13021
13022 2011-07-31  Bruno Haible  <bruno@clisp.org>
13023
13024         sys_utsname: Add support for Minix.
13025         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
13026         <sys/utsname.h>.
13027         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13028         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
13029
13030 2011-07-31  Bruno Haible  <bruno@clisp.org>
13031
13032         strings: Add support for Minix.
13033         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
13034         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
13035         * doc/posix-headers/strings.texi: Document the Minix problem.
13036
13037 2011-07-31  Bruno Haible  <bruno@clisp.org>
13038
13039         wctype-h: Add support for Minix.
13040         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
13041         REPLACE_TOWLOWER.
13042         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
13043         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
13044         REPLACE_ISWCNTRL.
13045
13046 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
13047
13048         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
13049         This is a performance improvement for 64-bit hosts: it causes the
13050         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
13051
13052 2011-07-31  Bruno Haible  <bruno@clisp.org>
13053
13054         stdioext: Add support for Minix.
13055         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
13056         * lib/fpurge.c (fpurge): Likewise.
13057         * lib/freadahead.c (freadahead): Likewise.
13058         * lib/freadable.c (freadable): Likewise.
13059         * lib/freading.c (freading): Likewise.
13060         * lib/freadptr.c (freadptr): Likewise.
13061         * lib/freadseek.c (freadptrinc): Likewise.
13062         * lib/fseeko.c (rpl_fseeko): Likewise.
13063         * lib/fseterr.c (fseterr): Likewise.
13064         * lib/fwritable.c (fwritable): Likewise.
13065         * lib/fwriting.c (fwriting): Likewise.
13066         * lib/fflush.c (clear_ungetc_buffer): Update comment.
13067         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
13068
13069 2011-07-31  Bruno Haible  <bruno@clisp.org>
13070
13071         errno: Port to Minix.
13072         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
13073         ECONNABORTED are defined.
13074         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
13075         GNULIB_defined_ECONNABORTED): New macros.
13076         * lib/strerror-override.h (strerror_override): Test also
13077         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
13078         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
13079         ECONNABORTED.
13080         * doc/posix-headers/errno.texi: Mention the Minix problem.
13081
13082 2011-07-31  Bruno Haible  <bruno@clisp.org>
13083
13084         Work around declaration collisions on Minix.
13085         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
13086         defined, set REPLACE_MBSINIT.
13087         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
13088         defined, set REPLACE_MBRTOWC.
13089         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
13090         set REPLACE_MBRLEN.
13091         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
13092         defined, set REPLACE_MBSRTOWCS.
13093         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
13094         defined, set REPLACE_WCRTOMB.
13095         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
13096         defined, set REPLACE_WCSRTOMBS.
13097
13098 2011-07-31  Bruno Haible  <bruno@clisp.org>
13099
13100         Add support for Minix with ACK compiler.
13101         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
13102         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
13103         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
13104
13105 2011-07-31  Bruno Haible  <bruno@clisp.org>
13106
13107         Documentation about Minix.
13108         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
13109         * doc/glibc-headers/*.texi: Likewise.
13110         * doc/posix-functions/*.texi: Likewise.
13111         * doc/glibc-functions/*.texi: Likewise.
13112
13113 2011-07-31  Bruno Haible  <bruno@clisp.org>
13114
13115         snippet/warn-on-use: Fix indentation.
13116         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
13117
13118 2011-07-25  Jim Meyering  <meyering@redhat.com>
13119
13120         tests: test-update-copyright.sh: remove unnecessary "rm" commands
13121         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
13122         commands.
13123
13124 2011-07-27  Jim Meyering  <meyering@redhat.com>
13125
13126         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
13127         * top/maint.mk (gl_extract_significant_defines_): Now that
13128         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
13129         gnulib/lib/signal.in.h, and now that we recommend to
13130         define-if-undefined those two symbols in application code,
13131         we must filter them out of the "significant" list.
13132         This avoids a "make syntax-check" failure in coreutils.
13133
13134 2011-07-26  Eric Blake  <eblake@redhat.com>
13135
13136         warnings: add comments about previous patch
13137         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
13138         * m4/include_next.m4: Likewise.
13139         * m4/warn-on-use.m4: Likewise.
13140         * m4/warnings.m4: Likewise, and simplify use.
13141         Suggested by Stefano Lattarini.
13142
13143         include-next, warnings: support older autoconf
13144         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
13145         AS_VAR_PUSHDEF in a way that works with older autoconf.
13146         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
13147         Reported by Daniel P. Berrange.
13148
13149 2011-07-25  Bruno Haible  <bruno@clisp.org>
13150
13151         fseek, ftell: Fix doc.
13152         * doc/posix-functions/fseek.texi: Reword statement about
13153         AC_SYS_LARGEFILE.
13154         * doc/posix-functions/ftell.texi: Likewise.
13155
13156 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13157             Bruno Haible  <bruno@clisp.org>
13158
13159         Add dependencies to the 'largefile' module.
13160         * modules/fopen (Depends-on): Add 'largefile'.
13161         * modules/freopen (Depends-on): Likewise.
13162         * modules/fseeko (Depends-on): Likewise.
13163         * modules/ftello (Depends-on): Likewise.
13164         * modules/glob (Depends-on): Likewise.
13165         * modules/lseek (Depends-on): Likewise.
13166         * modules/lstat (Depends-on): Likewise.
13167         * modules/mkostemp (Depends-on): Likewise.
13168         * modules/mkostemps (Depends-on): Likewise.
13169         * modules/mkstemp (Depends-on): Likewise.
13170         * modules/mkstemps (Depends-on): Likewise.
13171         * modules/open (Depends-on): Likewise.
13172         * modules/openat (Depends-on): Likewise.
13173         * modules/pread (Depends-on): Likewise.
13174         * modules/pwrite (Depends-on): Likewise.
13175         * modules/scandir (Depends-on): Likewise.
13176         * modules/stat (Depends-on): Likewise.
13177         * modules/tmpfile (Depends-on): Likewise.
13178         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
13179         since the containing module now depends on the largefile module.
13180         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
13181         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
13182         off_t is fixed by gnulib.
13183         * doc/posix-functions/freopen.texi: Likewise.
13184         * doc/posix-functions/fseeko.texi: Likewise.
13185         * doc/posix-functions/fstatat.texi: Likewise.
13186         * doc/posix-functions/ftello.texi: Likewise.
13187         * doc/posix-functions/glob.texi: Likewise.
13188         * doc/posix-functions/lseek.texi: Likewise.
13189         * doc/posix-functions/lstat.texi: Likewise.
13190         * doc/posix-functions/mkstemp.texi: Likewise.
13191         * doc/posix-functions/open.texi: Likewise.
13192         * doc/posix-functions/openat.texi: Likewise.
13193         * doc/posix-functions/pread.texi: Likewise.
13194         * doc/posix-functions/pwrite.texi: Likewise.
13195         * doc/posix-functions/scandir.texi: Likewise.
13196         * doc/posix-functions/stat.texi: Likewise.
13197         * doc/posix-functions/tmpfile.texi: Likewise.
13198         * doc/glibc-functions/mkostemp.texi: Likewise.
13199         * doc/glibc-functions/mkostemps.texi: Likewise.
13200         * doc/glibc-functions/mkstemps.texi: Likewise.
13201
13202 2011-07-25  Bruno Haible  <bruno@clisp.org>
13203
13204         fcntl: Move AC_LIBOBJ invocation to module description.
13205         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
13206         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
13207
13208         fcntl: Remove call-in from fchdir.m4.
13209         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
13210         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
13211
13212         dup3: Remove potential call-in from fchdir.m4.
13213         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
13214         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
13215
13216         dup2: Move AC_LIBOBJ invocation to module description.
13217         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
13218         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
13219         Don't invoke AC_LIBOBJ.
13220         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
13221
13222         dup2: Remove call-in from fchdir.m4.
13223         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
13224         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
13225
13226         fclose: Move AC_LIBOBJ invocation to module description.
13227         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
13228         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
13229         to 1.
13230         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
13231
13232         fclose: Remove call-in from close.m4.
13233         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
13234         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
13235
13236         close: Move AC_LIBOBJ invocation to module description.
13237         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
13238         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
13239         1.
13240         * modules/close (configure.ac): Invoke AC_LIBOBJ.
13241
13242         close: Remove call-in from fchdir.m4.
13243         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
13244         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
13245
13246         open: Move AC_LIBOBJ invocation to module description.
13247         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
13248         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
13249         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
13250
13251         open: Remove call-in from fchdir.m4.
13252         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
13253         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
13254
13255         fchdir: Start to remove gl_REPLACE_* idiom.
13256         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
13257         (gl_FUNC_FCHDIR): Invoke it.
13258
13259 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13260
13261         * lib/ftell.c (ftell): Comment out cast.
13262
13263         close: use gl_REPLACE_FCLOSE only if defined
13264         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
13265         is defined.  The close module doesn't depend on the fclose module
13266         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
13267         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
13268         I reproduced the problem with "./gnulib-tool --test close sys_socket".
13269
13270 2011-07-24  Jim Meyering  <meyering@redhat.com>
13271
13272         test-select.h: avoid warning when using gcc's -Wmissing-declarations
13273         * tests/test-select.h (test_function): Declare as "static".
13274
13275 2011-07-24  Bruno Haible  <bruno@clisp.org>
13276
13277         doc: Mention the effects of AC_SYS_LARGEFILE.
13278         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
13279         on this function.
13280         * doc/posix-functions/aio_error.texi: Likewise.
13281         * doc/posix-functions/aio_fsync.texi: Likewise.
13282         * doc/posix-functions/aio_read.texi: Likewise.
13283         * doc/posix-functions/aio_return.texi: Likewise.
13284         * doc/posix-functions/aio_suspend.texi: Likewise.
13285         * doc/posix-functions/aio_write.texi: Likewise.
13286         * doc/posix-functions/fgetpos.texi: Likewise.
13287         * doc/posix-functions/fopen.texi: Likewise.
13288         * doc/posix-functions/freopen.texi: Likewise.
13289         * doc/posix-functions/fsetpos.texi: Likewise.
13290         * doc/posix-functions/fstatvfs.texi: Likewise.
13291         * doc/posix-functions/ftruncate.texi: Likewise.
13292         * doc/posix-functions/ftw.texi: Likewise.
13293         * doc/posix-functions/getrlimit.texi: Likewise.
13294         * doc/posix-functions/glob.texi: Likewise.
13295         * doc/posix-functions/lio_listio.texi: Likewise.
13296         * doc/posix-functions/lockf.texi: Likewise.
13297         * doc/posix-functions/mkstemp.texi: Likewise.
13298         * doc/posix-functions/mmap.texi: Likewise.
13299         * doc/posix-functions/nftw.texi: Likewise.
13300         * doc/posix-functions/openat.texi: Likewise.
13301         * doc/posix-functions/opendir.texi: Likewise.
13302         * doc/posix-functions/posix_fadvise.texi: Likewise.
13303         * doc/posix-functions/posix_fallocate.texi: Likewise.
13304         * doc/posix-functions/pread.texi: Likewise.
13305         * doc/posix-functions/pwrite.texi: Likewise.
13306         * doc/posix-functions/readdir.texi: Likewise.
13307         * doc/posix-functions/readdir_r.texi: Likewise.
13308         * doc/posix-functions/rewinddir.texi: Likewise.
13309         * doc/posix-functions/scandir.texi: Likewise.
13310         * doc/posix-functions/seekdir.texi: Likewise.
13311         * doc/posix-functions/setrlimit.texi: Likewise.
13312         * doc/posix-functions/statvfs.texi: Likewise.
13313         * doc/posix-functions/telldir.texi: Likewise.
13314         * doc/posix-functions/tmpfile.texi: Likewise.
13315         * doc/posix-functions/truncate.texi: Likewise.
13316         * doc/glibc-functions/fallocate.texi: Likewise.
13317         * doc/glibc-functions/fstatfs.texi: Likewise.
13318         * doc/glibc-functions/fts_children.texi: Likewise.
13319         * doc/glibc-functions/fts_read.texi: Likewise.
13320         * doc/glibc-functions/getdirentries.texi: Likewise.
13321         * doc/glibc-functions/mkostemp.texi: Likewise.
13322         * doc/glibc-functions/mkostemps.texi: Likewise.
13323         * doc/glibc-functions/mkstemps.texi: Likewise.
13324         * doc/glibc-functions/preadv.texi: Likewise.
13325         * doc/glibc-functions/pwritev.texi: Likewise.
13326         * doc/glibc-functions/sendfile.texi: Likewise.
13327         * doc/glibc-functions/statfs.texi: Likewise.
13328
13329 2011-07-24  Bruno Haible  <bruno@clisp.org>
13330
13331         doc: Fix typo.
13332         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
13333
13334 2011-07-24  Bruno Haible  <bruno@clisp.org>
13335
13336         doc: Mention fsusage.
13337         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
13338
13339 2011-07-24  Bruno Haible  <bruno@clisp.org>
13340
13341         doc: Mention new glibc headers and functions.
13342         * doc/glibc-headers/gshadow.texi: New file.
13343         * doc/glibc-functions/endsgent.texi: New file.
13344         * doc/glibc-functions/fgetsgent.texi: New file.
13345         * doc/glibc-functions/fgetsgent_r.texi: New file.
13346         * doc/glibc-functions/getsgent.texi: New file.
13347         * doc/glibc-functions/getsgent_r.texi: New file.
13348         * doc/glibc-functions/getsgnam.texi: New file.
13349         * doc/glibc-functions/getsgnam_r.texi: New file.
13350         * doc/glibc-functions/putsgent.texi: New file.
13351         * doc/glibc-functions/setsgent.texi: New file.
13352         * doc/glibc-functions/sgetsgent.texi: New file.
13353         * doc/glibc-functions/sgetsgent_r.texi: New file.
13354         * doc/glibc-functions/malloc_info.texi: New file.
13355         * doc/glibc-functions/preadv.texi: New file.
13356         * doc/glibc-functions/pwritev.texi: New file.
13357         * doc/glibc-functions/register_printf_modifier.texi: New file.
13358         * doc/glibc-functions/register_printf_specifier.texi: New file.
13359         * doc/glibc-functions/register_printf_type.texi: New file.
13360         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
13361         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
13362         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
13363         * doc/glibc-functions/pthread_getname_np.texi: New file.
13364         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
13365         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
13366         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
13367         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
13368         * doc/glibc-functions/pthread_setname_np.texi: New file.
13369         * doc/glibc-functions/pthread_sigqueue.texi: New file.
13370         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
13371         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
13372         * doc/glibc-functions/qsort_r.texi: New file.
13373         * doc/glibc-functions/quick_exit.texi: New file.
13374         * doc/glibc-functions/syncfs.texi: New file.
13375         * doc/gnulib.texi: Include them.
13376         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
13377         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
13378         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
13379         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13380         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13381         * doc/glibc-functions/execvpe.texi: Likewise.
13382
13383 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
13384
13385         ftell: don't include <unistd.h>
13386         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
13387         guaranteed to define off_t, and the ftell module depends on the
13388         stdio module.
13389
13390         ftell: do not assume wraparound signed arithmetic
13391         * lib/ftell.c: Include <limits.h>.
13392         (ftell): Don't assume wraparound signed arithmetic.
13393
13394 2011-07-24  Bruno Haible  <bruno@clisp.org>
13395
13396         close: No longer depend on module 'fclose'.
13397         * modules/close (Depends-on): Remove fclose.
13398         * NEWS: Mention the change.
13399         Suggested by Sam Steingold <sds@gnu.org>.
13400
13401 2011-07-24  Bruno Haible  <bruno@clisp.org>
13402
13403         fsusage: Enable large volume support on AIX >= 5.2.
13404         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
13405         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
13406         instead of STAT_STATVFS.
13407         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
13408
13409         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
13410         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
13411         f_blocks field only on MacOS X.
13412
13413         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
13414         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
13415         * modules/fsusage (Depends-on): Add largefile.
13416
13417 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
13418
13419         * README: Modernize discussion of signed integers.
13420         Assuming overflow wraparound is no longer safe.
13421         Mention ones' complement and signed magnitude.
13422
13423 2011-07-22  Bruno Haible  <bruno@clisp.org>
13424
13425         select tests, pselect tests: Refactor.
13426         * tests/test-select.h: New file, extracted from tests/test-select.c.
13427         (select_fn): New type.
13428         (test, do_select, do_select_nowait, do_select_wait, test_tty,
13429         test_connect_first, test_accept_first, test_pair, test_socket_pair,
13430         test_pipe): Add my_select argument.
13431         (test_function): Renamed from main. Add my_select argument.
13432         * tests/test-select.c: Move most code to tests/test-select.h. Include
13433         test-select.h.
13434         * modules/select-tests (Files): Add tests/test-select.h.
13435         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
13436         (my_select, main): New functions.
13437         * modules/pselect-tests (Files): Add tests/test-select.h,
13438         tests/macros.h, tests/signature.h.
13439         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
13440         (configure.ac): Check for <sys/wait.h>.
13441
13442 2011-07-22  Bruno Haible  <bruno@clisp.org>
13443
13444         sys_select tests: Check the signature of FD_*.
13445         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
13446         signature tests from here...
13447         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
13448         here.
13449         * modules/sys_select-tests (Files): Add tests/signature.h.
13450
13451 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
13452
13453         largefile: new module, replacing large-inode
13454         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
13455         * MODULES.html.sh: Add largefile, remove large-inode.
13456         * modules/largefile, m4/largefile.m4: New files.
13457         * modules/large-inode, m4/large-inode.m4: Remove.
13458
13459         fsusage: port to MacOS X 10.7 with 4 TiB file systems
13460         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
13461         implementations that use only 32 bits to count blocks.
13462         On typical hosts with 1024-byte blocks, this fails with file
13463         systems as small as 4 TiB.  Problem reported by Herb Wartens
13464         <http://debbugs.gnu.org/9140> and this should also fix a similar
13465         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
13466
13467         large-inode: New module
13468         * MODULES.html.sh: Add it.
13469         * modules/large-inode, m4/large-inode.m4: New files.
13470
13471         extensions: Enable extensions on MacOS X 10.5 and later.
13472         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
13473
13474 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
13475
13476         file-has-acl: use acl_extended_file_nofollow if available
13477         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
13478         (acl_extended_file): New macro.
13479         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
13480         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
13481
13482 2011-07-21  Bruno Haible  <bruno@clisp.org>
13483
13484         Declare system functions in a way that works with C++.
13485         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
13486         declare fdopendir as extern "C".
13487         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
13488         declare frexpl as extern "C".
13489         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
13490         declare gai_strerror as extern "C".
13491         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
13492         programs, declare gai_strerror as extern "C".
13493         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
13494         declare getlogin_r as extern "C".
13495         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
13496         as extern "C".
13497         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
13498         declare ldexpl as extern "C".
13499         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
13500         as extern "C".
13501         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
13502         program, declare getmntinfo as extern "C".
13503         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
13504         stpncpy as extern "C".
13505         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
13506         program, declare __xpg_strerror_r as extern "C".
13507         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
13508         strndup as extern "C".
13509         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
13510         declare memset and bzero as extern "C".
13511         Reported by Sam Steingold <sds@gnu.org>.
13512
13513 2011-07-12  Jim Meyering  <meyering@redhat.com>
13514
13515         maint.mk: prohibit inclusion of "verify.h" without use
13516         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
13517
13518 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13519
13520         timer-time: A new module to check for timer_settime()
13521         * m4/timer_time.m4: Check for the posix function.
13522         * modules/timer-time: Add the new module.
13523         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
13524         Mention it.
13525
13526 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
13527             Bruno Haible  <bruno@clisp.org>
13528
13529         pthread_sigmask: assume POSIX threads if --avoid=threadlib
13530         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
13531         not defined, assume POSIX threads and look for pthread_sigmask in
13532         $LIBS, without changing $CPPFLAGS.
13533
13534 2011-07-19  Bruno Haible  <bruno@clisp.org>
13535
13536         strstr: Update cross-compilation guess.
13537         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
13538         CPUs, guess no, in view of glibc
13539         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
13540         Suggested by Eric Blake. Reported by Reuben Thomas.
13541
13542 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13543
13544         getopt-gnu: suppress core dumps from detection code
13545         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
13546         to suppress core dumps that may well occur on glibc systems.
13547         * modules/getopt-gnu: Depend on nocrash.
13548
13549 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         pthread_sigmask: ensure usleep is declared
13552         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
13553         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
13554
13555 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13556
13557         doc: Document NonStop portability issues.
13558         * doc/posix-functions/sigaction.texi (sigaction):
13559         * doc/posix-headers/signal.texi (signal.h):
13560         Document NonStop.  See Joachim Schmitz in
13561         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
13562
13563 2011-07-15  Bruno Haible  <bruno@clisp.org>
13564
13565         ffsl, ffsll: Avoid unportable behaviour.
13566         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
13567
13568 2011-07-15  Bruno Haible  <bruno@clisp.org>
13569
13570         ffs: More tests.
13571         * tests/test-ffs.c (NBITS): New macro.
13572         (main): Add more tests.
13573         * tests/test-ffsl.c (NBITS): New macro.
13574         (main): Add more tests.
13575         * tests/test-ffsll.c (NBITS): New macro.
13576         (main): Add more tests.
13577
13578 2011-07-15  Eric Blake  <eblake@redhat.com>
13579
13580         ffsl, ffsll: new modules
13581         * modules/ffsl: New file.
13582         * modules/ffsll: Likewise.
13583         * m4/ffsl.m4: Likewise.
13584         * m4/ffsll.m4: Likewise.
13585         * lib/ffsl.c: Likewise.
13586         * lib/ffsl.h: Likewise.
13587         * lib/ffsll.c: Likewise.
13588         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
13589         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
13590         * modules/string (Makefile.am): Substitute witnesses.
13591         * lib/strings.in.h (ffsl, ffsll): Declare.
13592         * modules/ffsl-tests: New test file.
13593         * modules/ffsll-tests: Likewise.
13594         * tests/test-ffsl.c: Likewise.
13595         * tests/test-ffsll.c: Likewise.
13596         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13597         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
13598         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
13599
13600         ffs: fix m4 prerequisite
13601         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
13602
13603         ffs: avoid undefined behavior
13604         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
13605         * tests/test-ffs.c (naive, main): Avoid signed shifts.
13606         Reported by Bruno Haible.
13607
13608 2011-07-12  Bruno Haible  <bruno@clisp.org>
13609
13610         pthread_sigmask: Rely on module 'threadlib'.
13611         * modules/pthread_sigmask (Depends-on): Add threadlib.
13612         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
13613         is defined.
13614
13615 2011-07-12  Bruno Haible  <bruno@clisp.org>
13616
13617         regex: Depend on module 'strcase'.
13618         * modules/regex (Depends-on): Add strcase, for strcasecmp().
13619
13620 2011-07-12  Jim Meyering  <meyering@redhat.com>
13621
13622         warn-on-use: fix typo in file name
13623         * modules/snippet/warn-on-use (Files): Correct file name:
13624         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
13625
13626 2011-07-12  Bruno Haible  <bruno@clisp.org>
13627
13628         strings: Document module.
13629         * doc/posix-headers/strings.texi: Mention module 'strings'.
13630
13631 2011-07-12  Bruno Haible  <bruno@clisp.org>
13632
13633         Rename module '_Noreturn' to 'snippet/_Noreturn'.
13634         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
13635         (Files, Makefile.am): Update.
13636         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
13637         * modules/stdlib (Depends-on): Update.
13638
13639 2011-07-12  Bruno Haible  <bruno@clisp.org>
13640
13641         * NEWS: Mention the changes.
13642
13643         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
13644         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
13645         (Files, Makefile.am): Update.
13646         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
13647         * modules/arpa_inet (Depends-on): Update.
13648         * modules/ctype (Depends-on): Update.
13649         * modules/dirent (Depends-on): Update.
13650         * modules/fcntl-h (Depends-on): Update.
13651         * modules/glob (Depends-on): Update.
13652         * modules/iconv-h (Depends-on): Update.
13653         * modules/inttypes-incomplete (Depends-on): Update.
13654         * modules/langinfo (Depends-on): Update.
13655         * modules/locale (Depends-on): Update.
13656         * modules/math (Depends-on): Update.
13657         * modules/netdb (Depends-on): Update.
13658         * modules/poll-h (Depends-on): Update.
13659         * modules/pty (Depends-on): Update.
13660         * modules/search (Depends-on): Update.
13661         * modules/signal (Depends-on): Update.
13662         * modules/spawn (Depends-on): Update.
13663         * modules/stdio (Depends-on): Update.
13664         * modules/stdlib (Depends-on): Update.
13665         * modules/string (Depends-on): Update.
13666         * modules/strings (Depends-on): Update.
13667         * modules/sys_file (Depends-on): Update.
13668         * modules/sys_ioctl (Depends-on): Update.
13669         * modules/sys_select (Depends-on): Update.
13670         * modules/sys_socket (Depends-on): Update.
13671         * modules/sys_stat (Depends-on): Update.
13672         * modules/sys_time (Depends-on): Update.
13673         * modules/sys_times (Depends-on): Update.
13674         * modules/sys_utsname (Depends-on): Update.
13675         * modules/sys_wait (Depends-on): Update.
13676         * modules/termios (Depends-on): Update.
13677         * modules/time (Depends-on): Update.
13678         * modules/unistd (Depends-on): Update.
13679         * modules/wchar (Depends-on): Update.
13680         * modules/wctype-h (Depends-on): Update.
13681         * MODULES.html.sh (Support for building libraries and executables):
13682         Update.
13683
13684         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
13685         * modules/snippet/unused-parameter: Renamed from
13686         modules/unused-parameter.
13687         (Files, Makefile.am): Update.
13688         * build-aux/snippet/unused-parameter.h: Renamed from
13689         build-aux/unused-parameter.h.
13690         * modules/selinux-h (Depends-on): Update.
13691         * modules/unistr/base (Depends-on): Update.
13692         * MODULES.html.sh (Core language properties): Update.
13693
13694         Rename module 'link-warning' to 'snippet/link-warning'.
13695         * modules/snippet/link-warning: Renamed from modules/link-warning.
13696         (Files, Makefile.am): Update.
13697         * build-aux/snippet/link-warning.h: Renamed from
13698         build-aux/link-warning.h.
13699         * MODULES.html.sh (Support for building libraries and executables):
13700         Update.
13701
13702         Rename module 'c++defs' to 'snippet/c++defs'.
13703         * modules/snippet/c++defs: Renamed from modules/c++defs.
13704         (Files, Makefile.am): Update.
13705         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
13706         * modules/arpa_inet (Depends-on): Update.
13707         * modules/ctype (Depends-on): Update.
13708         * modules/dirent (Depends-on): Update.
13709         * modules/fcntl-h (Depends-on): Update.
13710         * modules/glob (Depends-on): Update.
13711         * modules/iconv-h (Depends-on): Update.
13712         * modules/langinfo (Depends-on): Update.
13713         * modules/locale (Depends-on): Update.
13714         * modules/math (Depends-on): Update.
13715         * modules/netdb (Depends-on): Update.
13716         * modules/poll-h (Depends-on): Update.
13717         * modules/pty (Depends-on): Update.
13718         * modules/search (Depends-on): Update.
13719         * modules/signal (Depends-on): Update.
13720         * modules/spawn (Depends-on): Update.
13721         * modules/stdio (Depends-on): Update.
13722         * modules/stdlib (Depends-on): Update.
13723         * modules/string (Depends-on): Update.
13724         * modules/strings (Depends-on): Update.
13725         * modules/sys_ioctl (Depends-on): Update.
13726         * modules/sys_select (Depends-on): Update.
13727         * modules/sys_socket (Depends-on): Update.
13728         * modules/sys_stat (Depends-on): Update.
13729         * modules/sys_time (Depends-on): Update.
13730         * modules/sys_wait (Depends-on): Update.
13731         * modules/termios (Depends-on): Update.
13732         * modules/time (Depends-on): Update.
13733         * modules/unistd (Depends-on): Update.
13734         * modules/wchar (Depends-on): Update.
13735         * modules/wctype-h (Depends-on): Update.
13736
13737         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
13738         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
13739         (Files, Makefile.am): Update.
13740         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
13741         * modules/argv-iter (Depends-on): Update.
13742         * modules/arpa_inet (Depends-on): Update.
13743         * modules/dirent (Depends-on): Update.
13744         * modules/fcntl-h (Depends-on): Update.
13745         * modules/fnmatch (Depends-on): Update.
13746         * modules/getopt-posix (Depends-on): Update.
13747         * modules/glob (Depends-on): Update.
13748         * modules/iconv-h (Depends-on): Update.
13749         * modules/inttypes-incomplete (Depends-on): Update.
13750         * modules/locale (Depends-on): Update.
13751         * modules/math (Depends-on): Update.
13752         * modules/netdb (Depends-on): Update.
13753         * modules/search (Depends-on): Update.
13754         * modules/signal (Depends-on): Update.
13755         * modules/spawn (Depends-on): Update.
13756         * modules/stdio (Depends-on): Update.
13757         * modules/stdlib (Depends-on): Update.
13758         * modules/string (Depends-on): Update.
13759         * modules/strings (Depends-on): Update.
13760         * modules/sys_socket (Depends-on): Update.
13761         * modules/sys_stat (Depends-on): Update.
13762         * modules/sys_time (Depends-on): Update.
13763         * modules/sys_times (Depends-on): Update.
13764         * modules/sys_utsname (Depends-on): Update.
13765         * modules/time (Depends-on): Update.
13766         * modules/unistd (Depends-on): Update.
13767         * modules/wchar (Depends-on): Update.
13768         * MODULES.html.sh (Support for building libraries and executables):
13769         Update.
13770
13771 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13772
13773         Improvements on _Noreturn and related modules.
13774
13775         modules/_Exit-tests: test _Noreturn too
13776         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
13777         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
13778         (main): Use them.
13779
13780         stdnoreturn, stdnoreturn-tests: remove modules
13781         They're not needed here and a bit premature for use elsewhere.  See
13782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
13783         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
13784         * tests/test-stdnoreturn.c: Remove files.
13785         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
13786         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
13787         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
13788         and using noreturn.
13789         * modules/openat, modules/sigpipe-die, modules/xalloc:
13790         * modules/xmemdup0, modules/xstrtol:
13791         Remove dependency on stdnoreturn.
13792
13793         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
13794         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
13795         Reparenthesize to avoid GCC warning.
13796         Support Microsoft's syntax.
13797         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
13798
13799         _Noreturn-tests: remove module
13800         * modules/_Noreturn-tests: Remove.
13801         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
13802         * tests/test-_Noreturn.c: Remove.
13803         * tests/test-stdnoreturn.c: Merge from the old
13804         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
13805
13806 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13807
13808         _Noreturn, stdnoreturn, and related modules.
13809
13810         * top/maint.mk: Adjust to new noreturn support.
13811         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
13812         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
13813
13814         xalloc: use stdnoreturn.h
13815         * lib/xalloc.h: Include <stdnoreturn.h>.
13816         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13817         * modules/xalloc (Depends-on): Add stdnoreturn.
13818
13819         xstrtol: use stdnoreturn.h
13820         * lib/xstrtol.h: Include <stdnoreturn.h>.
13821         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13822         * modules/xstrtol (Depends-on): Add stdnoreturn.
13823
13824         xmemdup0: use stdnoreturn.h
13825         * lib/xmemdup0.h: Include <stdnoreturn.h>.
13826         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13827         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
13828
13829         sigpipe-die: use stdnoreturn.h
13830         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
13831         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13832         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
13833
13834         openat: use stdnoreturn.h
13835         * lib/openat.h: Include <stdnoreturn.h>.
13836         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13837         * modules/openat (Depends-on): Add stdnoreturn.
13838
13839         * lib/openat-die.c (openat_save_fail): Modernize comment.
13840
13841         * lib/xalloc-die.c (xalloc_die): Modernize comment.
13842
13843         * lib/glthread/thread.h: Modernize comment.
13844
13845         obstack: use _Noreturn
13846         * lib/obstack.c (__attribute__): Remove macro.
13847         (print_and_abort): Use _Noreturn.
13848
13849         c-stack: use _Noreturn
13850         * lib/c-stack.c (die, overflow_handler, segv_handler):
13851         Use _Noreturn rather than __attribute__((noreturn)).
13852
13853         argmatch-tests, exclude_tests: use _Noreturn
13854         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
13855         Remove.
13856         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
13857
13858         stdlib: use _Noreturn
13859         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
13860         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
13861         * modules/stdlib (Depends-on): Add _Noreturn.
13862         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
13863
13864         stdnoreturn-tests: new module
13865         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
13866
13867         stdnoreturn: new module
13868         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
13869         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
13870
13871         _Noreturn-tests: new module
13872         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
13873
13874         _Noreturn: new module
13875         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
13876         New section, mentioning it.
13877         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
13878
13879         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
13880
13881 2011-07-11  Eric Blake  <eblake@redhat.com>
13882
13883         ffs: new module
13884         * modules/ffs: New file.
13885         * m4/ffs.m4: Likewise.
13886         * lib/ffs.c: Likewise.
13887         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
13888         * modules/strings (Makefile.am): Substitute witness.
13889         (Depends-on): Add c++defs.
13890         * lib/strings.in.h (ffs): Declare.
13891         * modules/ffs-tests: New test file.
13892         * tests/test-ffs.c: Test new module.
13893         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13894         * doc/posix-functions/ffs.texi (ffs): Likewise.
13895
13896         regex: avoid compiler warning
13897         * lib/regex.c (includes): Include <strings.h>, for use of
13898         strcasecmp in regcomp.c.
13899         Reported by Joachim Schmitz.
13900
13901 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13902
13903         stdint: respect system's intmax_t if INTMAX_MAX
13904         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
13905         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
13906         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
13907         long but int64_t is long long, and where we will clash with the
13908         system intmax_t if we override it.  See
13909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
13910         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
13911         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
13912         similarly for UINTMAX_C.
13913
13914 2011-07-08  Bruno Haible  <bruno@clisp.org>
13915
13916         pthread_sigmask tests: Avoid a compiler warning.
13917         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
13918         non-zero.
13919
13920         sigprocmask tests: A better way to avoid a compiler warning.
13921         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
13922         (main): Complain if system() returns non-zero.
13923         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
13924
13925 2011-07-08  Bruno Haible  <bruno@clisp.org>
13926
13927         pthread_sigmask: Work around IRIX bug.
13928         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
13929         bug.
13930         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
13931         there may be unblocked pending signals.
13932         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
13933
13934 2011-07-08  Bruno Haible  <bruno@clisp.org>
13935
13936         pthread_sigmask: Work around Cygwin bug.
13937         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
13938         bug.
13939         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
13940         the system's pthread_sigmask function.
13941         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
13942
13943 2011-07-08  Bruno Haible  <bruno@clisp.org>
13944
13945         pthread_sigmask: Work around bug in single-threaded implementation.
13946         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13947         FreeBSD, HP-UX, Solaris bug.
13948         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13949         * lib/pthread_sigmask.c: Include <stddef.h>.
13950         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13951         the system's pthread_sigmask function.
13952         * modules/pthread_sigmask (configure.ac): Invoke
13953         gl_PREREQ_PTHREAD_SIGMASK.
13954         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13955         HP-UX, Solaris.
13956
13957 2011-07-08  Eric Blake  <eblake@redhat.com>
13958
13959         test-sigprocmask: avoid compiler warning
13960         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13961         * tests/test-sigprocmask.c (main): Use it to silence warning.
13962         Reported by Jim Meyering.
13963
13964         test-snprintf: avoid compiler warning
13965         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13966         * tests/test-vsnprintf.c (main): Likewise.
13967         Reported by Jim Meyering.
13968
13969 2011-07-08  Bruno Haible  <bruno@clisp.org>
13970
13971         Tests for module 'pthread_sigmask'.
13972         * modules/pthread_sigmask-tests: New file.
13973         * tests/test-pthread_sigmask1.c: New file, based on
13974         tests/test-sigprocmask.c.
13975         * tests/test-pthread_sigmask2.c: New file.
13976
13977 2011-07-08  Jim Meyering  <meyering@redhat.com>
13978
13979         test-getopt.h: avoid warning about an unused variable
13980         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13981
13982 2011-07-07  Jim Meyering  <meyering@redhat.com>
13983
13984         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13985         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13986         now that it no longer contains leading TABs.
13987         Remove unused "url=FIXME" statement.
13988
13989 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13990
13991         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13992         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13993         When gl_THREADLIB is not in use, assume that the POSIX sematics
13994         are desired.  This is better for Emacs, which uses POSIX semantics
13995         on GNUish and/or POSIXish platforms, and does not use threads at
13996         all otherwise.
13997
13998         pthread_sigmask: fix typo when testing for libraries
13999         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14000         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
14001
14002 2011-07-08  Eric Blake  <eblake@redhat.com>
14003
14004         fts: introduce FTS_NOATIME
14005         * lib/fts_.h (FTS_NOATIME): New bit flag.
14006         (FTS_OPTIONMASK): Adjust.
14007         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
14008         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
14009
14010 2011-07-08  Bruno Haible  <bruno@clisp.org>
14011
14012         Tests for module 'thread'.
14013         * modules/thread-tests: New file.
14014         * tests/test-thread_self.c: New file.
14015         * tests/test-thread_create.cc: New file.
14016
14017 2011-07-08  Bruno Haible  <bruno@clisp.org>
14018
14019         thread: Avoid gcc warnings when using gl_thread_self().
14020         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
14021         'void *'.
14022         (gl_thread_self_pointer): Update.
14023
14024 2011-07-07  Bruno Haible  <bruno@clisp.org>
14025
14026         signal-c++-tests: Check declaration of pthread_sigmask.
14027         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
14028         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
14029         $(LIB_PTHREAD_SIGMASK).
14030
14031 2011-07-07  Bruno Haible  <bruno@clisp.org>
14032
14033         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
14034         * lib/signal.in.h (pthread_sigmask): Override if
14035         REPLACE_PTHREAD_SIGMASK is 1.
14036         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14037         REPLACE_PTHREAD_SIGMASK.
14038         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
14039         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
14040         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
14041         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
14042         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
14043
14044 2011-07-07  Bruno Haible  <bruno@clisp.org>
14045
14046         pthread_sigmask: Ensure declaration in <signal.h>.
14047         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
14048         include <pthread.h>.
14049         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
14050         problem.
14051
14052 2011-07-07  Bruno Haible  <bruno@clisp.org>
14053
14054         pthread_sigmask: Document the module.
14055         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
14056
14057 2011-07-07  Bruno Haible  <bruno@clisp.org>
14058
14059         pthread_sigmask: Follow gnulib conventions.
14060         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
14061         gl_PTHREAD_SIGMASK.
14062         * modules/pthread_sigmask (configure.ac): Update.
14063
14064 2011-07-07  Bruno Haible  <bruno@clisp.org>
14065
14066         pthread_sigmask: Make declaration C++ safe.
14067         * lib/signal.in.h: In two special conditions, just do an #include_next.
14068         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
14069         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
14070         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14071         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
14072         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
14073         not REPLACE_PTHREAD_MASK.
14074         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
14075         not REPLACE_PTHREAD_MASK.
14076         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
14077
14078 2011-07-07  Bruno Haible  <bruno@clisp.org>
14079
14080         pthread_sigmask: Fix return value.
14081         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
14082         * lib/pthread_sigmask.c: New file.
14083         * modules/pthread_sigmask (Files): Add it.
14084         (configure.ac): Invoke AC_LIBOBJ.
14085
14086 2011-07-07  Eric Blake  <eblake@redhat.com>
14087
14088         getopt: more portable argv creation
14089         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
14090         const, use char arrays rather than strings.
14091         Suggested by Paul Eggert.
14092
14093 2011-07-07  Bruno Haible  <bruno@clisp.org>
14094
14095         Tests for module 'sigprocmask'.
14096         * modules/sigprocmask-tests: New file.
14097         * tests/test-sigprocmask.c: New file.
14098
14099 2011-07-07  Bruno Haible  <bruno@clisp.org>
14100
14101         float tests: Tweak.
14102         * tests/test-float.c (main): Tweak skip message.
14103
14104 2011-07-07  Eric Blake  <eblake@redhat.com>
14105
14106         getopt: avoid compiler warning during configure
14107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
14108         assigning string literals to non-const pointer.
14109
14110         getopt-gnu: avoid crash in glibc getopt
14111         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
14112         * tests/test-getopt.h (test_getopt): Enhance test.
14113         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14114         * doc/posix-functions/getopt.texi (getopt): Document it.
14115         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14116         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14117         Likewise.
14118
14119 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
14120
14121         getopt: handle W; without long options in getopt [BZ #12922]
14122         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
14123         but no long options are defined, just return 'W'.
14124
14125 2011-07-07  Bruno Haible  <bruno@clisp.org>
14126
14127         Avoid literal tabs.
14128         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
14129         variable containing a tab instead of a literal tab.
14130         Reported by Jim Meyering.
14131
14132 2011-07-07  Bruno Haible  <bruno@clisp.org>
14133
14134         Comments.
14135         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
14136
14137 2011-07-06  Bruno Haible  <bruno@clisp.org>
14138
14139         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
14140         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
14141         <winsock2.h>.
14142         (rpl_fd_isset, FD_ISSET): New definitions, copied from
14143         lib/sys_socket.in.h.
14144         (close, gethostname): Hide declarations from <winsock2.h>.
14145         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14146         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
14147         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
14148         (select): Don't override if gnulib's <sys/select.h> was already
14149         included.
14150         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
14151         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
14152         setsockopt, shutdown, select): Tweak indentation.
14153
14154 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14155
14156         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
14157         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
14158         in an application that does not use the sys_select module.
14159
14160 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
14161
14162         poll: do not return 0 on timeout=-1
14163         * lib/poll.c: Loop with yield if no events occured
14164
14165 2011-07-06  Eric Blake  <eblake@redhat.com>
14166
14167         pthread_sigmask: always replace when not using pthread
14168         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
14169         replacement when using some threading other than pthread.  Fix
14170         logic bug.
14171
14172 2011-07-06  Bruno Haible  <bruno@clisp.org>
14173
14174         Comments.
14175         * m4/printf.m4: Update comments about mingw.
14176
14177 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14178
14179         sys_select: define sigset_t more portably
14180         * lib/sys_select.in.h: Always include <sys/types.h>, since
14181         we now need sigset_t and mingw defines it there.
14182         Include <signal.h> before split inclusion guard, to avoid
14183         mishaps on Solaris, whose <signal.h> eventually includes us.
14184         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
14185         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
14186         which come from ...
14187         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
14188         gl_CHECK_TYPE_SIGSET_T.
14189         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
14190         does the real work.
14191         * modules/sys_select (Depends-on): Add 'signal'.
14192
14193         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
14194         Suggested by Bruno Haible.
14195
14196         pselect: Use pthread_sigmask, not sigprocmask.
14197         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
14198         multithreaded apps better than sigprocmask does.
14199         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
14200         sigprocmask directly.
14201
14202 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14203
14204         * lib/pselect.c (pselect): Use plain name, without "rpl_".
14205         Don't #undef,  since we don't need any underlying pselect.
14206         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
14207         (Depends-on): Add select.
14208         (Link): Add $(LIBSOCKET).
14209         These changes suggested by Bruno Haible.
14210
14211         pselect: document better
14212         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
14213         * doc/posix-functions/pselect.texi (pselect): Document new module.
14214
14215         pthread_sigmask: new module
14216         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
14217         * doc/posix-functions/pthread_sigmask.texi: Document new module.
14218         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
14219         This is done only as a macro; I don't know how well that'll
14220         work for C++.  Move <sys/types.h> include before the include_next,
14221         to avoid mishap on Solaris.
14222         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
14223         * modules/signal (Makefile.am): Substitute the check's results.
14224         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
14225
14226         test-pselect: new module
14227         * modules/pselect-tests, tests/test-pselect.c: New files.
14228         * tests/test-select.c, tests/test-sys_select-c++.cc:
14229         If TEST_PSELECT is defined, test pselect instead of testing select.
14230
14231         * tests/test-sys_select.c (sigset_t): Test for it, too.
14232         Suggested by Bruno Haible.
14233
14234 2011-07-05  Eric Blake  <eblake@redhat.com>
14235
14236         snprintf: guarantee %1$d, for libintl
14237         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
14238         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
14239         * doc/posix-functions/snprintf.texi (snprintf): Update.
14240         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
14241         * tests/test-snprintf.c (main): Enhance test.
14242         * tests/test-vsnprintf.c (main): Likewise.
14243
14244 2011-07-05  Jim Meyering  <meyering@redhat.com>
14245
14246         maint: exempt stdio-read.c and stdio-write.c from the cppi check
14247         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
14248         per Bruno's request, to accommodate this idiom (no space after "#")
14249         even when the function is inside an #if block:
14250         char *
14251         gets (char *s)
14252         #undef gets
14253         {
14254           ...
14255         }
14256
14257 2011-07-04  Jim Meyering  <meyering@redhat.com>
14258
14259         maint: indent with spaces, not TABs, and add a rule to check this
14260         * tests/test-userspec.c: Indent with spaces, not TABs.
14261         * tests/test-argp.c: Likewise.
14262         * tests/test-c-stack2.sh: Likewise.
14263         * tests/test-parse-duration.sh: Likewise
14264         * m4/strtod.m4: Likewise.
14265         * m4/alloca.m4: Likewise.
14266         * m4/pselect.m4: Likewise.
14267         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
14268
14269 2011-07-03  Jim Meyering  <meyering@redhat.com>
14270
14271         maint.mk: correct omissions in prohibit_argmatch_without_use check
14272         This rule would mistakenly report that argmatch.h is included without
14273         use even when both the argmatch and invalid_arg macro were used.
14274         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
14275         of argmatch and invalid_arg.
14276
14277 2011-07-03  Bruno Haible  <bruno@clisp.org>
14278
14279         Comments about EINTR.
14280         * lib/safe-read.h: Explain the purpose of this module.
14281         * lib/safe-write.h: Likewise.
14282         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
14283         module.
14284         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
14285         module.
14286         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14287
14288 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
14289
14290         xnanosleep: Rewrite to use new dtotimespec module.
14291         It has the conversion code that used to be in xnanosleep.
14292         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
14293         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
14294         (TIME_T_MAX): Remove.
14295         (xnanosleep): Rewrite in terms of dtotimespec.
14296         * modules/xnanosleep (Depends-on): Add dtotimespec.
14297         Remove intprops, stdbool.
14298
14299         timespec-add, timespec-sub: new modules
14300         * lib/timespec.h (timespec_add, timespec_sub): New decls.
14301         * lib/timespec-add.c, lib/timespec-sub.c:
14302         * modules/timespec-add, modules/timespec-sub: New files.
14303
14304         dtotimespec: new module
14305         * lib/timespec.h (dtotimespec): New decl.
14306         * lib/dtotimespec.c, modules/dtotimespec: New files.
14307
14308         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
14309
14310         pselect: new module
14311         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
14312         (pselect): New decls.
14313         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
14314         since the standard pselect decl uses 'restrict'.
14315         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
14316         HAVE_PSELECT, REPLACE_PSELECT.
14317         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
14318         HAVE_PSELECT, REPLACE_PSELECT.
14319         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
14320
14321         sys_select: don't depend on sys_socket
14322         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
14323         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
14324         This fix works on GNU and GNU-like platforms, but has not been tested
14325         on native Windows.
14326         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
14327         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
14328         gl_HEADER_SYS_SOCKET.
14329         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
14330         gl_PREREQ_SYS_H_WINSOCK2.
14331
14332 2011-06-29  Eric Blake  <eblake@redhat.com>
14333
14334         pipe2: fix C89 compile problem
14335         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
14336         Reported by Bruno Haible.
14337
14338         pipe, pipe2: don't corrupt fd on error
14339         * lib/pipe.c (pipe): Leave fd unchanged on error.
14340         * lib/pipe2.c (pipe2): Likewise.
14341         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
14342         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14343
14344 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
14345
14346         mmap-anon: do not use regular expressions inadvertently
14347         * m4/mmap-anon.m4: Remove trailing period from strings sought
14348         in the output.
14349
14350 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
14351
14352         nanosleep: fix integer overflow problem
14353         * lib/nanosleep.c (my_usleep): Don't assume signed integer
14354         arithmetic wraps around on overflow.
14355
14356         nanosleep: simplify carrying
14357         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
14358         first call to the underyling nanosleep, not for the last one.
14359         This doesn't fix any bugs, but it simplifies the computation of
14360         the remaining delay.  Found while auditing integer overflow issues.
14361
14362         dup2: remove test for existence of fcntl
14363         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
14364         "#if HAVE_FCNTL", in the configure-time test program.
14365         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
14366         and therefore speeds up "configure" a bit.  Found while
14367         adding the dup2 module to Emacs.
14368
14369 2011-06-24  Eric Blake  <eblake@redhat.com>
14370
14371         maint.mk: enhance useless header checks
14372         * top/maint.mk (_sc_header_without_use): Check both include
14373         styles.
14374         (sc_prohibit_assert_without_use)
14375         (sc_prohibit_close_stream_without_use)
14376         (sc_prohibit_getopt_without_use)
14377         (sc_prohibit_quotearg_without_use)
14378         (sc_prohibit_quote_without_use)
14379         (sc_prohibit_long_options_without_use)
14380         (sc_prohibit_inttostr_without_use)
14381         (sc_prohibit_ignore_value_without_use)
14382         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
14383         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
14384         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
14385         (sc_prohibit_hash_pjw_without_use)
14386         (sc_prohibit_safe_read_without_use)
14387         (sc_prohibit_argmatch_without_use)
14388         (sc_prohibit_canonicalize_without_use)
14389         (sc_prohibit_root_dev_ino_without_use)
14390         (sc_prohibit_openat_without_use)
14391         (sc_prohibit_c_ctype_without_use)
14392         (sc_prohibit_signal_without_use)
14393         (sc_prohibit_stdio--_without_use)
14394         (sc_prohibit_stdio-safer_without_use)
14395         (sc_prohibit_strings_without_use)
14396         (sc_prohibit_intprops_without_use)
14397         (sc_prohibit_stddef_without_use)
14398         (sc_prohibit_xfreopen_without_use): Update clients.
14399
14400 2011-06-24  Jim Meyering  <meyering@redhat.com>
14401
14402         syntax-check: keep one maint.mk rule in sync with its header
14403         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
14404         of the bug Eric has just fixed, with today's commit 25e4c2ec.
14405         I prefer to avoid temporary files here, so use <(...), but that
14406         is not supported by /bin/sh, so...
14407         (SHELL): Define to /bin/bash.
14408
14409 2011-06-24  Eric Blake  <eblake@redhat.com>
14410
14411         maint.mk: update sc_prohibit_intprops_without_use
14412         * top/maint.mk (_intprops_names): Match recent changes.
14413
14414 2011-06-24  Bruno Haible  <bruno@clisp.org>
14415
14416         strerror-override: No-op tweak.
14417         * lib/strerror-override.h (strerror_override): Reorder conditions,
14418         for consistency with lib/strerror-override.c.
14419
14420 2011-06-23  Eric Blake  <eblake@redhat.com>
14421
14422         maint.mk: test further PATH_MAX issues
14423         * top/maint.mk (sc_prohibit_path_max_array): Rename...
14424         (sc_prohibit_path_max_allocation): ...and also test alloca.
14425         Suggested by Jim Meyering.
14426
14427 2011-06-22  Eric Blake  <eblake@redhat.com>
14428
14429         maint.mk: add syntax-check to avoid char[PATH_MAX]
14430         * top/maint.mk (sc_prohibit_path_max_array): New rule.
14431
14432         stat: be robust to PATH_MAX definition
14433         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
14434         * modules/stat (Depends-on): Add verify.
14435
14436         link: work around IRIX bug
14437         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
14438         * lib/link.c (rpl_link): Work around it.
14439         * tests/test-link.h (test_link): Enhance test.
14440         * doc/posix-functions/link.texi (link): Document the bug.
14441
14442         getopt: silence clang warning
14443         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
14444         dereference.
14445         Reported by Gustavo Martin Domato.
14446
14447 2011-06-22  Jim Meyering  <meyering@redhat.com>
14448
14449         bootstrap: do not insert a blank line into each .gitignore file
14450         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
14451
14452 2011-06-21  Eric Blake  <eblake@redhat.com>
14453
14454         perror: test for output mismatch
14455         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
14456         perror on IRIX.
14457
14458         strerror_r: fix OpenBSD behavior on out-of-range
14459         * lib/strerror_r.c (strerror_r): Always use maximal string.
14460         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14461
14462         strerror_r: fix OpenBSD behavior on 0
14463         * lib/strerror-override.c (strerror_override): Also override 0
14464         when needed.
14465         * lib/strerror-override.h (strerror_override): Likewise.
14466         * lib/strerror.c (strerror): Simplify, now that 0 override is done
14467         earlier.
14468         * lib/strerror_r.c (strerror_r): Likewise.
14469         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
14470         behavior...
14471         (gl_FUNC_STRERROR_0): ...into new macro.
14472         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
14473         is overridden.
14474         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
14475         * modules/strerror-override (Files): Add strerror.m4.
14476         (configure.ac): Also provide override for 0 when needed.
14477         * doc/posix-functions/strerror.texi (strerror): Document this.
14478         * doc/posix-functions/perror.texi (perror): Likewise.
14479
14480         perror: adjust array size
14481         * modules/perror (Depends-on): Add strerror-override.
14482         * lib/perror.c (perror): Use it to avoid magic number.
14483
14484         strerror-override: reduce size
14485         * lib/strerror-override.c (strerror_override): Use fewer lines.
14486
14487 2011-06-20  Bruno Haible  <bruno@clisp.org>
14488
14489         pathmax: Ensure correct value for PATH_MAX on HP-UX.
14490         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
14491
14492 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
14493
14494         alloca: port to compilers that can optimize like GCC 4.6.0
14495         * lib/alloca.c (find_stack_direction): New signature, taken from
14496         Autoconf git.  This works with GCC 4.6.0.  This code should never
14497         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
14498         be used with other compilers that optimize as well as GCC 4.6.0 does.
14499         (alloca): Adjust to new signature.
14500         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
14501         New macro, which patches Autoconf in a similar way.
14502
14503         c-stack: stop worrying about stack direction
14504         * lib/c-stack.c (find_stack_direction): Remove.
14505         (segv_handler): Don't worry about stack direction growth, as it's
14506         too much of a pain to configure this correctly, given how compilers
14507         are optimizing-away our stack-growth detection code.  Instead, assume
14508         that any access to just before or just after the stack is OK.
14509         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
14510         Don't require AC_FUNC_ALLOCA; no longer needed.
14511
14512 2011-06-20  Eric Blake  <eblake@redhat.com>
14513
14514         test-stat: don't allocate PATH_MAX bytes
14515         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
14516         PATH_MAX-sized buffer.
14517         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
14518         * modules/stat-tests (Depends-on): Likewise.
14519         * tests/test-fstatat.c (includes): Drop pathmax.h.
14520         * tests/test-stat.c (includes): Likewise.
14521         Reported by Bruno Haible.
14522
14523 2011-06-20  Bruno Haible  <bruno@clisp.org>
14524
14525         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
14526         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
14527         * lib/float.c: New file.
14528         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
14529         REPLACE_FLOAT_LDBL.
14530         * modules/float (Files): Add lib/float.c.
14531         (configure.ac): Invoke AC_LIBOBJ.
14532         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
14533
14534 2011-06-20  Bruno Haible  <bruno@clisp.org>
14535
14536         Tests for module 'float'.
14537         * modules/float-tests: New file.
14538         * tests/test-float.c: New file.
14539
14540 2011-06-19  Bruno Haible  <bruno@clisp.org>
14541
14542         isinf: Coding style.
14543         * lib/isinf.c: Use GNU coding style.
14544
14545 2011-06-19  Bruno Haible  <bruno@clisp.org>
14546
14547         linkat test: Avoid test failure on AIX 7.1.
14548         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
14549         * tests/test-link.h (test_link): Likewise.
14550
14551 2011-06-19  Bruno Haible  <bruno@clisp.org>
14552
14553         pread test: Avoid test failure on OpenBSD 4.9.
14554         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
14555
14556 2011-06-19  Bruno Haible  <bruno@clisp.org>
14557
14558         sprintf-posix: Fix test failure on AIX 7.1.
14559         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
14560         * doc/posix-functions/dprintf.texi: Mention limited precision problem
14561         on AIX.
14562         * doc/posix-functions/fprintf.texi: Likewise.
14563         * doc/posix-functions/printf.texi: Likewise.
14564         * doc/posix-functions/snprintf.texi: Likewise.
14565         * doc/posix-functions/sprintf.texi: Likewise.
14566         * doc/posix-functions/vdprintf.texi: Likewise.
14567         * doc/posix-functions/vfprintf.texi: Likewise.
14568         * doc/posix-functions/vprintf.texi: Likewise.
14569         * doc/posix-functions/vsnprintf.texi: Likewise.
14570         * doc/posix-functions/vsprintf.texi: Likewise.
14571
14572 2011-06-19  Bruno Haible  <bruno@clisp.org>
14573
14574         roundl-ieee: Fix test failure on AIX 7.1.
14575         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
14576         * doc/posix-functions/roundl.texi: Mention problem with negative
14577         arguments.
14578
14579 2011-06-19  Bruno Haible  <bruno@clisp.org>
14580
14581         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14582         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
14583         * doc/posix-functions/round.texi: Mention problem with negative
14584         arguments.
14585         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
14586
14587 2011-06-19  Bruno Haible  <bruno@clisp.org>
14588
14589         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14590         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
14591         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
14592         * doc/posix-functions/roundf.texi: Mention problem with negative
14593         arguments.
14594         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
14595
14596 2011-06-19  Bruno Haible  <bruno@clisp.org>
14597
14598         ceilf-ieee: Work around bug on MacOS X 10.5.
14599         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
14600
14601         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
14602         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
14603         IEEE compliant, avoid compiler optimizations.
14604         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14605         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14606         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14607         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14608         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14609         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14610         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14611         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14612         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14613         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14614
14615 2011-06-19  Bruno Haible  <bruno@clisp.org>
14616
14617         ceilf-ieee: Work around bug on AIX 7.1.
14618         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
14619         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
14620
14621 2011-06-19  Bruno Haible  <bruno@clisp.org>
14622
14623         ceil-ieee: Work around bug on AIX 7.1.
14624         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
14625         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
14626
14627 2011-06-18  Bruno Haible  <bruno@clisp.org>
14628
14629         fsync test: Avoid test failure on MacOS X and AIX.
14630         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
14631         EINVAL.
14632
14633 2011-06-18  Bruno Haible  <bruno@clisp.org>
14634
14635         openat, fdopendir tests: Fix link errors.
14636         * modules/openat-tests (Depends-on): Add progname.
14637         * modules/fdopendir-tests (Depends-on): Likewise.
14638         * tests/test-fchownat.c: Include progname.h.
14639         (main): Call set_program_name.
14640         * tests/test-fstatat.c: Include progname.h.
14641         (main): Call set_program_name.
14642         * tests/test-mkdirat.c: Include progname.h.
14643         (main): Call set_program_name.
14644         * tests/test-openat.c: Include progname.h.
14645         (main): Call set_program_name.
14646         * tests/test-unlinkat.c: Include progname.h.
14647         (main): Call set_program_name.
14648         * tests/test-fdopendir.c: Include progname.h.
14649         (main): Call set_program_name.
14650
14651 2011-06-18  Bruno Haible  <bruno@clisp.org>
14652
14653         Doc update.
14654         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
14655         HP-UX.
14656         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
14657
14658 2011-06-18  Bruno Haible  <bruno@clisp.org>
14659
14660         getcwd tests: Avoid compilation error on HP-UX 11.31.
14661         * modules/getcwd-tests (Depends-on): Add pathmax.
14662         * tests/test-getcwd.c: Include pathmax.h.
14663
14664 2011-06-18  Bruno Haible  <bruno@clisp.org>
14665
14666         isfinite, isinf: Fix link error on AIX 6 and 7.
14667         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
14668         needed, also test the macro with a 'float' argument.
14669         * m4/isinf.m4 (gl_ISINF): Likewise.
14670
14671 2011-06-18  Bruno Haible  <bruno@clisp.org>
14672
14673         getloadavg: Don't clobber LIBS. Regression from previous commit.
14674         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
14675         AC_CHECK_LIB from here...
14676         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
14677         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
14678         gl_func_getloadavg_done.
14679         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14680
14681 2011-06-18  Bruno Haible  <bruno@clisp.org>
14682
14683         clean-temp: Improve documentation.
14684         * lib/clean-temp.h: Explain better how to use this module.
14685         Reported by John Darrington <john@darrington.wattle.id.au>.
14686
14687 2011-06-17  Bruno Haible  <bruno@clisp.org>
14688
14689         pread, pwrite: Avoid cc warning on AIX.
14690         * lib/unistd.in.h (pread): Undefine before defining as a macro.
14691         (pwrite): Likewise.
14692
14693 2011-06-17  Bruno Haible  <bruno@clisp.org>
14694
14695         spawn-pipe tests: Fix link error.
14696         * tests/test-spawn-pipe-child.c: Undefine fprintf.
14697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14698
14699 2011-06-17  Bruno Haible  <bruno@clisp.org>
14700
14701         Tests: Remove unnecessary dependency.
14702         * modules/canonicalize-tests (Depends-on): Remove progname.
14703         * modules/chown-tests (Depends-on): Likewise.
14704         * modules/dirname-tests (Depends-on): Likewise.
14705         * modules/fdopendir-tests (Depends-on): Likewise.
14706         * modules/fdutimensat-tests (Depends-on): Likewise.
14707         * modules/hash-tests (Depends-on): Likewise.
14708         * modules/lchown-tests (Depends-on): Likewise.
14709         * modules/linkat-tests (Depends-on): Likewise.
14710         * modules/renameat-tests (Depends-on): Likewise.
14711         * modules/spawn-pipe-tests (Depends-on): Likewise.
14712         * modules/utimensat-tests (Depends-on): Likewise.
14713
14714 2011-06-17  Bruno Haible  <bruno@clisp.org>
14715
14716         spawn-pipe tests: Fix link error.
14717         * tests/test-spawn-pipe-child.c: Undefine fflush.
14718
14719 2011-06-17  Bruno Haible  <bruno@clisp.org>
14720
14721         Fix tests link errors.
14722         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
14723         * modules/chown-tests (Makefile.am): Don't link test-chown with
14724         LIBINTL.
14725         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
14726         LIBINTL.
14727         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
14728         LIBINTL.
14729         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
14730         LIBINTL.
14731
14732 2011-06-16  Bruno Haible  <bruno@clisp.org>
14733
14734         crypto/gc-sha1: Fix recent regression.
14735         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
14736         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
14737
14738         crypto/gc-md5: Fix recent regression.
14739         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
14740
14741         crypto/gc-md4: Fix recent regression.
14742         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
14743         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
14744
14745         crypto/gc-arctwo: Fix recent regression.
14746         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
14747         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
14748
14749         crypto/gc-rijndael: Fix recent regression.
14750         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
14751         (configure.ac): Invoke AC_LIBOBJ here.
14752         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
14753         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14754
14755         crypto/gc-hmac-sha1: Fix recent regression.
14756         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
14757         (configure.ac): Invoke AC_LIBOBJ here.
14758         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
14759         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14760
14761         crypto/gc-hmac-md5: Fix recent regression.
14762         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
14763         (configure.ac): Invoke AC_LIBOBJ here.
14764         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
14765         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14766
14767         crypto/gc-des: Fix recent regression.
14768         * modules/crypto/gc-des (Files): Remove m4/des.m4.
14769         (configure.ac): Invoke AC_LIBOBJ here.
14770         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
14771         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14772
14773         crypto/gc-arcfour: Fix recent regression.
14774         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
14775         (configure.ac): Invoke AC_LIBOBJ here.
14776         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
14777         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14778
14779 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
14780
14781         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
14782         After the 2011-05-21 change, this macro requires
14783         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
14784         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14785
14786 2011-06-16  Bruno Haible  <bruno@clisp.org>
14787
14788         fprintftime: Move AC_LIBOBJ invocations to module description.
14789         * m4/fprintftime.m4: Remove file.
14790         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
14791         (configure.ac): Remove gl_FPRINTFTIME call.
14792         (Makefile.am): Augment lib_SOURCES.
14793         Reported by Jim Meyering.
14794
14795 2011-06-16  Bruno Haible  <bruno@clisp.org>
14796
14797         tmpfile-safer: Finish 2011-05-23 commit.
14798         * m4/stdio-safer.m4: Really remove file.
14799         Reported by Jim Meyering.
14800
14801 2011-06-16  Bruno Haible  <bruno@clisp.org>
14802
14803         syntax-check: Fix typo.
14804         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
14805         printf-posix.m4.
14806         Reported by Jim Meyering.
14807
14808 2011-06-13  Jim Meyering  <meyering@redhat.com>
14809
14810         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
14811         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
14812
14813 2011-05-23  Bruno Haible  <bruno@clisp.org>
14814
14815         yesno: Move AC_LIBOBJ invocations to module description.
14816         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
14817         * modules/yesno (Makefile.am): Augment lib_SOURCES.
14818
14819 2011-05-23  Bruno Haible  <bruno@clisp.org>
14820
14821         xstrtol: Move AC_LIBOBJ invocations to module description.
14822         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
14823         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
14824
14825 2011-05-23  Bruno Haible  <bruno@clisp.org>
14826
14827         xstrtold: Move AC_LIBOBJ invocations to module description.
14828         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
14829         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
14830
14831 2011-05-23  Bruno Haible  <bruno@clisp.org>
14832
14833         xstrtod: Move AC_LIBOBJ invocations to module description.
14834         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
14835         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
14836
14837 2011-05-23  Bruno Haible  <bruno@clisp.org>
14838
14839         xnanosleep: Move AC_LIBOBJ invocations to module description.
14840         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
14841         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
14842
14843 2011-05-23  Bruno Haible  <bruno@clisp.org>
14844
14845         xgetcwd: Move AC_LIBOBJ invocations to module description.
14846         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
14847         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
14848
14849 2011-05-23  Bruno Haible  <bruno@clisp.org>
14850
14851         xalloc: Move AC_LIBOBJ invocations to module description.
14852         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
14853         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
14854
14855 2011-05-23  Bruno Haible  <bruno@clisp.org>
14856
14857         write-any-file: Move AC_LIBOBJ invocations to module description.
14858         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
14859         invocation.
14860         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
14861
14862 2011-05-23  Bruno Haible  <bruno@clisp.org>
14863
14864         utimens: Move AC_LIBOBJ invocations to module description.
14865         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
14866         * modules/utimens (Makefile.am): Augment lib_SOURCES.
14867
14868 2011-05-23  Bruno Haible  <bruno@clisp.org>
14869
14870         utimecmp: Move AC_LIBOBJ invocations to module description.
14871         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
14872         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
14873
14874 2011-05-23  Bruno Haible  <bruno@clisp.org>
14875
14876         userspec: Move AC_LIBOBJ invocations to module description.
14877         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
14878         * modules/userspec (Makefile.am): Augment lib_SOURCES.
14879
14880 2011-05-23  Bruno Haible  <bruno@clisp.org>
14881
14882         unlinkdir: Move AC_LIBOBJ invocations to module description.
14883         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
14884         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
14885
14886 2011-05-23  Bruno Haible  <bruno@clisp.org>
14887
14888         unistd-safer: Move AC_LIBOBJ invocations to module description.
14889         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
14890         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
14891
14892 2011-05-23  Bruno Haible  <bruno@clisp.org>
14893
14894         tempname: Move AC_LIBOBJ invocations to module description.
14895         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
14896         * modules/tempname (Makefile.am): Augment lib_SOURCES.
14897
14898 2011-05-23  Bruno Haible  <bruno@clisp.org>
14899
14900         strftime: Move AC_LIBOBJ invocations to module description.
14901         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
14902         * modules/strftime (Makefile.am): Augment lib_SOURCES.
14903
14904 2011-05-23  Bruno Haible  <bruno@clisp.org>
14905
14906         stdlib-safer: Move AC_LIBOBJ invocations to module description.
14907         * m4/stdlib-safer.m4: Remove file.
14908         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
14909         (configure.ac): Remove gl_STDLIB_SAFER call.
14910         (Makefile.am): Augment lib_SOURCES.
14911
14912 2011-05-23  Bruno Haible  <bruno@clisp.org>
14913
14914         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
14915         * m4/stdio-safer.m4: Remove file.
14916         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
14917         (configure.ac): Remove gl_TMPFILE_SAFER call.
14918         (Makefile.am): Augment lib_SOURCES.
14919
14920 2011-05-23  Bruno Haible  <bruno@clisp.org>
14921
14922         popen-safer: Move AC_LIBOBJ invocations to module description.
14923         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
14924         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
14925         (configure.ac): Remove gl_POPEN_SAFER call.
14926         (Makefile.am): Augment lib_SOURCES.
14927
14928 2011-05-23  Bruno Haible  <bruno@clisp.org>
14929
14930         freopen-safer: Move AC_LIBOBJ invocations to module description.
14931         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
14932         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
14933         (configure.ac): Remove gl_FREOPEN_SAFER call.
14934         (Makefile.am): Augment lib_SOURCES.
14935
14936 2011-05-23  Bruno Haible  <bruno@clisp.org>
14937
14938         fopen-safer: Move AC_LIBOBJ invocations to module description.
14939         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
14940         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
14941         (configure.ac): Remove gl_FOPEN_SAFER call.
14942         (Makefile.am): Augment lib_SOURCES.
14943
14944 2011-05-23  Bruno Haible  <bruno@clisp.org>
14945
14946         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14947         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14948         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14949
14950 2011-05-23  Bruno Haible  <bruno@clisp.org>
14951
14952         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14953         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14954         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14955
14956 2011-05-23  Bruno Haible  <bruno@clisp.org>
14957
14958         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14959         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14960         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14961
14962 2011-05-23  Bruno Haible  <bruno@clisp.org>
14963
14964         settime: Move AC_LIBOBJ invocations to module description.
14965         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14966         * modules/settime (Makefile.am): Augment lib_SOURCES.
14967
14968 2011-05-23  Bruno Haible  <bruno@clisp.org>
14969
14970         savedir: Move AC_LIBOBJ invocations to module description.
14971         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14972         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14973
14974 2011-05-23  Bruno Haible  <bruno@clisp.org>
14975
14976         save-cwd: Move AC_LIBOBJ invocations to module description.
14977         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14978         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14979
14980 2011-05-23  Bruno Haible  <bruno@clisp.org>
14981
14982         same: Move AC_LIBOBJ invocations to module description.
14983         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14984         * modules/same (Makefile.am): Augment lib_SOURCES.
14985
14986 2011-05-23  Bruno Haible  <bruno@clisp.org>
14987
14988         safe-write: Move AC_LIBOBJ invocations to module description.
14989         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14990         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14991         instead of gl_SAFE_WRITE.
14992         (Makefile.am): Augment lib_SOURCES.
14993
14994 2011-05-23  Bruno Haible  <bruno@clisp.org>
14995
14996         safe-read: Move AC_LIBOBJ invocations to module description.
14997         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14998         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14999         of gl_SAFE_READ.
15000         (Makefile.am): Augment lib_SOURCES.
15001
15002 2011-05-23  Bruno Haible  <bruno@clisp.org>
15003
15004         safe-alloc: Move AC_LIBOBJ invocations to module description.
15005         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
15006         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
15007
15008 2011-05-23  Bruno Haible  <bruno@clisp.org>
15009
15010         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
15011         * m4/rijndael.m4: Remove file.
15012         * modules/crypto/rijndael (Files): Remove it.
15013         (configure.ac): Remove gl_RIJNDAEL call.
15014         (Makefile.am): Augment lib_SOURCES.
15015
15016 2011-05-23  Bruno Haible  <bruno@clisp.org>
15017
15018         readtokens: Move AC_LIBOBJ invocations to module description.
15019         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
15020         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
15021
15022 2011-05-23  Bruno Haible  <bruno@clisp.org>
15023
15024         read-file: Move AC_LIBOBJ invocations to module description.
15025         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
15026         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
15027         of gl_FUNC_READ_FILE.
15028         (Makefile.am): Augment lib_SOURCES.
15029
15030 2011-05-23  Bruno Haible  <bruno@clisp.org>
15031
15032         quotearg: Move AC_LIBOBJ invocations to module description.
15033         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
15034         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
15035
15036 2011-05-23  Bruno Haible  <bruno@clisp.org>
15037
15038         quote: Move AC_LIBOBJ invocations to module description.
15039         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
15040         * modules/quote (Makefile.am): Augment lib_SOURCES.
15041
15042 2011-05-23  Bruno Haible  <bruno@clisp.org>
15043
15044         posixver: Move AC_LIBOBJ invocations to module description.
15045         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
15046         * modules/posixver (Makefile.am): Augment lib_SOURCES.
15047
15048 2011-05-23  Bruno Haible  <bruno@clisp.org>
15049
15050         posixtm: Move AC_LIBOBJ invocations to module description.
15051         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
15052         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
15053
15054 2011-05-23  Bruno Haible  <bruno@clisp.org>
15055
15056         physmem: Move AC_LIBOBJ invocations to module description.
15057         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
15058         * modules/physmem (Makefile.am): Augment lib_SOURCES.
15059
15060 2011-05-23  Bruno Haible  <bruno@clisp.org>
15061
15062         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
15063         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
15064         invocation.
15065         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
15066
15067 2011-05-23  Bruno Haible  <bruno@clisp.org>
15068
15069         mpsort: Move AC_LIBOBJ invocations to module description.
15070         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
15071         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
15072
15073 2011-05-23  Bruno Haible  <bruno@clisp.org>
15074
15075         modechange: Move AC_LIBOBJ invocations to module description.
15076         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
15077         * modules/modechange (Makefile.am): Augment lib_SOURCES.
15078
15079 2011-05-23  Bruno Haible  <bruno@clisp.org>
15080
15081         mkdir-p: Move AC_LIBOBJ invocations to module description.
15082         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
15083         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
15084
15085 2011-05-23  Bruno Haible  <bruno@clisp.org>
15086
15087         mkancesdirs: Move AC_LIBOBJ invocations to module description.
15088         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
15089         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
15090
15091 2011-05-23  Bruno Haible  <bruno@clisp.org>
15092
15093         mgetgroups: Move AC_LIBOBJ invocations to module description.
15094         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
15095         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
15096
15097 2011-05-23  Bruno Haible  <bruno@clisp.org>
15098
15099         memxor: Move AC_LIBOBJ invocations to module description.
15100         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
15101         * modules/memxor (Makefile.am): Augment lib_SOURCES.
15102
15103 2011-05-23  Bruno Haible  <bruno@clisp.org>
15104
15105         memcoll: Move AC_LIBOBJ invocations to module description.
15106         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
15107         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
15108
15109 2011-05-23  Bruno Haible  <bruno@clisp.org>
15110
15111         memcasecmp: Move AC_LIBOBJ invocations to module description.
15112         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
15113         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
15114
15115 2011-05-23  Bruno Haible  <bruno@clisp.org>
15116
15117         crypto/md5: Move AC_LIBOBJ invocations to module description.
15118         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
15119         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
15120
15121 2011-05-23  Bruno Haible  <bruno@clisp.org>
15122
15123         crypto/md4: Move AC_LIBOBJ invocations to module description.
15124         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
15125         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
15126
15127 2011-05-23  Bruno Haible  <bruno@clisp.org>
15128
15129         crypto/md2: Move AC_LIBOBJ invocations to module description.
15130         * m4/md2.m4: Remove file.
15131         * modules/crypto/md2 (Files): Remove it.
15132         (configure.ac): Remove gl_MD2 call.
15133         (Makefile.am): Augment lib_SOURCES.
15134
15135 2011-05-23  Bruno Haible  <bruno@clisp.org>
15136
15137         long-options: Move AC_LIBOBJ invocations to module description.
15138         * m4/long-options.m4: Remove file.
15139         * modules/long-options (Files): Remove it.
15140         (configure.ac): Remove gl_LONG_OPTIONS call.
15141         (Makefile.am): Augment lib_SOURCES.
15142
15143 2011-05-23  Bruno Haible  <bruno@clisp.org>
15144
15145         i-ring: Move AC_LIBOBJ invocations to module description.
15146         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
15147         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
15148
15149 2011-05-23  Bruno Haible  <bruno@clisp.org>
15150
15151         idcache: Move AC_LIBOBJ invocations to module description.
15152         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
15153         * modules/idcache (Makefile.am): Augment lib_SOURCES.
15154
15155 2011-05-23  Bruno Haible  <bruno@clisp.org>
15156
15157         human: Move AC_LIBOBJ invocations to module description.
15158         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
15159         * modules/human (Makefile.am): Augment lib_SOURCES.
15160
15161 2011-05-23  Bruno Haible  <bruno@clisp.org>
15162
15163         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
15164         * m4/hmac-sha1.m4: Remove file.
15165         * modules/crypto/hmac-sha1 (Files): Remove it.
15166         (configure.ac): Remove gl_HMAC_SHA1 call.
15167         (Makefile.am): Augment lib_SOURCES.
15168
15169 2011-05-23  Bruno Haible  <bruno@clisp.org>
15170
15171         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
15172         * m4/hmac-md5.m4: Remove file.
15173         * modules/crypto/hmac-md5 (Files): Remove it.
15174         (configure.ac): Remove gl_HMAC_MD5 call.
15175         (Makefile.am): Augment lib_SOURCES.
15176
15177 2011-05-23  Bruno Haible  <bruno@clisp.org>
15178
15179         hash: Move AC_LIBOBJ invocations to module description.
15180         * m4/hash.m4: Remove file.
15181         * modules/hash (Files): Remove it.
15182         (configure.ac): Remove gl_HASH call.
15183         (Makefile.am): Augment lib_SOURCES.
15184
15185 2011-05-23  Bruno Haible  <bruno@clisp.org>
15186
15187         hard-locale: Move AC_LIBOBJ invocations to module description.
15188         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
15189         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
15190
15191 2011-05-23  Bruno Haible  <bruno@clisp.org>
15192
15193         getugroups: Move AC_LIBOBJ invocations to module description.
15194         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
15195         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
15196
15197 2011-05-23  Bruno Haible  <bruno@clisp.org>
15198
15199         gettime: Move AC_LIBOBJ invocations to module description.
15200         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
15201         * modules/gettime (Makefile.am): Augment lib_SOURCES.
15202
15203 2011-05-23  Bruno Haible  <bruno@clisp.org>
15204
15205         getndelim2: Move AC_LIBOBJ invocations to module description.
15206         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
15207         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
15208
15209 2011-05-23  Bruno Haible  <bruno@clisp.org>
15210
15211         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
15212         * m4/gc-pbkdf2-sha1.m4: Remove file.
15213         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
15214         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
15215         (Makefile.am): Augment lib_SOURCES.
15216
15217 2011-05-23  Bruno Haible  <bruno@clisp.org>
15218
15219         fts: Move AC_LIBOBJ invocations to module description.
15220         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
15221         * modules/fts (configure.ac): ... to here.
15222
15223 2011-05-23  Bruno Haible  <bruno@clisp.org>
15224
15225         file-type: Move AC_LIBOBJ invocations to module description.
15226         * m4/file-type.m4: Remove file.
15227         * modules/file-type (Files): Remove it.
15228         (configure.ac): Remove gl_FILE_TYPE call.
15229         (Makefile.am): Augment lib_SOURCES.
15230
15231 2011-05-23  Bruno Haible  <bruno@clisp.org>
15232
15233         filenamecat*: Respect rules for use of AC_LIBOBJ.
15234         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
15235         Remove AC_LIBOBJ invocation.
15236         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
15237         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
15238
15239 2011-05-23  Bruno Haible  <bruno@clisp.org>
15240
15241         filemode: Move AC_LIBOBJ invocations to module description.
15242         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
15243         * modules/filemode (Makefile.am): Augment lib_SOURCES.
15244
15245 2011-05-23  Bruno Haible  <bruno@clisp.org>
15246
15247         openat-safer: Move AC_LIBOBJ invocations to module description.
15248         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
15249         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
15250
15251 2011-05-23  Bruno Haible  <bruno@clisp.org>
15252
15253         fcntl-safer: Move AC_LIBOBJ invocations to module description.
15254         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
15255         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
15256
15257 2011-05-23  Bruno Haible  <bruno@clisp.org>
15258
15259         exclude: Move AC_LIBOBJ invocations to module description.
15260         * m4/exclude.m4: Remove file.
15261         * modules/exclude (Files): Remove it.
15262         (configure.ac): Remove gl_EXCLUDE call.
15263         (Makefile.am): Augment lib_SOURCES.
15264
15265 2011-05-23  Bruno Haible  <bruno@clisp.org>
15266
15267         dirname*: Respect rules for use of AC_LIBOBJ.
15268         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
15269         invocations.
15270         * modules/dirname (Makefile.am): Augment lib_SOURCES.
15271         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
15272
15273 2011-05-23  Bruno Haible  <bruno@clisp.org>
15274
15275         dirent-safer: Move AC_LIBOBJ invocations to module description.
15276         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
15277         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
15278
15279 2011-05-23  Bruno Haible  <bruno@clisp.org>
15280
15281         crypto/des: Move AC_LIBOBJ invocations to module description.
15282         * m4/des.m4: Remove file.
15283         * modules/crypto/des (Files): Remove it.
15284         (configure.ac): Remove gl_DES call.
15285         (Makefile.am): Augment lib_SOURCES.
15286
15287 2011-05-23  Bruno Haible  <bruno@clisp.org>
15288
15289         cycle-check: Move AC_LIBOBJ invocations to module description.
15290         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
15291         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
15292
15293 2011-05-23  Bruno Haible  <bruno@clisp.org>
15294
15295         c-strtold: Move AC_LIBOBJ invocations to module description.
15296         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
15297         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
15298
15299 2011-05-23  Bruno Haible  <bruno@clisp.org>
15300
15301         c-strtod: Move AC_LIBOBJ invocations to module description.
15302         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
15303         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
15304
15305 2011-05-23  Bruno Haible  <bruno@clisp.org>
15306
15307         crc: Move AC_LIBOBJ invocations to module description.
15308         * m4/crc.m4: Remove file.
15309         * modules/crc (Files): Remove it.
15310         (configure.ac): Remove gl_CRC call.
15311         (Makefile.am): Augment lib_SOURCES.
15312
15313 2011-05-23  Bruno Haible  <bruno@clisp.org>
15314
15315         close-stream: Move AC_LIBOBJ invocations to module description.
15316         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
15317         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
15318
15319 2011-05-23  Bruno Haible  <bruno@clisp.org>
15320
15321         closeout: Move AC_LIBOBJ invocations to module description.
15322         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
15323         * modules/closeout (Makefile.am): Augment lib_SOURCES.
15324
15325 2011-05-23  Bruno Haible  <bruno@clisp.org>
15326
15327         closein: Move AC_LIBOBJ invocations to module description.
15328         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
15329         * modules/closein (Makefile.am): Augment lib_SOURCES.
15330
15331 2011-05-23  Bruno Haible  <bruno@clisp.org>
15332
15333         cloexec: Move AC_LIBOBJ invocations to module description.
15334         * m4/cloexec.m4: Remove file.
15335         * modules/cloexec (Files): Remove it.
15336         (configure.ac): Remove gl_CLOEXEC call.
15337         (Makefile.am): Augment lib_SOURCES.
15338
15339 2011-05-23  Bruno Haible  <bruno@clisp.org>
15340
15341         check-version: Move AC_LIBOBJ invocations to module description.
15342         * m4/check-version.m4: Remove file.
15343         * modules/check-version (Files): Remove it.
15344         (configure.ac): Remove gl_CHECK_VERSION call.
15345         (Makefile.am): Augment lib_SOURCES.
15346
15347 2011-05-23  Bruno Haible  <bruno@clisp.org>
15348
15349         chdir-safer: Move AC_LIBOBJ invocations to module description.
15350         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
15351         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
15352
15353 2011-05-23  Bruno Haible  <bruno@clisp.org>
15354
15355         canonicalize: Move AC_LIBOBJ invocations to module description.
15356         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
15357         AC_LIBOBJ invocation.
15358         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
15359
15360 2011-05-23  Bruno Haible  <bruno@clisp.org>
15361
15362         canon-host: Move AC_LIBOBJ invocations to module description.
15363         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
15364         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
15365         instead of gl_CANON_HOST.
15366         (Makefile.am): Augment lib_SOURCES.
15367
15368 2011-05-23  Bruno Haible  <bruno@clisp.org>
15369
15370         backupfile: Move AC_LIBOBJ invocations to module description.
15371         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
15372         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
15373
15374 2011-05-23  Bruno Haible  <bruno@clisp.org>
15375
15376         argmatch: Move AC_LIBOBJ invocations to module description.
15377         * m4/argmatch.m4: Remove file.
15378         * modules/argmatch (Files): Remove it.
15379         (configure.ac): Remove gl_ARGMATCH call.
15380         (Makefile.am): Augment lib_SOURCES.
15381
15382 2011-05-23  Bruno Haible  <bruno@clisp.org>
15383
15384         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
15385         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
15386         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
15387
15388 2011-05-23  Bruno Haible  <bruno@clisp.org>
15389
15390         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
15391         * m4/arcfour.m4: Remove file.
15392         * modules/crypto/arcfour (Files): Remove it.
15393         (configure.ac): Remove gl_ARCFOUR call.
15394         (Makefile.am): Augment lib_SOURCES.
15395
15396 2011-05-22  Bruno Haible  <bruno@clisp.org>
15397
15398         write: Move AC_LIBOBJ invocations to module description.
15399         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
15400         * modules/write (configure.ac): ... to here.
15401
15402 2011-05-22  Bruno Haible  <bruno@clisp.org>
15403
15404         wmemset: Move AC_LIBOBJ invocations to module description.
15405         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
15406         here...
15407         * modules/wmemset (configure.ac): ... to here.
15408
15409 2011-05-22  Bruno Haible  <bruno@clisp.org>
15410
15411         wmemmove: Move AC_LIBOBJ invocations to module description.
15412         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
15413         here...
15414         * modules/wmemmove (configure.ac): ... to here.
15415
15416 2011-05-22  Bruno Haible  <bruno@clisp.org>
15417
15418         wmemcpy: Move AC_LIBOBJ invocations to module description.
15419         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
15420         here...
15421         * modules/wmemcpy (configure.ac): ... to here.
15422
15423 2011-05-22  Bruno Haible  <bruno@clisp.org>
15424
15425         wmemcmp: Move AC_LIBOBJ invocations to module description.
15426         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
15427         here...
15428         * modules/wmemcmp (configure.ac): ... to here.
15429
15430 2011-05-22  Bruno Haible  <bruno@clisp.org>
15431
15432         wmemchr: Move AC_LIBOBJ invocations to module description.
15433         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
15434         here...
15435         * modules/wmemchr (configure.ac): ... to here.
15436
15437 2011-05-22  Bruno Haible  <bruno@clisp.org>
15438
15439         wcswidth: Move AC_LIBOBJ invocations to module description.
15440         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
15441         here...
15442         * modules/wcswidth (configure.ac): ... to here.
15443
15444 2011-05-22  Bruno Haible  <bruno@clisp.org>
15445
15446         wcwidth: Respect rules for use of AC_LIBOBJ.
15447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
15448         invocation from here...
15449         * modules/wcwidth (configure.ac): ... to here.
15450         (Depends-on): Update conditions.
15451
15452 2011-05-22  Bruno Haible  <bruno@clisp.org>
15453
15454         wctype: Move AC_LIBOBJ invocations to module description.
15455         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
15456         invocation from here...
15457         * modules/wctype (configure.ac): ... to here.
15458         (Depends-on): Update conditions.
15459
15460 2011-05-22  Bruno Haible  <bruno@clisp.org>
15461
15462         wctrans: Move AC_LIBOBJ invocations to module description.
15463         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
15464         invocation from here...
15465         * modules/wctrans (configure.ac): ... to here.
15466
15467 2011-05-22  Bruno Haible  <bruno@clisp.org>
15468
15469         wctomb: Move AC_LIBOBJ invocations to module description.
15470         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
15471         invocations from here...
15472         * modules/wctomb (configure.ac): ... to here.
15473
15474 2011-05-22  Bruno Haible  <bruno@clisp.org>
15475
15476         wctob: Move AC_LIBOBJ invocations to module description.
15477         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
15478         gl_PREREQ_WCTOB invocations from here...
15479         * modules/wctob (configure.ac): ... to here.
15480         (Depends-on): Update conditions.
15481
15482 2011-05-22  Bruno Haible  <bruno@clisp.org>
15483
15484         wcsxfrm: Move AC_LIBOBJ invocations to module description.
15485         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
15486         here...
15487         * modules/wcsxfrm (configure.ac): ... to here.
15488
15489 2011-05-22  Bruno Haible  <bruno@clisp.org>
15490
15491         wcstok: Move AC_LIBOBJ invocations to module description.
15492         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
15493         * modules/wcstok (configure.ac): ... to here.
15494
15495 2011-05-22  Bruno Haible  <bruno@clisp.org>
15496
15497         wcsstr: Move AC_LIBOBJ invocations to module description.
15498         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
15499         * modules/wcsstr (configure.ac): ... to here.
15500
15501 2011-05-22  Bruno Haible  <bruno@clisp.org>
15502
15503         wcsspn: Move AC_LIBOBJ invocations to module description.
15504         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
15505         * modules/wcsspn (configure.ac): ... to here.
15506
15507 2011-05-22  Bruno Haible  <bruno@clisp.org>
15508
15509         wcsrtombs: Move AC_LIBOBJ invocations to module description.
15510         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
15511         gl_PREREQ_WCSRTOMBS invocations from here...
15512         * modules/wcsrtombs (configure.ac): ... to here.
15513
15514 2011-05-22  Bruno Haible  <bruno@clisp.org>
15515
15516         wcsrchr: Move AC_LIBOBJ invocations to module description.
15517         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
15518         here...
15519         * modules/wcsrchr (configure.ac): ... to here.
15520
15521 2011-05-22  Bruno Haible  <bruno@clisp.org>
15522
15523         wcspbrk: Move AC_LIBOBJ invocations to module description.
15524         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
15525         here...
15526         * modules/wcspbrk (configure.ac): ... to here.
15527
15528 2011-05-22  Bruno Haible  <bruno@clisp.org>
15529
15530         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
15531         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
15532         gl_PREREQ_WCSNRTOMBS invocations from here...
15533         * modules/wcsnrtombs (configure.ac): ... to here.
15534
15535 2011-05-22  Bruno Haible  <bruno@clisp.org>
15536
15537         wcsnlen: Move AC_LIBOBJ invocations to module description.
15538         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
15539         here...
15540         * modules/wcsnlen (configure.ac): ... to here.
15541
15542 2011-05-22  Bruno Haible  <bruno@clisp.org>
15543
15544         wcsncpy: Move AC_LIBOBJ invocations to module description.
15545         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
15546         here...
15547         * modules/wcsncpy (configure.ac): ... to here.
15548
15549 2011-05-22  Bruno Haible  <bruno@clisp.org>
15550
15551         wcsncmp: Move AC_LIBOBJ invocations to module description.
15552         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
15553         here...
15554         * modules/wcsncmp (configure.ac): ... to here.
15555
15556 2011-05-22  Bruno Haible  <bruno@clisp.org>
15557
15558         wcsncat: Move AC_LIBOBJ invocations to module description.
15559         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
15560         here...
15561         * modules/wcsncat (configure.ac): ... to here.
15562
15563 2011-05-22  Bruno Haible  <bruno@clisp.org>
15564
15565         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
15566         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
15567         from here...
15568         * modules/wcsncasecmp (configure.ac): ... to here.
15569
15570 2011-05-22  Bruno Haible  <bruno@clisp.org>
15571
15572         wcslen: Move AC_LIBOBJ invocations to module description.
15573         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
15574         * modules/wcslen (configure.ac): ... to here.
15575
15576 2011-05-22  Bruno Haible  <bruno@clisp.org>
15577
15578         wcsdup: Move AC_LIBOBJ invocations to module description.
15579         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
15580         * modules/wcsdup (configure.ac): ... to here.
15581
15582 2011-05-22  Bruno Haible  <bruno@clisp.org>
15583
15584         wcscspn: Move AC_LIBOBJ invocations to module description.
15585         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
15586         here...
15587         * modules/wcscspn (configure.ac): ... to here.
15588
15589 2011-05-22  Bruno Haible  <bruno@clisp.org>
15590
15591         wcscpy: Move AC_LIBOBJ invocations to module description.
15592         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
15593         * modules/wcscpy (configure.ac): ... to here.
15594
15595 2011-05-22  Bruno Haible  <bruno@clisp.org>
15596
15597         wcscoll: Move AC_LIBOBJ invocations to module description.
15598         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
15599         here...
15600         * modules/wcscoll (configure.ac): ... to here.
15601
15602 2011-05-22  Bruno Haible  <bruno@clisp.org>
15603
15604         wcscmp: Move AC_LIBOBJ invocations to module description.
15605         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
15606         * modules/wcscmp (configure.ac): ... to here.
15607
15608 2011-05-22  Bruno Haible  <bruno@clisp.org>
15609
15610         wcschr: Move AC_LIBOBJ invocations to module description.
15611         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
15612         * modules/wcschr (configure.ac): ... to here.
15613
15614 2011-05-22  Bruno Haible  <bruno@clisp.org>
15615
15616         wcscat: Move AC_LIBOBJ invocations to module description.
15617         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
15618         * modules/wcscat (configure.ac): ... to here.
15619
15620 2011-05-22  Bruno Haible  <bruno@clisp.org>
15621
15622         wcscasecmp: Move AC_LIBOBJ invocations to module description.
15623         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
15624         here...
15625         * modules/wcscasecmp (configure.ac): ... to here.
15626
15627 2011-05-22  Bruno Haible  <bruno@clisp.org>
15628
15629         wcrtomb: Move AC_LIBOBJ invocations to module description.
15630         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
15631         invocations from here...
15632         * modules/wcrtomb (configure.ac): ... to here.
15633
15634 2011-05-22  Bruno Haible  <bruno@clisp.org>
15635
15636         wcpncpy: Move AC_LIBOBJ invocations to module description.
15637         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
15638         here...
15639         * modules/wcpncpy (configure.ac): ... to here.
15640
15641 2011-05-22  Bruno Haible  <bruno@clisp.org>
15642
15643         wcpcpy: Move AC_LIBOBJ invocations to module description.
15644         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
15645         * modules/wcpcpy (configure.ac): ... to here.
15646
15647 2011-05-22  Bruno Haible  <bruno@clisp.org>
15648
15649         waitpid: Move AC_LIBOBJ invocations to module description.
15650         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
15651         invocation from here...
15652         * modules/waitpid (configure.ac): ... to here.
15653
15654 2011-05-22  Bruno Haible  <bruno@clisp.org>
15655
15656         utimensat: Move AC_LIBOBJ invocations to module description.
15657         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
15658         here...
15659         * modules/utimensat (configure.ac): ... to here.
15660
15661 2011-05-22  Bruno Haible  <bruno@clisp.org>
15662
15663         usleep: Move AC_LIBOBJ invocations to module description.
15664         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
15665         here...
15666         * modules/usleep (configure.ac): ... to here.
15667
15668 2011-05-22  Bruno Haible  <bruno@clisp.org>
15669
15670         unlockpt: Move AC_LIBOBJ invocations to module description.
15671         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
15672         gl_PREREQ_UNLOCKPT invocations from here...
15673         * modules/unlockpt (configure.ac): ... to here.
15674
15675 2011-05-22  Bruno Haible  <bruno@clisp.org>
15676
15677         unlink: Respect rules for use of AC_LIBOBJ.
15678         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
15679         * modules/unlink (configure.ac): ... to here.
15680
15681 2011-05-22  Bruno Haible  <bruno@clisp.org>
15682
15683         uname: Move AC_LIBOBJ invocations to module description.
15684         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
15685         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
15686         here...
15687         * modules/uname (configure.ac): ... to here.
15688
15689 2011-05-22  Bruno Haible  <bruno@clisp.org>
15690
15691         ttyname_r: Move AC_LIBOBJ invocations to module description.
15692         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
15693         gl_PREREQ_TTYNAME_R invocations from here...
15694         * modules/ttyname_r (configure.ac): ... to here.
15695
15696 2011-05-22  Bruno Haible  <bruno@clisp.org>
15697
15698         tsearch: Move AC_LIBOBJ invocations to module description.
15699         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
15700         invocations from here...
15701         * modules/tsearch (configure.ac): ... to here.
15702
15703 2011-05-22  Bruno Haible  <bruno@clisp.org>
15704
15705         towctrans: Move AC_LIBOBJ invocations to module description.
15706         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
15707         AC_LIBOBJ invocation from here...
15708         * modules/towctrans (configure.ac): ... to here.
15709
15710 2011-05-22  Bruno Haible  <bruno@clisp.org>
15711
15712         tmpfile: Move AC_LIBOBJ invocations to module description.
15713         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
15714         invocations from here...
15715         * modules/tmpfile (configure.ac): ... to here.
15716
15717 2011-05-22  Bruno Haible  <bruno@clisp.org>
15718
15719         times: Move AC_LIBOBJ invocations to module description.
15720         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
15721         * modules/times (configure.ac): ... to here.
15722
15723 2011-05-22  Bruno Haible  <bruno@clisp.org>
15724
15725         time_r: Move AC_LIBOBJ invocations to module description.
15726         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
15727         invocations from here...
15728         * modules/time_r (configure.ac): ... to here.
15729
15730 2011-05-22  Bruno Haible  <bruno@clisp.org>
15731
15732         timegm: Move AC_LIBOBJ invocations to module description.
15733         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
15734         invocations from here...
15735         * modules/timegm (configure.ac): ... to here.
15736
15737 2011-05-22  Bruno Haible  <bruno@clisp.org>
15738
15739         tcgetsid: Move AC_LIBOBJ invocations to module description.
15740         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
15741         and gl_PREREQ_TCGETSID invocations from here...
15742         * modules/tcgetsid (configure.ac): ... to here.
15743         (Depends-on): Update conditions.
15744
15745 2011-05-22  Bruno Haible  <bruno@clisp.org>
15746
15747         symlinkat: Move AC_LIBOBJ invocations to module description.
15748         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
15749         here...
15750         * modules/symlinkat (configure.ac): ... to here.
15751
15752 2011-05-22  Bruno Haible  <bruno@clisp.org>
15753
15754         symlink: Move AC_LIBOBJ invocations to module description.
15755         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
15756         here...
15757         * modules/symlink (configure.ac): ... to here.
15758
15759 2011-05-22  Bruno Haible  <bruno@clisp.org>
15760
15761         strverscmp: Move AC_LIBOBJ invocations to module description.
15762         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
15763         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
15764         from here...
15765         * modules/strverscmp (configure.ac): ... to here.
15766
15767 2011-05-22  Bruno Haible  <bruno@clisp.org>
15768
15769         strtok_r: Move AC_LIBOBJ invocations to module description.
15770         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
15771         and gl_PREREQ_STRTOK_R invocations from here...
15772         * modules/strtok_r (configure.ac): ... to here.
15773         (Depends-on): Update conditions.
15774
15775 2011-05-22  Bruno Haible  <bruno@clisp.org>
15776
15777         strtoumax: Move AC_LIBOBJ invocations to module description.
15778         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
15779         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
15780         from here...
15781         * modules/strtoumax (configure.ac): ... to here.
15782
15783 2011-05-22  Bruno Haible  <bruno@clisp.org>
15784
15785         strtoimax: Move AC_LIBOBJ invocations to module description.
15786         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
15787         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
15788         from here...
15789         * modules/strtoimax (configure.ac): ... to here.
15790
15791 2011-05-22  Bruno Haible  <bruno@clisp.org>
15792
15793         strtoull: Move AC_LIBOBJ invocations to module description.
15794         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
15795         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
15796         from here...
15797         * modules/strtoull (configure.ac): ... to here.
15798
15799 2011-05-22  Bruno Haible  <bruno@clisp.org>
15800
15801         strtoll: Move AC_LIBOBJ invocations to module description.
15802         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
15803         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
15804         here...
15805         * modules/strtoll (configure.ac): ... to here.
15806
15807 2011-05-22  Bruno Haible  <bruno@clisp.org>
15808
15809         strtoul: Move AC_LIBOBJ invocations to module description.
15810         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
15811         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15812         * modules/strtoul (configure.ac): ... to here.
15813
15814 2011-05-22  Bruno Haible  <bruno@clisp.org>
15815
15816         strtol: Move AC_LIBOBJ invocations to module description.
15817         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
15818         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15819         * modules/strtol (configure.ac): ... to here.
15820
15821 2011-05-22  Bruno Haible  <bruno@clisp.org>
15822
15823         strtod: Move AC_LIBOBJ invocations to module description.
15824         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
15825         invocations from here...
15826         * modules/strtod (configure.ac): ... to here.
15827
15828 2011-05-22  Bruno Haible  <bruno@clisp.org>
15829
15830         strstr*: Move AC_LIBOBJ invocations to module description.
15831         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
15832         invocations from here...
15833         * modules/strstr-simple (configure.ac): ... to here.
15834         * modules/strstr (configure.ac): ... and here.
15835
15836 2011-05-22  Bruno Haible  <bruno@clisp.org>
15837
15838         strsignal: Move AC_LIBOBJ invocations to module description.
15839         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
15840         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
15841         * modules/strsignal (configure.ac): ... to here.
15842         (Depends-on): Update conditions.
15843
15844 2011-05-22  Bruno Haible  <bruno@clisp.org>
15845
15846         strsep: Move AC_LIBOBJ invocations to module description.
15847         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
15848         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
15849         here...
15850         * modules/strsep (configure.ac): ... to here.
15851
15852 2011-05-22  Bruno Haible  <bruno@clisp.org>
15853
15854         strptime: Move AC_LIBOBJ invocations to module description.
15855         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
15856         gl_PREREQ_STRPTIME invocations from here...
15857         * modules/strptime (configure.ac): ... to here.
15858
15859 2011-05-22  Bruno Haible  <bruno@clisp.org>
15860
15861         strpbrk: Move AC_LIBOBJ invocations to module description.
15862         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
15863         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
15864         here...
15865         * modules/strpbrk (configure.ac): ... to here.
15866
15867 2011-05-22  Bruno Haible  <bruno@clisp.org>
15868
15869         strnlen: Move AC_LIBOBJ invocations to module description.
15870         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
15871         invocations from here...
15872         * modules/strnlen (configure.ac): ... to here.
15873
15874 2011-05-22  Bruno Haible  <bruno@clisp.org>
15875
15876         strndup: Move AC_LIBOBJ invocations to module description.
15877         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
15878         invocations from here...
15879         * modules/strndup (configure.ac): ... to here.
15880         (Depends-on): Update conditions.
15881
15882 2011-05-22  Bruno Haible  <bruno@clisp.org>
15883
15884         strncat: Move AC_LIBOBJ invocations to module description.
15885         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
15886         invocations from here...
15887         * modules/strncat (configure.ac): ... to here.
15888
15889 2011-05-22  Bruno Haible  <bruno@clisp.org>
15890
15891         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
15892         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
15893         invocations from here...
15894         * modules/strdup (configure.ac): ... to here.
15895         * modules/strdup-posix (configure.ac): ... and here.
15896
15897 2011-05-22  Bruno Haible  <bruno@clisp.org>
15898
15899         strcspn: Move AC_LIBOBJ invocations to module description.
15900         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
15901         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
15902         here...
15903         * modules/strcspn (configure.ac): ... to here.
15904
15905 2011-05-22  Bruno Haible  <bruno@clisp.org>
15906
15907         strchrnul: Move AC_LIBOBJ invocations to module description.
15908         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
15909         gl_PREREQ_STRCHRNUL invocations from here...
15910         * modules/strchrnul (configure.ac): ... to here.
15911
15912 2011-05-22  Bruno Haible  <bruno@clisp.org>
15913
15914         strcasestr*: Move AC_LIBOBJ invocations to module description.
15915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15916         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
15917         * modules/strcasestr-simple (configure.ac): ... to here.
15918         * modules/strcasestr (configure.ac): ... and here.
15919
15920 2011-05-22  Bruno Haible  <bruno@clisp.org>
15921
15922         strcase: Move AC_LIBOBJ invocations to module description.
15923         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
15924         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
15925         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
15926         gl_PREREQ_STRNCASECMP invocations from here...
15927         * modules/strcase (configure.ac): ... to here.
15928
15929 2011-05-22  Bruno Haible  <bruno@clisp.org>
15930
15931         stpncpy: Move AC_LIBOBJ invocations to module description.
15932         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
15933         here...
15934         * modules/stpncpy (configure.ac): ... to here.
15935
15936 2011-05-22  Bruno Haible  <bruno@clisp.org>
15937
15938         stpcpy: Move AC_LIBOBJ invocations to module description.
15939         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
15940         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
15941         here...
15942         * modules/stpcpy (configure.ac): ... to here.
15943
15944 2011-05-21  Bruno Haible  <bruno@clisp.org>
15945
15946         stat: Move AC_LIBOBJ invocations to module description.
15947         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15948         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15949         here...
15950         * modules/stat (configure.ac): ... to here.
15951
15952 2011-05-21  Bruno Haible  <bruno@clisp.org>
15953
15954         sleep: Move AC_LIBOBJ invocations to module description.
15955         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15956         * modules/sleep (configure.ac): ... to here.
15957
15958 2011-05-21  Bruno Haible  <bruno@clisp.org>
15959
15960         signbit: Move AC_LIBOBJ invocations to module description.
15961         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15962         * modules/signbit (configure.ac): ... to here.
15963
15964 2011-05-21  Bruno Haible  <bruno@clisp.org>
15965
15966         sigprocmask: Move AC_LIBOBJ invocations to module description.
15967         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15968         gl_PREREQ_SIGPROMASK invocations from here...
15969         * modules/sigprocmask (configure.ac): ... to here.
15970
15971 2011-05-21  Bruno Haible  <bruno@clisp.org>
15972
15973         sigaction: Move AC_LIBOBJ invocations to module description.
15974         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15975         gl_PREREQ_SIGACTION invocations from here...
15976         * modules/sigaction (configure.ac): ... to here.
15977
15978 2011-05-21  Bruno Haible  <bruno@clisp.org>
15979
15980         sig2str: Move AC_LIBOBJ invocations to module description.
15981         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15982         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15983         here...
15984         * modules/sig2str (configure.ac): ... to here.
15985
15986 2011-05-21  Bruno Haible  <bruno@clisp.org>
15987
15988         setlocale: Move AC_LIBOBJ invocations to module description.
15989         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15990         gl_PREREQ_SETLOCALE invocations from here...
15991         * modules/setlocale (configure.ac): ... to here.
15992
15993 2011-05-21  Bruno Haible  <bruno@clisp.org>
15994
15995         unsetenv: Move AC_LIBOBJ invocations to module description.
15996         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15997         and gl_PREREQ_UNSETENV invocations from here...
15998         * modules/unsetenv (configure.ac): ... to here.
15999         (Depends-on): Update.
16000
16001 2011-05-21  Bruno Haible  <bruno@clisp.org>
16002
16003         setenv: Move AC_LIBOBJ invocations to module description.
16004         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
16005         here...
16006         * modules/setenv (configure.ac): ... to here.
16007
16008 2011-05-21  Bruno Haible  <bruno@clisp.org>
16009
16010         selinux-h: Move AC_LIBOBJ invocations to module description.
16011         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
16012         AC_LIBOBJ invocation from here...
16013         * modules/selinux-h (configure.ac): ... to here.
16014
16015 2011-05-21  Bruno Haible  <bruno@clisp.org>
16016
16017         select: Respect rules for use of AC_LIBOBJ.
16018         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
16019         here...
16020         * modules/select (configure.ac): ... to here.
16021
16022 2011-05-21  Bruno Haible  <bruno@clisp.org>
16023
16024         scandir: Move AC_LIBOBJ invocations to module description.
16025         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
16026         invocations from here...
16027         * modules/scandir (configure.ac): ... to here.
16028
16029 2011-05-21  Bruno Haible  <bruno@clisp.org>
16030
16031         rpmatch: Move AC_LIBOBJ invocations to module description.
16032         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
16033         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
16034         here...
16035         * modules/rpmatch (configure.ac): ... to here.
16036
16037 2011-05-21  Bruno Haible  <bruno@clisp.org>
16038
16039         rmdir: Respect rules for use of AC_LIBOBJ.
16040         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
16041         * modules/rmdir (configure.ac): ... to here.
16042
16043 2011-05-21  Bruno Haible  <bruno@clisp.org>
16044
16045         renameat: Move AC_LIBOBJ invocations to module description.
16046         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
16047         here...
16048         * modules/renameat (configure.ac): ... to here.
16049
16050 2011-05-21  Bruno Haible  <bruno@clisp.org>
16051
16052         rename: Respect rules for use of AC_LIBOBJ.
16053         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
16054         here...
16055         * modules/rename (configure.ac): ... to here.
16056
16057 2011-05-21  Bruno Haible  <bruno@clisp.org>
16058
16059         remove: Move AC_LIBOBJ invocations to module description.
16060         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
16061         here...
16062         * modules/remove (configure.ac): ... to here.
16063
16064 2011-05-21  Bruno Haible  <bruno@clisp.org>
16065
16066         relocatable-lib: Move AC_LIBOBJ invocations to module description.
16067         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
16068         macro.
16069         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
16070         * modules/relocatable-lib (configure.ac): ... to here.
16071         * modules/relocatable-prog-wrapper (configure.ac): Invoke
16072         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
16073
16074 2011-05-21  Bruno Haible  <bruno@clisp.org>
16075
16076         relocatable-prog: Move AC_LIBOBJ invocations to module description.
16077         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
16078         here...
16079         * modules/relocatable-prog (configure.ac): ... to here.
16080
16081 2011-05-21  Bruno Haible  <bruno@clisp.org>
16082
16083         regex: Move AC_LIBOBJ invocations to module description.
16084         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
16085         invocations from here...
16086         * modules/regex (configure.ac): ... to here.
16087
16088 2011-05-21  Bruno Haible  <bruno@clisp.org>
16089
16090         realloc-*: Move AC_LIBOBJ invocations to module description.
16091         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
16092         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
16093         AC_LIBOBJ invocations from here...
16094         * modules/realloc-gnu (configure.ac): ... to here.
16095         * modules/realloc-posix (configure.ac): ... and here.
16096
16097 2011-05-21  Bruno Haible  <bruno@clisp.org>
16098
16099         readutmp: Move AC_LIBOBJ invocations to module description.
16100         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
16101         * modules/readutmp (configure.ac): ... to here.
16102
16103 2011-05-21  Bruno Haible  <bruno@clisp.org>
16104
16105         readlinkat: Move AC_LIBOBJ invocations to module description.
16106         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
16107         here...
16108         * modules/readlinkat (configure.ac): ... to here.
16109
16110 2011-05-21  Bruno Haible  <bruno@clisp.org>
16111
16112         readlink: Move AC_LIBOBJ invocations to module description.
16113         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
16114         gl_PREREQ_READLINK invocations from here...
16115         * modules/readlink (configure.ac): ... to here.
16116
16117 2011-05-21  Bruno Haible  <bruno@clisp.org>
16118
16119         readline: Move AC_LIBOBJ invocations to module description.
16120         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
16121         gl_PREREQ_READLINE invocations from here...
16122         * modules/readline (configure.ac): ... to here.
16123
16124 2011-05-21  Bruno Haible  <bruno@clisp.org>
16125
16126         read: Move AC_LIBOBJ invocations to module description.
16127         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
16128         * modules/read (configure.ac): ... to here.
16129
16130 2011-05-21  Bruno Haible  <bruno@clisp.org>
16131
16132         rawmemchr: Move AC_LIBOBJ invocations to module description.
16133         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
16134         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
16135         from here...
16136         * modules/rawmemchr (configure.ac): ... to here.
16137
16138 2011-05-21  Bruno Haible  <bruno@clisp.org>
16139
16140         random_r: Move AC_LIBOBJ invocations to module description.
16141         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
16142         gl_PREREQ_RANDOM_R invocations from here...
16143         * modules/random_r (configure.ac): ... to here.
16144
16145 2011-05-21  Bruno Haible  <bruno@clisp.org>
16146
16147         pwrite: Move AC_LIBOBJ invocations to module description.
16148         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
16149         * modules/pwrite (configure.ac): ... to here.
16150
16151 2011-05-21  Bruno Haible  <bruno@clisp.org>
16152
16153         putenv: Move AC_LIBOBJ invocations to module description.
16154         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
16155         * modules/putenv (configure.ac): ... to here.
16156
16157 2011-05-21  Bruno Haible  <bruno@clisp.org>
16158
16159         login_tty: Move AC_LIBOBJ invocations to module description.
16160         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
16161         * modules/login_tty (configure.ac): ... to here.
16162
16163 2011-05-21  Bruno Haible  <bruno@clisp.org>
16164
16165         openpty: Move AC_LIBOBJ invocations to module description.
16166         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
16167         * modules/openpty (configure.ac): ... to here.
16168
16169 2011-05-21  Bruno Haible  <bruno@clisp.org>
16170
16171         forkpty: Move AC_LIBOBJ invocations to module description.
16172         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
16173         * modules/forkpty (configure.ac): ... to here.
16174
16175 2011-05-21  Bruno Haible  <bruno@clisp.org>
16176
16177         ptsname: Move AC_LIBOBJ invocations to module description.
16178         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
16179         invocations from here...
16180         * modules/ptsname (configure.ac): ... to here.
16181
16182 2011-05-21  Bruno Haible  <bruno@clisp.org>
16183
16184         pread: Move AC_LIBOBJ invocations to module description.
16185         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
16186         * modules/pread (configure.ac): ... to here.
16187
16188 2011-05-21  Bruno Haible  <bruno@clisp.org>
16189
16190         posix_spawn*: Move AC_LIBOBJ invocations to module description.
16191         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
16192         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
16193         * modules/posix_spawn (configure.ac): ... to here.
16194         * modules/posix_spawnp (configure.ac): ... and here.
16195
16196 2011-05-21  Bruno Haible  <bruno@clisp.org>
16197
16198         popen: Move AC_LIBOBJ invocations to module description.
16199         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
16200         invocations from here...
16201         * modules/popen (configure.ac): ... to here.
16202
16203 2011-05-21  Bruno Haible  <bruno@clisp.org>
16204
16205         poll: Move AC_LIBOBJ invocations to module description.
16206         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
16207         invocations from here...
16208         * modules/poll (configure.ac): ... to here.
16209
16210 2011-05-21  Bruno Haible  <bruno@clisp.org>
16211
16212         pipe-posix: Move AC_LIBOBJ invocations to module description.
16213         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
16214         * modules/pipe-posix (configure.ac): ... to here.
16215
16216 2011-05-21  Bruno Haible  <bruno@clisp.org>
16217
16218         openat: Respect rules for use of AC_LIBOBJ.
16219         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
16220         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
16221         * modules/openat (configure.ac): ... to here.
16222
16223 2011-05-21  Bruno Haible  <bruno@clisp.org>
16224
16225         obstack-printf*: Move AC_LIBOBJ invocations to module description.
16226         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
16227         invocation from here...
16228         * modules/obstack-printf (configure.ac): ... to here.
16229         * modules/obstack-printf-posix (configure.ac): ... and here.
16230
16231 2011-05-21  Bruno Haible  <bruno@clisp.org>
16232
16233         nl_langinfo: Move AC_LIBOBJ invocations to module description.
16234         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
16235         from here...
16236         * modules/nl_langinfo (configure.ac): ... to here.
16237
16238 2011-05-21  Bruno Haible  <bruno@clisp.org>
16239
16240         nanosleep: Move AC_LIBOBJ invocations to module description.
16241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
16242         gl_PREREQ_NANOSLEEP invocations from here...
16243         * modules/nanosleep (configure.ac): ... to here.
16244
16245 2011-05-21  Bruno Haible  <bruno@clisp.org>
16246
16247         mountlist: Move AC_LIBOBJ invocations to module description.
16248         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
16249         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
16250         * modules/mountlist (configure.ac): ... to here.
16251
16252 2011-05-21  Bruno Haible  <bruno@clisp.org>
16253
16254         mktime: Respect rules for use of AC_LIBOBJ.
16255         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
16256         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
16257         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
16258         (gl_FUNC_MKTIME_INTERNAL): ... and here...
16259         * modules/mktime (configure.ac): ... to here.
16260         * modules/mktime-internal (configure.ac): ... and here.
16261         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
16262
16263 2011-05-21  Bruno Haible  <bruno@clisp.org>
16264
16265         mkstemps: Move AC_LIBOBJ invocations to module description.
16266         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
16267         here...
16268         * modules/mkstemps (configure.ac): ... to here.
16269
16270 2011-05-21  Bruno Haible  <bruno@clisp.org>
16271
16272         mkstemp: Move AC_LIBOBJ invocations to module description.
16273         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
16274         gl_PREREQ_MKSTEMP invocations from here...
16275         * modules/mkstemp (configure.ac): ... to here.
16276
16277 2011-05-21  Bruno Haible  <bruno@clisp.org>
16278
16279         mkostemps: Move AC_LIBOBJ invocations to module description.
16280         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
16281         here...
16282         * modules/mkostemps (configure.ac): ... to here.
16283
16284 2011-05-21  Bruno Haible  <bruno@clisp.org>
16285
16286         mkostemp: Move AC_LIBOBJ invocations to module description.
16287         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
16288         gl_PREREQ_MKOSTEMP invocations from here...
16289         * modules/mkostemp (configure.ac): ... to here.
16290
16291 2011-05-21  Bruno Haible  <bruno@clisp.org>
16292
16293         mknod: Move AC_LIBOBJ invocations to module description.
16294         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
16295         * modules/mknod (configure.ac): ... to here.
16296
16297 2011-05-21  Bruno Haible  <bruno@clisp.org>
16298
16299         mkfifoat: Move AC_LIBOBJ invocations to module description.
16300         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
16301         here...
16302         * modules/mkfifoat (configure.ac): ... to here.
16303
16304 2011-05-21  Bruno Haible  <bruno@clisp.org>
16305
16306         mkfifo: Respect rules for use of AC_LIBOBJ.
16307         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
16308         here...
16309         * modules/mkfifo (configure.ac): ... to here.
16310
16311 2011-05-21  Bruno Haible  <bruno@clisp.org>
16312
16313         mkdtemp: Move AC_LIBOBJ invocations to module description.
16314         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
16315         invocations from here...
16316         * modules/mkdtemp (configure.ac): ... to here.
16317
16318 2011-05-21  Bruno Haible  <bruno@clisp.org>
16319
16320         mkdir: Move AC_LIBOBJ invocations to module description.
16321         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
16322         * modules/mkdir (configure.ac): ... to here.
16323
16324 2011-05-21  Bruno Haible  <bruno@clisp.org>
16325
16326         memset: Move AC_LIBOBJ invocations to module description.
16327         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
16328         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
16329         here...
16330         * modules/memset (configure.ac): ... to here.
16331
16332 2011-05-21  Bruno Haible  <bruno@clisp.org>
16333
16334         memrchr: Move AC_LIBOBJ invocations to module description.
16335         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
16336         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
16337         here...
16338         * modules/memrchr (configure.ac): ... to here.
16339
16340 2011-05-21  Bruno Haible  <bruno@clisp.org>
16341
16342         mempcpy: Move AC_LIBOBJ invocations to module description.
16343         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
16344         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
16345         here...
16346         * modules/mempcpy (configure.ac): ... to here.
16347
16348 2011-05-21  Bruno Haible  <bruno@clisp.org>
16349
16350         memmove: Move AC_LIBOBJ invocations to module description.
16351         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
16352         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
16353         here...
16354         * modules/memmove (configure.ac): ... to here.
16355
16356 2011-05-21  Bruno Haible  <bruno@clisp.org>
16357
16358         memmem*: Move AC_LIBOBJ invocations to module description.
16359         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
16360         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
16361         here...
16362         (gl_FUNC_MEMMEM): ... and here...
16363         * modules/memmem-simple (configure.ac): ... to here.
16364         * modules/memmem (configure.ac): ... and here.
16365
16366 2011-05-21  Bruno Haible  <bruno@clisp.org>
16367
16368         memcpy: Move AC_LIBOBJ invocations to module description.
16369         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
16370         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
16371         here...
16372         * modules/memcpy (configure.ac): ... to here.
16373
16374 2011-05-21  Bruno Haible  <bruno@clisp.org>
16375
16376         memcmp: Simplify autoconf macro.
16377         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
16378         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
16379         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
16380
16381 2011-05-21  Bruno Haible  <bruno@clisp.org>
16382
16383         memcmp: Move AC_LIBOBJ invocations to module description.
16384         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
16385         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
16386         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
16387         * modules/memcmp (configure.ac): ... to here.
16388         (Depends-on): Update conditions.
16389
16390 2011-05-21  Bruno Haible  <bruno@clisp.org>
16391
16392         memchr: Respect rules for use of AC_LIBOBJ.
16393         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
16394         invocations from here...
16395         * modules/memchr (configure.ac): ... to here.
16396
16397 2011-05-21  Bruno Haible  <bruno@clisp.org>
16398
16399         mbtowc: Move AC_LIBOBJ invocations to module description.
16400         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
16401         invocations from here...
16402         * modules/mbtowc (configure.ac): ... to here.
16403
16404 2011-05-21  Bruno Haible  <bruno@clisp.org>
16405
16406         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
16407         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
16408         gl_PREREQ_MBSRTOWCS invocations from here...
16409         * modules/mbsrtowcs (configure.ac): ... to here.
16410
16411 2011-05-21  Bruno Haible  <bruno@clisp.org>
16412
16413         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
16414         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
16415         gl_PREREQ_MBSNRTOWCS invocations from here...
16416         * modules/mbsnrtowcs (configure.ac): ... to here.
16417
16418 2011-05-21  Bruno Haible  <bruno@clisp.org>
16419
16420         mbsinit: Move AC_LIBOBJ invocations to module description.
16421         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
16422         invocations from here...
16423         * modules/mbsinit (configure.ac): ... to here.
16424
16425 2011-05-21  Bruno Haible  <bruno@clisp.org>
16426
16427         mbrlen: Move AC_LIBOBJ invocations to module description.
16428         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
16429         invocations from here...
16430         * modules/mbrlen (configure.ac): ... to here.
16431
16432 2011-05-21  Bruno Haible  <bruno@clisp.org>
16433
16434         mbrtowc: Respect rules for use of AC_LIBOBJ.
16435         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
16436         invocations from here...
16437         * modules/mbrtowc (configure.ac): ... to here.
16438
16439 2011-05-21  Bruno Haible  <bruno@clisp.org>
16440
16441         malloc-*: Move AC_LIBOBJ invocations to module description.
16442         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
16443         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
16444         AC_LIBOBJ invocations from here...
16445         * modules/malloc-gnu (configure.ac): ... to here.
16446         * modules/malloc-posix (configure.ac): ... and here.
16447
16448 2011-05-21  Bruno Haible  <bruno@clisp.org>
16449
16450         lstat, openat: Respect rules for use of AC_LIBOBJ.
16451         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
16452         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
16453         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
16454         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
16455         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
16456         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
16457         here.
16458         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
16459
16460 2011-05-21  Bruno Haible  <bruno@clisp.org>
16461
16462         lseek: Move AC_LIBOBJ invocations to module description.
16463         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
16464         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16465         * modules/lseek (configure.ac): ... to here.
16466
16467 2011-05-21  Bruno Haible  <bruno@clisp.org>
16468
16469         linkat: Move AC_LIBOBJ invocations to module description.
16470         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
16471         here...
16472         * modules/linkat (configure.ac): ... to here.
16473
16474 2011-05-21  Bruno Haible  <bruno@clisp.org>
16475
16476         link: Respect rules for use of AC_LIBOBJ.
16477         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
16478         * modules/link (configure.ac): ... to here.
16479
16480 2011-05-21  Bruno Haible  <bruno@clisp.org>
16481
16482         lchown: Move AC_LIBOBJ invocations to module description.
16483         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16484         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
16485         * modules/lchown (configure.ac): ... to here.
16486
16487 2011-05-21  Bruno Haible  <bruno@clisp.org>
16488
16489         iswctype: Move AC_LIBOBJ invocations to module description.
16490         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
16491         here...
16492         * modules/iswctype (configure.ac): ... to here.
16493
16494 2011-05-21  Bruno Haible  <bruno@clisp.org>
16495
16496         iswblank: Move AC_LIBOBJ invocations to module description.
16497         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
16498         here...
16499         * modules/iswblank (configure.ac): ... to here.
16500
16501 2011-05-21  Bruno Haible  <bruno@clisp.org>
16502
16503         atanl: Move AC_LIBOBJ invocations to module description.
16504         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
16505         * modules/atanl (configure.ac): ... to here.
16506
16507 2011-05-21  Bruno Haible  <bruno@clisp.org>
16508
16509         acosl: Move AC_LIBOBJ invocations to module description.
16510         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
16511         * modules/acosl (configure.ac): ... to here.
16512
16513 2011-05-21  Bruno Haible  <bruno@clisp.org>
16514
16515         asinl: Respect rules for use of AC_LIBOBJ.
16516         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
16517         * modules/asinl (configure.ac): ... to here.
16518
16519 2011-05-21  Bruno Haible  <bruno@clisp.org>
16520
16521         tanl: Move AC_LIBOBJ invocations to module description.
16522         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
16523         * modules/tanl (configure.ac): ... to here.
16524
16525 2011-05-21  Bruno Haible  <bruno@clisp.org>
16526
16527         cosl: Move AC_LIBOBJ invocations to module description.
16528         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
16529         * modules/cosl (configure.ac): ... to here.
16530
16531 2011-05-21  Bruno Haible  <bruno@clisp.org>
16532
16533         sinl: Move AC_LIBOBJ invocations to module description.
16534         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
16535         * modules/sinl (configure.ac): ... to here.
16536
16537 2011-05-21  Bruno Haible  <bruno@clisp.org>
16538
16539         logl: Move AC_LIBOBJ invocations to module description.
16540         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
16541         * modules/logl (configure.ac): ... to here.
16542
16543 2011-05-21  Bruno Haible  <bruno@clisp.org>
16544
16545         expl: Move AC_LIBOBJ invocations to module description.
16546         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
16547         * modules/expl (configure.ac): ... to here.
16548
16549 2011-05-21  Bruno Haible  <bruno@clisp.org>
16550
16551         roundl: Move AC_LIBOBJ invocations to module description.
16552         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
16553         * modules/roundl (configure.ac): ... to here.
16554
16555 2011-05-21  Bruno Haible  <bruno@clisp.org>
16556
16557         round: Move AC_LIBOBJ invocations to module description.
16558         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
16559         * modules/round (configure.ac): ... to here.
16560
16561 2011-05-21  Bruno Haible  <bruno@clisp.org>
16562
16563         roundf: Move AC_LIBOBJ invocations to module description.
16564         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
16565         * modules/roundf (configure.ac): ... to here.
16566
16567 2011-05-21  Bruno Haible  <bruno@clisp.org>
16568
16569         truncl: Move AC_LIBOBJ invocations to module description.
16570         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
16571         * modules/truncl (configure.ac): ... to here.
16572
16573 2011-05-21  Bruno Haible  <bruno@clisp.org>
16574
16575         trunc: Move AC_LIBOBJ invocations to module description.
16576         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
16577         * modules/trunc (configure.ac): ... to here.
16578
16579 2011-05-21  Bruno Haible  <bruno@clisp.org>
16580
16581         truncf: Move AC_LIBOBJ invocations to module description.
16582         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
16583         * modules/truncf (configure.ac): ... to here.
16584
16585 2011-05-21  Bruno Haible  <bruno@clisp.org>
16586
16587         ceill: Move AC_LIBOBJ invocations to module description.
16588         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
16589         * modules/ceill (configure.ac): ... to here.
16590
16591 2011-05-21  Bruno Haible  <bruno@clisp.org>
16592
16593         ceil: Move AC_LIBOBJ invocations to module description.
16594         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
16595         * modules/ceil (configure.ac): ... to here.
16596
16597 2011-05-21  Bruno Haible  <bruno@clisp.org>
16598
16599         ceilf: Move AC_LIBOBJ invocations to module description.
16600         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
16601         * modules/ceilf (configure.ac): ... to here.
16602
16603 2011-05-21  Bruno Haible  <bruno@clisp.org>
16604
16605         floorl: Respect rules for use of AC_LIBOBJ.
16606         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
16607         * modules/floorl (configure.ac): ... to here.
16608
16609 2011-05-21  Bruno Haible  <bruno@clisp.org>
16610
16611         floor: Respect rules for use of AC_LIBOBJ.
16612         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
16613         * modules/floor (configure.ac): ... to here.
16614
16615 2011-05-21  Bruno Haible  <bruno@clisp.org>
16616
16617         floorf: Move AC_LIBOBJ invocations to module description.
16618         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
16619         * modules/floorf (configure.ac): ... to here.
16620
16621 2011-05-20  Bruno Haible  <bruno@clisp.org>
16622
16623         sqrtl: Respect rules for use of AC_LIBOBJ.
16624         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
16625         * modules/sqrtl (configure.ac): ... to here.
16626
16627 2011-05-20  Bruno Haible  <bruno@clisp.org>
16628
16629         ldexpl: Respect rules for use of AC_LIBOBJ.
16630         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
16631         * modules/ldexpl (configure.ac): ... to here.
16632
16633 2011-05-20  Bruno Haible  <bruno@clisp.org>
16634
16635         frexpl*: Respect rules for use of AC_LIBOBJ.
16636         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
16637         invocation from here...
16638         * modules/frexpl (configure.ac): ... to here.
16639         * modules/frexpl-nolibm (configure.ac): ... and here.
16640
16641 2011-05-20  Bruno Haible  <bruno@clisp.org>
16642
16643         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
16644         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
16645         invocation from here...
16646         * modules/frexp (configure.ac): ... to here.
16647         * modules/frexp-nolibm (configure.ac): ... and here.
16648
16649 2011-05-20  Bruno Haible  <bruno@clisp.org>
16650
16651         isnan: Respect rules for use of AC_LIBOBJ.
16652         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
16653         invocations here.
16654         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
16655         REPLACE_ISNAN.
16656         * modules/isnand (configure.ac): Likewise.
16657         * modules/isnanl (configure.ac): Likewise.
16658
16659 2011-05-20  Bruno Haible  <bruno@clisp.org>
16660
16661         isnanl*: Respect rules for use of AC_LIBOBJ.
16662         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
16663         invocation from here...
16664         * modules/isnanl (configure.ac): ... to here.
16665         * modules/isnanl-nolibm (configure.ac): ... and here.
16666
16667 2011-05-20  Bruno Haible  <bruno@clisp.org>
16668
16669         isnand*: Move AC_LIBOBJ invocations to module description.
16670         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
16671         invocation from here...
16672         * modules/isnand (configure.ac): ... to here.
16673         * modules/isnand-nolibm (configure.ac): ... and here.
16674
16675 2011-05-20  Bruno Haible  <bruno@clisp.org>
16676
16677         isnanf*: Move AC_LIBOBJ invocations to module description.
16678         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
16679         invocation from here...
16680         * modules/isnanf (configure.ac): ... to here.
16681         * modules/isnanf-nolibm (configure.ac): ... and here.
16682
16683 2011-05-20  Bruno Haible  <bruno@clisp.org>
16684
16685         isnan*: Separate the AC_LIBOBJ invocations.
16686         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
16687         AC_LIBOBJ invocation.
16688         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
16689         here.
16690         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
16691         AC_LIBOBJ invocation.
16692         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
16693         here.
16694         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
16695         AC_LIBOBJ invocation.
16696         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
16697         here.
16698         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
16699
16700 2011-05-08  Bruno Haible  <bruno@clisp.org>
16701
16702         isinf: Move AC_LIBOBJ invocations to module description.
16703         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
16704         * modules/isinf (configure.ac): ... to here.
16705
16706 2011-05-08  Bruno Haible  <bruno@clisp.org>
16707
16708         isfinite: Move AC_LIBOBJ invocations to module description.
16709         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
16710         * modules/isfinite (configure.ac): ... to here.
16711
16712 2011-05-08  Bruno Haible  <bruno@clisp.org>
16713
16714         isblank: Move AC_LIBOBJ invocations to module description.
16715         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
16716         here...
16717         * modules/isblank (configure.ac): ... to here.
16718
16719 2011-05-08  Bruno Haible  <bruno@clisp.org>
16720
16721         isapipe: Move AC_LIBOBJ invocations to module description.
16722         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
16723         gl_PREREQ_ISAPIPE invocations from here...
16724         * modules/isapipe (configure.ac): ... to here.
16725         (Depends-on): Update condition.
16726
16727 2011-05-08  Bruno Haible  <bruno@clisp.org>
16728
16729         ioctl: Move AC_LIBOBJ invocations to module description.
16730         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
16731         invocations from here...
16732         * modules/ioctl (configure.ac): ... to here.
16733         (Depends-on): Update condition.
16734
16735 2011-05-08  Bruno Haible  <bruno@clisp.org>
16736
16737         imaxdiv: Move AC_LIBOBJ invocations to module description.
16738         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
16739         invocations from here...
16740         * modules/imaxdiv (configure.ac): ... to here.
16741
16742 2011-05-08  Bruno Haible  <bruno@clisp.org>
16743
16744         imaxabs: Move AC_LIBOBJ invocations to module description.
16745         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
16746         invocations from here...
16747         * modules/imaxabs (configure.ac): ... to here.
16748
16749 2011-05-08  Bruno Haible  <bruno@clisp.org>
16750
16751         getaddrinfo: Move AC_LIBOBJ invocations to module description.
16752         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
16753         AC_LIBOBJ invocations from here...
16754         * modules/getaddrinfo (configure.ac): ... to here.
16755         (Depends-on): Add conditions.
16756
16757 2011-05-08  Bruno Haible  <bruno@clisp.org>
16758
16759         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16760         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
16761         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16762         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
16763         (gl_PREREQ_INET_PTON): ... from here.
16764         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
16765         gl_PREREQ_INET_PTON here.
16766         (Depends-on): Update condition.
16767
16768 2011-05-08  Bruno Haible  <bruno@clisp.org>
16769
16770         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16771         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
16772         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16773         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
16774         (gl_PREREQ_INET_NTOP): ... from here.
16775         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
16776         gl_PREREQ_INET_NTOP here.
16777         (Depends-on): Update condition.
16778
16779 2011-05-08  Bruno Haible  <bruno@clisp.org>
16780
16781         iconv_open: Move AC_LIBOBJ invocations to module description.
16782         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
16783         AC_LIBOBJ invocations from here...
16784         * modules/iconv_open (configure.ac): ... to here.
16785
16786 2011-05-08  Bruno Haible  <bruno@clisp.org>
16787
16788         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
16789         If module 'iconv_open' is among the main modules and module
16790         'iconv_open-utf' is among the tests dependencies, then
16791         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
16792         return the special iconv_t values. Therefore iconv() and iconv_close()
16793         must support these special iconv_t values, already in lib, not only in
16794         tests.
16795         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
16796         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
16797         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
16798         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
16799         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
16800         (Depends-on): Add the dependencies of iconv_open-utf.
16801         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
16802         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
16803         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
16804
16805 2011-05-08  Bruno Haible  <bruno@clisp.org>
16806
16807         group-member: Move AC_LIBOBJ invocations to module description.
16808         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
16809         gl_PREREQ_GROUP_MEMBER invocations from here...
16810         * modules/group-member (configure.ac): ... to here.
16811
16812 2011-05-08  Bruno Haible  <bruno@clisp.org>
16813
16814         grantpt: Move AC_LIBOBJ invocations to module description.
16815         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
16816         invocations from here...
16817         * modules/grantpt (configure.ac): ... to here.
16818
16819 2011-05-08  Bruno Haible  <bruno@clisp.org>
16820
16821         glob: Move AC_LIBOBJ invocations to module description.
16822         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
16823         from here...
16824         * modules/glob (configure.ac): ... to here.
16825
16826 2011-05-08  Bruno Haible  <bruno@clisp.org>
16827
16828         getusershell: Move AC_LIBOBJ invocations to module description.
16829         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
16830         Move AC_LIBOBJ invocation from here...
16831         * modules/getusershell (configure.ac): ... to here.
16832         (Depends-on): Update condition.
16833
16834 2011-05-08  Bruno Haible  <bruno@clisp.org>
16835
16836         gettimeofday: Move AC_LIBOBJ invocations to module description.
16837         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
16838         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
16839         gl_PREREQ_GETTIMEOFDAY invocations from here...
16840         * modules/gettimeofday (configure.ac): ... to here.
16841
16842 2011-05-08  Bruno Haible  <bruno@clisp.org>
16843
16844         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
16845         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
16846         just gl_FUNC_TZSET.
16847         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
16848         (gl_FUNC_TZSET_CLOBBER): Remove actions.
16849         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
16850         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
16851
16852 2011-05-08  Bruno Haible  <bruno@clisp.org>
16853
16854         getsubopt: Move AC_LIBOBJ invocations to module description.
16855         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
16856         gl_PREREQ_GETSUBOPT invocations from here...
16857         * modules/getsubopt (configure.ac): ... to here.
16858
16859 2011-05-08  Bruno Haible  <bruno@clisp.org>
16860
16861         getpass-gnu: Move AC_LIBOBJ invocations to module description.
16862         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
16863         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
16864         * modules/getpass-gnu (configure.ac): ... to here.
16865
16866 2011-05-08  Bruno Haible  <bruno@clisp.org>
16867
16868         getpass: Move AC_LIBOBJ invocations to module description.
16869         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
16870         gl_PREREQ_GETPASS invocations from here...
16871         * modules/getpass (configure.ac): ... to here.
16872
16873 2011-05-08  Bruno Haible  <bruno@clisp.org>
16874
16875         getpagesize: Move AC_LIBOBJ invocations to module description.
16876         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
16877         from here...
16878         * modules/getpagesize (configure.ac): ... to here.
16879
16880 2011-05-08  Bruno Haible  <bruno@clisp.org>
16881
16882         getopt: Move AC_LIBOBJ invocations to module description.
16883         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
16884         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
16885         invocations from here...
16886         * modules/getopt-gnu (configure.ac): ... to here.
16887         * modules/getopt-posix (configure.ac): ... and here.
16888         (Depends-on): Update condition.
16889
16890 2011-05-08  Bruno Haible  <bruno@clisp.org>
16891
16892         getopt, argp: Respect rules for use of AC_LIBOBJ.
16893         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
16894         (gl_REPLACE_GETOPT_ALWAYS): New macro.
16895         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
16896         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
16897
16898 2011-05-08  Bruno Haible  <bruno@clisp.org>
16899
16900         getlogin_r: Move AC_LIBOBJ invocations to module description.
16901         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
16902         gl_PREREQ_GETLOGIN_R invocations from here...
16903         * modules/getlogin_r (configure.ac): ... to here.
16904
16905 2011-05-08  Bruno Haible  <bruno@clisp.org>
16906
16907         getlogin: Move AC_LIBOBJ invocations to module description.
16908         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
16909         here...
16910         * modules/getlogin (configure.ac): ... to here.
16911
16912 2011-05-08  Bruno Haible  <bruno@clisp.org>
16913
16914         getloadavg: Move AC_LIBOBJ invocations to module description.
16915         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
16916         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
16917         * modules/getloadavg (configure.ac): ... to here.
16918
16919 2011-05-08  Bruno Haible  <bruno@clisp.org>
16920
16921         gethrxtime: Move AC_LIBOBJ invocations to module description.
16922         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
16923         LIB_GETHRXTIME from here...
16924         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
16925         invocations from here...
16926         * modules/gethrxtime (configure.ac): ... to here.
16927
16928 2011-05-08  Bruno Haible  <bruno@clisp.org>
16929
16930         gethostname: Move AC_LIBOBJ invocations to module description.
16931         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
16932         gl_PREREQ_GETHOSTNAME invocations from here...
16933         * modules/gethostname (configure.ac): ... to here.
16934
16935 2011-05-08  Bruno Haible  <bruno@clisp.org>
16936
16937         getgroups: Move AC_LIBOBJ invocations to module description.
16938         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
16939         here...
16940         * modules/getgroups (configure.ac): ... to here.
16941
16942 2011-05-08  Bruno Haible  <bruno@clisp.org>
16943
16944         getdtablesize: Move AC_LIBOBJ invocations to module description.
16945         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16946         invocation from here...
16947         * modules/getdtablesize (configure.ac): ... to here.
16948
16949 2011-05-08  Bruno Haible  <bruno@clisp.org>
16950
16951         getdomainname: Move AC_LIBOBJ invocations to module description.
16952         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16953         gl_PREREQ_GETDOMAINNAME invocations from here...
16954         * modules/getdomainname (configure.ac): ... to here.
16955
16956 2011-05-08  Bruno Haible  <bruno@clisp.org>
16957
16958         getline: Move AC_LIBOBJ invocations to module description.
16959         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16960         invocations from here...
16961         * modules/getline (configure.ac): ... to here.
16962
16963 2011-05-08  Bruno Haible  <bruno@clisp.org>
16964
16965         getline: Simplify.
16966         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16967         It's already handled through the module dependency.
16968
16969 2011-05-08  Bruno Haible  <bruno@clisp.org>
16970
16971         getdelim: Move AC_LIBOBJ invocations to module description.
16972         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16973         and gl_PREREQ_GETDELIM invocations from here...
16974         * modules/getdelim (configure.ac): ... to here.
16975         (Depends-on): Fix condition.
16976
16977 2011-05-08  Bruno Haible  <bruno@clisp.org>
16978
16979         getcwd: Move AC_LIBOBJ invocations to module description.
16980         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16981         invocations from here...
16982         * modules/getcwd (configure.ac): ... to here.
16983
16984 2011-05-08  Bruno Haible  <bruno@clisp.org>
16985
16986         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16987         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16988         here...
16989         * modules/getcwd-lgpl (configure.ac): ... to here.
16990
16991 2011-05-07  Bruno Haible  <bruno@clisp.org>
16992
16993         crypto/gc: Move AC_LIBOBJ invocations to module description.
16994         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16995         * modules/crypto/gc (configure.ac): ... to here.
16996
16997 2011-05-07  Bruno Haible  <bruno@clisp.org>
16998
16999         fwriting: Move AC_LIBOBJ invocations to module description.
17000         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
17001         here...
17002         * modules/fwriting (configure.ac): ... to here.
17003
17004 2011-05-07  Bruno Haible  <bruno@clisp.org>
17005
17006         fwritable: Move AC_LIBOBJ invocations to module description.
17007         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
17008         here...
17009         * modules/fwritable (configure.ac): ... to here.
17010
17011 2011-05-07  Bruno Haible  <bruno@clisp.org>
17012
17013         futimens: Move AC_LIBOBJ invocations to module description.
17014         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
17015         here...
17016         * modules/futimens (configure.ac): ... to here.
17017
17018 2011-05-07  Bruno Haible  <bruno@clisp.org>
17019
17020         ftruncate: Move AC_LIBOBJ invocations to module description.
17021         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
17022         gl_PREREQ_FTRUNCATE invocations from here...
17023         * modules/ftruncate (configure.ac): ... to here.
17024
17025 2011-05-07  Bruno Haible  <bruno@clisp.org>
17026
17027         fsync: Move AC_LIBOBJ invocations to module description.
17028         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
17029         invocations from here...
17030         * modules/fsync (configure.ac): ... to here.
17031
17032 2011-05-07  Bruno Haible  <bruno@clisp.org>
17033
17034         fsusage: Move AC_LIBOBJ invocations to module description.
17035         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
17036         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
17037         * modules/fsusage (configure.ac): ... to here.
17038
17039 2011-05-07  Bruno Haible  <bruno@clisp.org>
17040
17041         freopen: Move AC_LIBOBJ invocations to module description.
17042         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
17043         invocations from here...
17044         * modules/freopen (configure.ac): ... to here.
17045
17046 2011-05-07  Bruno Haible  <bruno@clisp.org>
17047
17048         free: Move AC_LIBOBJ invocations to module description.
17049         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
17050         invocations from here...
17051         * modules/free (configure.ac): ... to here.
17052
17053 2011-05-07  Bruno Haible  <bruno@clisp.org>
17054
17055         freadable: Move AC_LIBOBJ invocations to module description.
17056         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
17057         here...
17058         * modules/freadable (configure.ac): ... to here.
17059
17060 2011-05-07  Bruno Haible  <bruno@clisp.org>
17061
17062         fpurge: Move AC_LIBOBJ invocations to module description.
17063         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
17064         invocations from here...
17065         * modules/fpurge (configure.ac): ... to here.
17066
17067 2011-05-07  Bruno Haible  <bruno@clisp.org>
17068
17069         fpending: Move AC_LIBOBJ invocations to module description.
17070         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
17071         gl_FUNC_FPENDING.
17072         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
17073         invocations from here...
17074         * modules/fpending (configure.ac): ... to here.
17075
17076 2011-05-07  Bruno Haible  <bruno@clisp.org>
17077
17078         fopen: Move AC_LIBOBJ invocations to module description.
17079         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
17080         invocations from here...
17081         * modules/fopen (configure.ac): ... to here.
17082
17083 2011-05-07  Bruno Haible  <bruno@clisp.org>
17084
17085         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
17086         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
17087         gl_FUNC_FNMATCH_POSIX.
17088         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
17089         invocations from here...
17090         * modules/fnmatch (configure.ac): ... to here.
17091         * modules/fnmatch-gnu (configure.ac): ... and here.
17092
17093 2011-05-07  Bruno Haible  <bruno@clisp.org>
17094
17095         flock: Move AC_LIBOBJ invocations to module description.
17096         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
17097         invocations from here...
17098         * modules/flock (configure.ac): ... to here.
17099
17100 2011-05-07  Bruno Haible  <bruno@clisp.org>
17101
17102         fileblocks: Move AC_LIBOBJ invocations to module description.
17103         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
17104         gl_PREREQ_FILEBLOCKS invocations from here...
17105         * modules/fileblocks (configure.ac): ... to here.
17106
17107 2011-05-06  Bruno Haible  <bruno@clisp.org>
17108
17109         fflush: Move AC_LIBOBJ invocations to module description.
17110         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
17111         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
17112         invocations from here...
17113         * modules/fflush (configure.ac): ... to here.
17114
17115 2011-05-06  Bruno Haible  <bruno@clisp.org>
17116
17117         fdopendir: Move AC_LIBOBJ invocations to module description.
17118         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
17119         here...
17120         * modules/fdopendir (configure.ac): ... to here.
17121         (Depends-on): Improve conditions.
17122
17123 2011-05-06  Bruno Haible  <bruno@clisp.org>
17124
17125         _Exit: Move AC_LIBOBJ invocations to module description.
17126         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
17127         invocations from here...
17128         * modules/_Exit (configure.ac): ... to here.
17129
17130 2011-05-21  Bruno Haible  <bruno@clisp.org>
17131
17132         euidaccess: Respect rules for use of AC_LIBOBJ.
17133         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
17134         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
17135         from here...
17136         * modules/euidaccess (configure.ac): ... to here.
17137
17138 2011-05-06  Bruno Haible  <bruno@clisp.org>
17139
17140         error: Move AC_LIBOBJ invocations to module description.
17141         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
17142         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
17143         invocations from here...
17144         * modules/error (configure.ac): ... to here.
17145
17146 2011-05-06  Bruno Haible  <bruno@clisp.org>
17147
17148         duplocale: Move AC_LIBOBJ invocations to module description.
17149         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
17150         gl_PREREQ_DUPLOCALE invocations from here...
17151         * modules/duplocale (configure.ac): ... to here.
17152
17153 2011-05-05  Bruno Haible  <bruno@clisp.org>
17154
17155         dirfd: Move AC_LIBOBJ invocations to module description.
17156         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
17157         gl_FUNC_DIRFD.
17158         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
17159         here...
17160         * modules/dirfd (configure.ac): ... to here.
17161         (Depends-on): Fix condition.
17162
17163 2011-05-05  Bruno Haible  <bruno@clisp.org>
17164
17165         chown: Respect rules for use of AC_LIBOBJ.
17166         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
17167         * modules/chown (configure.ac): ... to here.
17168
17169 2011-05-05  Bruno Haible  <bruno@clisp.org>
17170
17171         chdir-long: Move AC_LIBOBJ invocations to module description.
17172         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
17173         gl_PREREQ_CHDIR_LONG invocations from here...
17174         * modules/chdir-long (configure.ac): ... to here.
17175
17176 2011-05-05  Bruno Haible  <bruno@clisp.org>
17177
17178         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
17179         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
17180         from here...
17181         * modules/canonicalize-lgpl (configure.ac): ... to here.
17182
17183 2011-05-05  Bruno Haible  <bruno@clisp.org>
17184
17185         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
17186         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
17187         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
17188         REPLACE_CALLOC.
17189         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
17190         * modules/calloc-gnu (configure.ac): Likewise.
17191
17192 2011-05-05  Bruno Haible  <bruno@clisp.org>
17193
17194         btowc: Move AC_LIBOBJ invocations to module description.
17195         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
17196         invocations from here...
17197         * modules/btowc (configure.ac): ... to here.
17198
17199 2011-05-21  Bruno Haible  <bruno@clisp.org>
17200
17201         atexit: Move AC_LIBOBJ invocations to module description.
17202         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
17203         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
17204         here...
17205         * modules/atexit (configure.ac): ... to here.
17206
17207 2011-05-05  Bruno Haible  <bruno@clisp.org>
17208
17209         atoll: Move AC_LIBOBJ invocations to module description.
17210         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
17211         invocations from here...
17212         * modules/atoll (configure.ac): ... to here.
17213
17214 2011-05-05  Bruno Haible  <bruno@clisp.org>
17215
17216         argz: Move AC_LIBOBJ invocations to module description.
17217         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
17218         * modules/argz (configure.ac): ... to here.
17219
17220 2011-05-05  Bruno Haible  <bruno@clisp.org>
17221
17222         alphasort: Move AC_LIBOBJ invocations to module description.
17223         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
17224         gl_PREREQ_ALPHASORT invocations from here...
17225         * modules/alphasort (configure.ac): ... to here.
17226
17227 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
17228
17229         verify: new macro verify_expr; verify_true deprecated
17230         * NEWS: Mention this.
17231         * doc/verify.texi (Compile-time Assertions): Document this.
17232         * lib/verify.h (verify_true): Deprecate.
17233         (verify_expr): New macro.
17234         * tests/test-verify.c (function): Test verify_expr.
17235
17236 2011-06-14  Jim Meyering  <meyering@redhat.com>
17237
17238         init.sh: give more portable redirection-related advice in a comment
17239         * tests/init.sh (stderr_fileno_): Update the advice in comments.
17240         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
17241         for lots of discussion.  Stefano Lattarini suggested the solution
17242         of putting "9>&2" after the command.  Reported by Bruno Haible.
17243
17244 2011-06-13  Bruno Haible  <bruno@clisp.org>
17245
17246         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
17247         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
17248         'none'.
17249
17250 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
17251
17252         ftoastr: use strtof only if HAVE_STRTOF
17253         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
17254         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
17255         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
17256         * modules/ftoastr (configure.ac): Check for strtof.
17257
17258 2011-06-13  Bruno Haible  <bruno@clisp.org>
17259
17260         gnulib-tool: Addendum to 2011-06-08 commit.
17261         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
17262         and --witness-c-macro have been given, augment AM_CPPFLAGS.
17263
17264 2011-06-13  Bruno Haible  <bruno@clisp.org>
17265
17266         fseeko: Provide a non-inline replacement of fseek().
17267         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
17268         * modules/fseeko (Depends-on): Add fseek.
17269         * modules/fseek (License): Change to LGPLv2+.
17270
17271 2011-06-13  Bruno Haible  <bruno@clisp.org>
17272
17273         ftello: Provide a non-inline replacement of ftell().
17274         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
17275         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
17276         not have ftello() (such as on mingw).
17277         * modules/ftello (Depends-on): Add ftell.
17278         * modules/ftell (License): Change to LGPLv2+.
17279
17280 2011-05-07  Bruno Haible  <bruno@clisp.org>
17281
17282         ftell: Move AC_LIBOBJ invocations to module description.
17283         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
17284         * modules/ftell (configure.ac): ... to here.
17285
17286 2011-05-07  Bruno Haible  <bruno@clisp.org>
17287
17288         ftello: Respect rules for use of AC_LIBOBJ.
17289         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
17290         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
17291         here...
17292         * modules/ftello (configure.ac): ... to here.
17293
17294 2011-05-07  Bruno Haible  <bruno@clisp.org>
17295
17296         fseeko: Simplify.
17297         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
17298         (gl_FUNC_FSEEKO): Inline it here.
17299
17300 2011-05-07  Bruno Haible  <bruno@clisp.org>
17301
17302         fseek: Move AC_LIBOBJ invocations to module description.
17303         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
17304         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17305         * modules/fseek (configure.ac): ... to here.
17306
17307 2011-05-07  Bruno Haible  <bruno@clisp.org>
17308
17309         fseek: Respect rules for use of AC_LIBOBJ.
17310         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
17311         here...
17312         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
17313
17314 2011-05-07  Bruno Haible  <bruno@clisp.org>
17315
17316         fseeko: Respect rules for use of AC_LIBOBJ.
17317         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
17318         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
17319         here...
17320         * modules/fseeko (configure.ac): ... to here.
17321
17322 2011-06-13  Bruno Haible  <bruno@clisp.org>
17323
17324         gnulib-tool: Allow comments in the 'Depends-on' section.
17325         * doc/gnulib.texi (Module description): Mention comment syntax in the
17326         Depends-on section.
17327         * gnulib-tool (func_get_dependencies): Filter out comment lines.
17328
17329 2011-06-13  Bruno Haible  <bruno@clisp.org>
17330
17331         file-set.h: guard __attibute__ use, now that it's not always defined
17332         * lib/file-set.h (record_file): Use __attribute__ only with compiler
17333         versions that support it.  This fixes a coreutils build failure with
17334         the vendor cc on HP-UX 11.31.
17335
17336 2011-06-12  Bruno Haible  <bruno@clisp.org>
17337
17338         acl: Add support for HP-UX >= 11.11 JFS ACLs.
17339         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
17340         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
17341         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
17342         (acl, aclsort): New declarations.
17343         (aclv_nontrivial): New declaration.
17344         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
17345         (file_has_acl): Read also the second kind of HP-UX ACLs.
17346         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
17347         kind of HP-UX ACLs if the first kind fails.
17348         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
17349         second kind of HP-UX ACLs.
17350         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
17351         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
17352         agree.
17353         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
17354         hpuxjfs.
17355         Handle hpuxjfs.
17356         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
17357         hpuxjfs.
17358         Handle hpuxjfs.
17359         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
17360         (func_test_same_acls): Use both lsacl and getacl.
17361         Handle hpuxjfs.
17362         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
17363         (func_test_same_acls): Use both lsacl and getacl.
17364         Handle hpuxjfs.
17365
17366 2011-06-12  Bruno Haible  <bruno@clisp.org>
17367
17368         acl: Complete the 2010-08-10 fix.
17369         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
17370         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
17371         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
17372         explicitly.
17373         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
17374         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
17375
17376 2011-06-12  Bruno Haible  <bruno@clisp.org>
17377
17378         spawn-pipe tests: Comments.
17379         * tests/test-spawn-pipe-child.c (main): Update comment.
17380         Reported by James Youngman <jay@gnu.org>.
17381
17382 2011-06-11  James Youngman  <jay@gnu.org>
17383
17384         New module 'stat-size'.
17385         * modules/stat-size: New module.  Provides macros for accessing
17386         file size information in instances of struct stat.  Depends on the
17387         fileblocks module because it calls st_blocks.
17388         * lib/stat-size.h: New file, adapted from coreutils' system.h.
17389         * doc/gnulib.texi: Include stat-size.texi.
17390         * doc/stat-size.texi: Documentation for this module.
17391         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
17392         * m4/fileblocks.m4: Mention that stat-size depends on the call to
17393         AC_STRUCT_ST_BLOCKS.
17394
17395 2011-06-09  Bruno Haible  <bruno@clisp.org>
17396
17397         thread: Support pthreads-win32.
17398         * lib/glthread/thread.h (gl_thread_self): Define differently on
17399         pthreads-win32.
17400         (gl_null_thread): New declaration.
17401         (gl_thread_self_pointer): New macro.
17402         * lib/glthread/thread.c (gl_null_thread): New constant.
17403         * tests/test-lock.c: Use gl_thread_self_pointer instead of
17404         gl_thread_self.
17405         * tests/test-tls.c: Likewise.
17406         Suggested by Paul Eggert. Reported by Eric Blake.
17407
17408 2011-06-09  Bruno Haible  <bruno@clisp.org>
17409
17410         thread: Fix confusion between NULL and 0.
17411         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
17412         Reported by Paul Eggert.
17413
17414 2011-06-09  Bruno Haible  <bruno@clisp.org>
17415
17416         spawn-pipe tests: Avoid test failure on HP-UX 11.
17417         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
17418         is closed.
17419
17420 2011-06-09  Bruno Haible  <bruno@clisp.org>
17421
17422         acl tests: Fix compilation error on HP-UX 11.
17423         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
17424
17425 2011-06-09  Bruno Haible  <bruno@clisp.org>
17426
17427         rmdir: Avoid test failure on HP-UX 10.20.
17428         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
17429         EEXIST.
17430
17431 2011-06-08  Eric Blake  <eblake@redhat.com>
17432
17433         perror: fix test on mingw
17434         * modules/perror-tests (Depends-on): Add dup2.
17435
17436         strerror_r-posix: fix on MacOS
17437         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
17438         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
17439         logic bug.
17440         * lib/strerror_r.c (strerror_r): Fix the bug.
17441         * lib/strerror.c (strerror): Likewise.
17442         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17443         problem.
17444         * doc/posix-functions/strerror.texi (strerror): Likewise.
17445         * doc/posix-functions/perror.texi (perror): Likewise.
17446         * tests/test-strerror.c (main): Enhance test.
17447         * tests/test-strerror_r.c (main): Likewise.
17448
17449 2011-06-08  Bruno Haible  <bruno@clisp.org>
17450
17451         gnulib-tool: Better isolation between different gnulib-tool invocations.
17452         * gnulib-tool: New option --witness-c-macro.
17453         (witness_c_macro): New variable.
17454         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
17455         AM_CPPFLAGS define it as a C macro.
17456         (func_emit_tests_Makefile_am): Likewise.
17457         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
17458         read it from there.
17459         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
17460         m4_define, not AC_DEFUN.
17461         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
17462         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
17463         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
17464         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
17465         s|...|...|, to substitute the values of the GNULIB_* module indicator
17466         variables.
17467         * modules/dirent (Makefile.am): Likewise.
17468         * modules/fcntl-h (Makefile.am): Likewise.
17469         * modules/iconv-h (Makefile.am): Likewise.
17470         * modules/langinfo (Makefile.am): Likewise.
17471         * modules/locale (Makefile.am): Likewise.
17472         * modules/math (Makefile.am): Likewise.
17473         * modules/netdb (Makefile.am): Likewise.
17474         * modules/poll-h (Makefile.am): Likewise.
17475         * modules/pty (Makefile.am): Likewise.
17476         * modules/search (Makefile.am): Likewise.
17477         * modules/signal (Makefile.am): Likewise.
17478         * modules/spawn (Makefile.am): Likewise.
17479         * modules/stdio (Makefile.am): Likewise.
17480         * modules/stdlib (Makefile.am): Likewise.
17481         * modules/string (Makefile.am): Likewise.
17482         * modules/sys_ioctl (Makefile.am): Likewise.
17483         * modules/sys_select (Makefile.am): Likewise.
17484         * modules/sys_socket (Makefile.am): Likewise.
17485         * modules/sys_stat (Makefile.am): Likewise.
17486         * modules/sys_times (Makefile.am): Likewise.
17487         * modules/sys_utsname (Makefile.am): Likewise.
17488         * modules/sys_wait (Makefile.am): Likewise.
17489         * modules/termios (Makefile.am): Likewise.
17490         * modules/time (Makefile.am): Likewise.
17491         * modules/unistd (Makefile.am): Likewise.
17492         * modules/wchar (Makefile.am): Likewise.
17493
17494 2011-06-08  Eric Blake  <eblake@redhat.com>
17495
17496         strerror: simplify replacement
17497         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
17498         * modules/strerror (configure.ac): No prereqs needed here...
17499         * modules/strerror-override (configure.ac): ...but this needs it.
17500         (Files): Add file for needed prereq macro.
17501
17502 2011-06-08  Bruno Haible  <bruno@clisp.org>
17503
17504         strerror_r-posix: Tweaks.
17505         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
17506         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
17507         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
17508         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
17509         (gl_FUNC_STRERROR_R): ... to here.
17510         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
17511
17512 2011-06-07  Eric Blake  <eblake@redhat.com>
17513
17514         perror: document fixed bugs
17515         * doc/posix-functions/perror.texi (perror): Document recent
17516         patches.
17517
17518 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
17519
17520         stat-time: get_stat_birthtime failure is better-defined
17521         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
17522         return a timestamp whose tv_sec and tv_nsec values are both -1.
17523         Previously, the spec said only that the tv_nsec value was negative.
17524         This upward-compatible change simplifies GNU tar a bit.
17525
17526 2011-06-07  Eric Blake  <eblake@redhat.com>
17527
17528         strerror_r-posix: work around cygwin 1.7.9
17529         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
17530         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
17531         bug without replacing strerror_r.
17532         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
17533         strerror_r is buggy, but without requiring strerror_r compilation.
17534         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
17535
17536         test-perror: relax test to ignore cygwin bug
17537         * tests/test-perror2.c (main): Relax test on requiring detection
17538         of stream errors, and use unbuffered stream.
17539         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
17540         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17541         * doc/posix-functions/fputc.texi (fputc): Likewise.
17542         * doc/posix-functions/fputs.texi (fputs): Likewise.
17543         * doc/posix-functions/fputws.texi (fputws): Likewise.
17544         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17545         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
17546         * doc/posix-functions/getopt.texi (getopt): Likewise.
17547         * doc/posix-functions/perror.texi (perror): Likewise.
17548         * doc/posix-functions/printf.texi (printf): Likewise.
17549         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
17550         * doc/posix-functions/psignal.texi (psignal): Likewise.
17551         * doc/posix-functions/putc.texi (putc): Likewise.
17552         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
17553         Likewise.
17554         * doc/posix-functions/putchar.texi (putchar): Likewise.
17555         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
17556         Likewise.
17557         * doc/posix-functions/puts.texi (puts): Likewise.
17558         * doc/posix-functions/putwc.texi (putwc): Likewise.
17559         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17560         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17561         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17562         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17563         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17564         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17565         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17566         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17567
17568 2011-05-22  Bruno Haible  <bruno@clisp.org>
17569
17570         strerror: Move AC_LIBOBJ invocations to module description.
17571         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
17572         gl_PREREQ_STRERROR invocations from here...
17573         * modules/strerror (configure.ac): ... to here.
17574
17575 2011-05-21  Bruno Haible  <bruno@clisp.org>
17576
17577         perror: Use common idiom.
17578         * modules/perror (configure.ac): Reorder statements.
17579
17580 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17581
17582         tests: fix usage message in 'mktempd_'
17583         * tests/init.sh (mktempd_): In the usage message, use literal
17584         'mktempd_', not '$ME' (which is even undefined), as the name of
17585         the subroutine.
17586
17587 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17588
17589         tests init: new function 'fatal_', for hard errors
17590         Before this patch, the only way offered by tests/init.sh to
17591         properly signal a hard error was the `framework_failure_'
17592         function.  But the error message issued by that function,
17593         as its name would suggest, refers to a set-up failure in the
17594         testsuite, while hard errors can obviously also be due to
17595         other reasons.  The best way to fix this inconsistency is to
17596         introduce a new function with a more general error message.
17597         * tests/init.sh (fatal_): New function.
17598
17599 2011-06-06  Eric Blake  <eblake@redhat.com>
17600
17601         canonicalize-lgpl: use common idiom
17602         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
17603         over newer POSIX -Rf.
17604         Reported by Bruno Haible.
17605
17606         canonicalize-lgpl: work around AIX realpath bug
17607         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
17608         * doc/posix-functions/realpath.texi (realpath): Document it.
17609         Reported by Bruno Haible.
17610
17611         strerror: work around FreeBSD bug
17612         * lib/strerror.c (strerror): Special case 0.
17613         Reported by Bruno Haible.
17614
17615         strerror-override: avoid bloating errno module
17616         * modules/errno (Files, configure.ac): Move replacement strings...
17617         * modules/strerror-override: ...to new module.
17618         * modules/strerror (Depends-on): Add strerror-override.
17619         * modules/strerror_r-posix (Depends-on): Likewise.
17620         * MODULES.html.sh: Document new module.
17621         Reported by Bruno Haible.
17622
17623 2011-06-06  Bruno Haible  <bruno@clisp.org>
17624
17625         spawn-pipe tests: Rename program.
17626         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
17627         * tests/test-spawn-pipe-child.c: Update comment.
17628         * tests/test-spawn-pipe.sh: Update.
17629         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
17630
17631         spawn-pipe tests: Link the child program only against libc.
17632         * tests/test-spawn-pipe-child.c: New file, extracted from
17633         tests/test-spawn-pipe.c.
17634         (main): Expect only one argument.
17635         (is_open): New function, copied from tests/test-pipe.c.
17636         * tests/test-spawn-pipe.c: Don't include <errno.h>.
17637         (child_main): Remove function.
17638         (test_pipe): Pass only one argument to the child program.
17639         (main): Remove child process code. Expect the child program's name as
17640         first argument.
17641         * tests/test-spawn-pipe.sh: Pass the child program's name as first
17642         argument.
17643         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
17644         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
17645         test-spawn-pipe-child against no libraries.
17646
17647 2011-06-06  Bruno Haible  <bruno@clisp.org>
17648
17649         careadlinkat: Avoid mismatch between ssize_t and int.
17650         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
17651         * lib/careadlinkat.c (careadlinkatcwd): Define always.
17652
17653 2011-06-06  Jim Meyering  <meyering@redhat.com>
17654
17655         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
17656         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
17657         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
17658
17659 2011-06-05  Bruno Haible  <bruno@clisp.org>
17660
17661         ansi-c++-opt: Interoperability with libtool.
17662         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
17663         set the variable to "no", not to ":".
17664         * NEWS: Mention the change.
17665
17666 2011-06-05  Bruno Haible  <bruno@clisp.org>
17667
17668         acl: Fix test failure on AIX 7.
17669         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
17670         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
17671
17672 2011-06-05  Bruno Haible  <bruno@clisp.org>
17673
17674         pipe-filter-ii: Fix test failure on AIX and IRIX.
17675         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
17676         with EAGAIN, retry with a smaller buffer size.
17677
17678 2011-06-05  Bruno Haible  <bruno@clisp.org>
17679
17680         localename: Fix link dependencies.
17681         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
17682         * modules/localename-tests (Makefile.am): Link test-localename with
17683         $(LIBTHREAD).
17684
17685 2011-06-05  Bruno Haible  <bruno@clisp.org>
17686
17687         error: Avoid gcc warning.
17688         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
17689
17690 2011-06-05  Bruno Haible  <bruno@clisp.org>
17691
17692         unsetenv: Avoid gcc warning.
17693         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
17694
17695 2011-06-05  Bruno Haible  <bruno@clisp.org>
17696
17697         setenv: Avoid gcc warning.
17698         * lib/setenv.c (setenv): Provide declaration if system lacks it.
17699
17700 2011-06-05  Bruno Haible  <bruno@clisp.org>
17701
17702         sys_select: Ensure memset is declared also on AIX 7.
17703         * lib/sys_select.in.h: Include <string.h> also on AIX.
17704         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
17705         self-contained also on AIX 7.1.
17706
17707 2011-06-04  Jim Meyering  <meyering@redhat.com>
17708
17709         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
17710         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
17711         function name, "error".
17712         (_gl_translatable_diag_func_re): New configurable variable.
17713
17714 2011-06-04  Bruno Haible  <bruno@clisp.org>
17715
17716         getopt: Avoid gcc warning.
17717         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
17718
17719 2011-06-04  Bruno Haible  <bruno@clisp.org>
17720
17721         strerror_r: Fix comments.
17722         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
17723         commit.
17724
17725 2011-06-04  Bruno Haible  <bruno@clisp.org>
17726
17727         perror: Fix compilation error.
17728         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
17729         Undefine fprintf, not sprintf.
17730         * modules/perror (Depends-on): Remove intprops, verify.
17731
17732 2011-06-04  Bruno Haible  <bruno@clisp.org>
17733
17734         setlocale: Enable replacement on Cygwin 1.5.
17735         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
17736         Cygwin 1.5.x.
17737         * doc/posix-functions/setlocale.texi: Mention that the problem with the
17738         LC_CTYPE category also exists on Cygwin 1.5.x.
17739
17740 2011-06-04  Bruno Haible  <bruno@clisp.org>
17741
17742         strerror-override: Don't disable symbol renamings.
17743         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
17744         * lib/strerror-override.c: Include config.h.
17745         (strerror_override): Don't undefine.
17746
17747 2011-06-03  Bruno Haible  <bruno@clisp.org>
17748
17749         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
17750         * lib/localename.h: Update copyright header.
17751         * lib/localename.c: Likewise.
17752         * lib/relocatable.h: Likewise.
17753         * lib/relocatable.c: Likewise.
17754
17755 2011-06-02  Bruno Haible  <bruno@clisp.org>
17756
17757         doc: Fix a module name.
17758         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
17759
17760 2011-06-02  Bruno Haible  <bruno@clisp.org>
17761
17762         pipe2: Remove dependency on 'nonblocking' module.
17763         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
17764         O_NONBLOCK is defined by gnulib.
17765         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
17766         is zero.
17767         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
17768         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
17769         defined by gnulib.
17770         (get_nonblocking_flag): New function.
17771         (main): Test O_NONBLOCK flag only if it is nonzero.
17772         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
17773
17774 2011-06-03  Jim Meyering  <meyering@redhat.com>
17775
17776         maint: three new prohibit-header-without-use rules
17777         Prohibit use of cloexec.h, posixver.h, same.h without use.
17778         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
17779         (sc_prohibit_posixver_without_use): Likewise.
17780         (sc_prohibit_same_without_use): Likewise.
17781
17782 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17783
17784         allocator: 'die' routine is now given requested size
17785         * lib/allocator.h (struct allocator.die): New size arg.
17786         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
17787         If the actual problem is an ssize_t limitation, not a size_t or
17788         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
17789
17790 2011-06-01  Eric Blake  <eblake@redhat.com>
17791
17792         strerror: drop strerror_r dependency
17793         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
17794         * lib/strerror-override.c (strerror_override): ...to new file.
17795         * lib/strerror-override.h: Add prototype.
17796         * lib/strerror-impl.h: Delete.
17797         * lib/strerror.c (strerror): New implementation.
17798         * modules/errno (Files): Add new files.
17799         (configure.ac): Compile new file as appropriate.
17800         * modules/strerror (Files): Drop unused file.
17801         (Depends-on): Drop strerror_r-posix.
17802         * MODULES.html.sh: Document strerror_r-posix.
17803         Requested by Sam Steingold.
17804
17805         perror: call strerror_r directly
17806         * modules/perror (Files): Drop strerror-impl.h.
17807         * lib/perror.c (perror): Use our own stack buffer, rather than
17808         calling a wrapper that uses static storage.
17809         * doc/posix-functions/perror.texi (perror): Document a limitation
17810         of our replacement.
17811
17812         strerror_r: fix includes for FreeBSD
17813         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
17814         since we use abort on some platforms.
17815         Reported by Matthias Bolte.
17816
17817 2011-05-31  Bruno Haible  <bruno@clisp.org>
17818
17819         Fix link errors in tests: openat-die uses gettext-h.
17820         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
17821         against $(LIBINTL).
17822         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
17823         against $(LIBINTL).
17824         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
17825         $(LIBINTL).
17826         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
17827         against $(LIBINTL).
17828         * modules/linkat-tests (Makefile.am): Link test-linkat against
17829         $(LIBINTL).
17830         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
17831         $(LIBINTL).
17832         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17833         against $(LIBINTL).
17834         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
17835         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
17836         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
17837         $(LIBINTL).
17838         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
17839         $(LIBINTL).
17840         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
17841         $(LIBINTL).
17842         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17843
17844 2011-05-31  Bruno Haible  <bruno@clisp.org>
17845
17846         Fix link errors in tests: wait-process uses gettext-h.
17847         * modules/nonblocking-pipe-tests (Makefile.am): Set
17848         test_nonblocking_pipe_main_LDADD.
17849         * modules/nonblocking-socket-tests (Makefile.am): Link
17850         test-nonblocking-socket-main against $(LIBINTL).
17851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17852
17853 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17854
17855         assert-h: work around 'verify' incompatibility
17856         * lib/verify.h: Use @...@ directives, not ifdef.
17857         * modules/assert-h (assert.h): Implement the directives.
17858         (assert.h): Substitute the symbol-prefix more consistently.
17859
17860 2011-05-29  Jim Meyering  <meyering@redhat.com>
17861
17862         trim: remove three superfluous assignments
17863         * lib/trim.c (trim2): Remove three superfluous assignments
17864         and correct brace positioning.
17865
17866 2011-05-29  Bruno Haible  <bruno@clisp.org>
17867
17868         wctype-h: Avoid namespace pollution on Solaris 2.6.
17869         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
17870         identifiers.
17871         * doc/posix-headers/wctype.texi: Mention the problem.
17872         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17873
17874 2011-05-28  Jim Meyering  <meyering@redhat.com>
17875
17876         parse-datetime.y: accommodate -Wstrict-overflow
17877         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
17878         placate -Wstrict-overflow.
17879
17880         trim: avoid a warning from -O2 -Wstrict-overflow
17881         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
17882
17883 2011-05-29  Bruno Haible  <bruno@clisp.org>
17884
17885         gnulib-tool: Fix bug in yesterday's commit.
17886         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
17887         twice.
17888
17889 2011-05-29  Bruno Haible  <bruno@clisp.org>
17890
17891         Allow multiple gnulib generated include files to be combined.
17892         * gnulib-tool (func_compute_include_guard_prefix): New function.
17893         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
17894         ${gl_include_guard_prefix} references.
17895         (func_import, func_create_testdir): Invoke
17896         func_compute_include_guard_prefix.
17897         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
17898         * lib/ctype.in.h: Likewise.
17899         * lib/dirent.in.h: Likewise.
17900         * lib/errno.in.h: Likewise.
17901         * lib/fcntl.in.h: Likewise.
17902         * lib/float.in.h: Likewise.
17903         * lib/getopt.in.h: Likewise.
17904         * lib/iconv.in.h: Likewise.
17905         * lib/langinfo.in.h: Likewise.
17906         * lib/locale.in.h: Likewise.
17907         * lib/math.in.h: Likewise.
17908         * lib/netdb.in.h: Likewise.
17909         * lib/netinet_in.in.h: Likewise.
17910         * lib/poll.in.h: Likewise.
17911         * lib/pthread.in.h: Likewise.
17912         * lib/pty.in.h: Likewise.
17913         * lib/sched.in.h: Likewise.
17914         * lib/se-selinux.in.h: Likewise.
17915         * lib/search.in.h: Likewise.
17916         * lib/signal.in.h: Likewise.
17917         * lib/spawn.in.h: Likewise.
17918         * lib/stdarg.in.h: Likewise.
17919         * lib/stddef.in.h: Likewise.
17920         * lib/stdint.in.h: Likewise.
17921         * lib/stdio.in.h: Likewise.
17922         * lib/stdlib.in.h: Likewise.
17923         * lib/string.in.h: Likewise.
17924         * lib/strings.in.h: Likewise.
17925         * lib/sys_file.in.h: Likewise.
17926         * lib/sys_ioctl.in.h: Likewise.
17927         * lib/sys_select.in.h: Likewise.
17928         * lib/sys_socket.in.h: Likewise.
17929         * lib/sys_stat.in.h: Likewise.
17930         * lib/sys_time.in.h: Likewise.
17931         * lib/sys_times.in.h: Likewise.
17932         * lib/sys_uio.in.h: Likewise.
17933         * lib/sys_utsname.in.h: Likewise.
17934         * lib/sys_wait.in.h: Likewise.
17935         * lib/sysexits.in.h: Likewise.
17936         * lib/termios.in.h: Likewise.
17937         * lib/time.in.h: Likewise.
17938         * lib/unistd.in.h: Likewise.
17939         * lib/wchar.in.h: Likewise.
17940         * lib/wctype.in.h: Likewise.
17941         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
17942         * modules/ctype (Makefile.am): Likewise.
17943         * modules/dirent (Makefile.am): Likewise.
17944         * modules/errno (Makefile.am): Likewise.
17945         * modules/fcntl-h (Makefile.am): Likewise.
17946         * modules/float (Makefile.am): Likewise.
17947         * modules/getopt-posix (Makefile.am): Likewise.
17948         * modules/iconv-h (Makefile.am): Likewise.
17949         * modules/langinfo (Makefile.am): Likewise.
17950         * modules/locale (Makefile.am): Likewise.
17951         * modules/math (Makefile.am): Likewise.
17952         * modules/netdb (Makefile.am): Likewise.
17953         * modules/netinet_in (Makefile.am): Likewise.
17954         * modules/poll-h (Makefile.am): Likewise.
17955         * modules/pthread (Makefile.am): Likewise.
17956         * modules/pty (Makefile.am): Likewise.
17957         * modules/sched (Makefile.am): Likewise.
17958         * modules/search (Makefile.am): Likewise.
17959         * modules/selinux-h (Makefile.am): Likewise.
17960         * modules/signal (Makefile.am): Likewise.
17961         * modules/spawn (Makefile.am): Likewise.
17962         * modules/stdarg (Makefile.am): Likewise.
17963         * modules/stddef (Makefile.am): Likewise.
17964         * modules/stdint (Makefile.am): Likewise.
17965         * modules/stdio (Makefile.am): Likewise.
17966         * modules/stdlib (Makefile.am): Likewise.
17967         * modules/string (Makefile.am): Likewise.
17968         * modules/strings (Makefile.am): Likewise.
17969         * modules/sys_file (Makefile.am): Likewise.
17970         * modules/sys_ioctl (Makefile.am): Likewise.
17971         * modules/sys_select (Makefile.am): Likewise.
17972         * modules/sys_socket (Makefile.am): Likewise.
17973         * modules/sys_stat (Makefile.am): Likewise.
17974         * modules/sys_time (Makefile.am): Likewise.
17975         * modules/sys_times (Makefile.am): Likewise.
17976         * modules/sys_uio (Makefile.am): Likewise.
17977         * modules/sys_utsname (Makefile.am): Likewise.
17978         * modules/sys_wait (Makefile.am): Likewise.
17979         * modules/sysexits (Makefile.am): Likewise.
17980         * modules/termios (Makefile.am): Likewise.
17981         * modules/time (Makefile.am): Likewise.
17982         * modules/unistd (Makefile.am): Likewise.
17983         * modules/wchar (Makefile.am): Likewise.
17984         * modules/wctype-h (Makefile.am): Likewise.
17985         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17986
17987 2011-05-29  Bruno Haible  <bruno@clisp.org>
17988
17989         assert-h: Allow multiple gnulib generated replacements to coexist.
17990         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17991
17992 2011-05-29  Bruno Haible  <bruno@clisp.org>
17993
17994         argp: Allow coexistence with strerror_r-posix module.
17995         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17996         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17997         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17998         not the glibc signature.
17999
18000 2011-05-28  Bruno Haible  <bruno@clisp.org>
18001
18002         gnulib-tool: Alternative structure of testdirs, similar to --import.
18003         * gnulib-tool: New option --single-configure.
18004         (func_usage): Document it.
18005         (single_configure): New variable.
18006         (func_modules_transitive_closure_separately,
18007         func_modules_transitive_closure_separately,
18008         func_determine_use_libtests, func_modules_add_dummy_separately,
18009         func_modules_to_filelist_separately): New functions, extracted from
18010         func_import.
18011         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
18012         (func_import): Use the new functions.
18013         (func_create_testdir): Set final_modules. Handle $single_configure =
18014         true case.
18015
18016 2011-05-28  Bruno Haible  <bruno@clisp.org>
18017
18018         getloadavg: Remove an unreliable safety check.
18019         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
18020         getloadavg.c is in place.
18021         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
18022         Reported by Sam Steingold <sds@gnu.org>.
18023
18024 2011-05-28  Bruno Haible  <bruno@clisp.org>
18025
18026         doc: Cleanup yet another file produced by texinfo.tex.
18027         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
18028
18029 2011-05-28  Bruno Haible  <bruno@clisp.org>
18030
18031         Finish the conditional dependencies mechanism.
18032         * gnulib-tool: New option --no-conditional-dependencies.
18033         (func_usage): Document it. Don't mark --conditional-dependencies as
18034         experimental.
18035         (cond_dependencies): The possible values can now be true, false, empty.
18036         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
18037         (func_import): Store setting in gnulib-cache.m4 and read it from there.
18038         * doc/gnulib-tool.texi (Conditional dependencies): New section.
18039
18040 2011-05-28  Bruno Haible  <bruno@clisp.org>
18041
18042         doc: Use a recent texinfo.tex.
18043         * doc/Makefile (tex_opts): New variable.
18044         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
18045
18046 2011-05-28  Jim Meyering  <meyering@redhat.com>
18047
18048         intprops.h: adjust comment to match code change
18049         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
18050         only once, it *may* have side effects.  Also fix an unrelated typo.
18051         (_GL_INT_SIGNED): Likewise.
18052
18053 2011-05-26  Simon Josefsson  <simon@josefsson.org>
18054
18055         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
18056
18057 2011-05-26  Bruno Haible  <bruno@clisp.org>
18058
18059         mbsrchr: Avoid collision with system function on Interix.
18060         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
18061         Reported by Markus Duft <mduft@gentoo.org>.
18062
18063 2011-05-15  James Youngman  <jay@gnu.org>
18064
18065         getopt: for ambiguous options, enumerate the possibilities.
18066         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
18067         the ambiguous options when an ambiguous prefix is given. This was
18068         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
18069         glibc change was
18070         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
18071
18072 2011-05-25  Eric Blake  <eblake@redhat.com>
18073
18074         getcwd: work around mingw bug
18075         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
18076         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18077         Reported by Matthias Bolte.
18078
18079 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
18080
18081         test-intprops: disable -Wtype-limits diagnostics
18082         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
18083         diagnostics.  Otherwise, the integer overflow macros generate many
18084         diagnostics.  Reported by Jim Meyering in
18085         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
18086
18087         intprops: shorten, to pacify gcc -Woverlength-strings
18088         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
18089         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
18090         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
18091         likely to run afoul of C compiler limits for string constant lengths.
18092         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
18093
18094 2011-05-24  Eric Blake  <eblake@redhat.com>
18095
18096         docs: document recently fixed glibc printf bug
18097         * doc/posix-functions/fprintf.texi (fprintf): Document it.
18098         * doc/posix-functions/printf.texi (printf): Likewise.
18099         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18100         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18101
18102         closein-tests: convert to init.sh
18103         * modules/closein-tests (Files): Add init.sh
18104         * tests/test-closein.sh Use it.
18105
18106         yesno-tests: convert to init.sh
18107         * modules/yesno-tests (Files): Add init.sh.
18108         * tests/test-yesno.sh: Use it.
18109
18110         atexit-tests: ensure reliable exit status
18111         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
18112         Reported by Bruno Haible.
18113
18114 2011-05-24  Bruno Haible  <bruno@clisp.org>
18115
18116         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
18117         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
18118         gl_PREREQ_STRERROR_R invocations from here...
18119         * modules/strerror_r-posix (configure.ac): ... to here.
18120
18121 2011-05-24  Eric Blake  <eblake@redhat.com>
18122
18123         strerror_r: fix missing header
18124         * lib/strerror_r.c: Avoid compiler warning about snprintf.
18125
18126         strerror_r: fix AIX test failures
18127         * lib/strerror_r.c (strerror_r): Convert silent truncation to
18128         ERANGE failure.
18129
18130         strerror_r: fix Solaris test failures
18131         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
18132         failures.
18133         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
18134
18135         strerror_r: enforce POSIX recommendations
18136         * lib/strerror_r.c (safe_copy): New helper method.
18137         (strerror_r): Guarantee a non-empty string.
18138         * tests/test-strerror_r.c (main): Enhance tests to incorporate
18139         recent POSIX rulings and to match our strerror guarantees.
18140         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
18141
18142 2011-05-24  Jim Meyering  <meyering@redhat.com>
18143
18144         test-perror2.c: avoid warning about unused variable
18145         * tests/test-perror2.c (main): Remove declaration of unused "fp".
18146
18147 2011-05-24  Eric Blake  <eblake@redhat.com>
18148
18149         perror: avoid spurious test failure on HP-UX
18150         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
18151
18152         tests: fix logic bug in init.sh
18153         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
18154         shell.
18155
18156 2011-05-24  Jim Meyering  <meyering@redhat.com>
18157
18158         utimensat: do not reference an out-of-scope buffer
18159         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
18160         declared in an inner scope, yet "times" would be dereferenced outside
18161         the scope in which "ts" was valid.
18162         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
18163         of ts[2] "out/up", so that the use of aliased "times" (via
18164         "times = ts;") does not end up referencing an out-of-scope "ts"
18165
18166         opendir-safer.c: don't clobber errno; don't close negative FD
18167         * lib/opendir-safer.c (opendir_safer):
18168         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
18169         file descriptor, and more importantly, don't clobber the
18170         offending errno value with EINVAL.  Before, upon failure
18171         of dup_safer, we would pass the negative file descriptor to
18172         fdopendir, which would clobber errno.
18173
18174 2011-05-23  Bruno Haible  <bruno@clisp.org>
18175
18176         idcache: Fix module description.
18177         * modules/idcache (Include): Set to "idcache.h".
18178
18179 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
18180
18181         gnulib-tool: fix portability problem with MacOS sed
18182         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
18183         before the "}".  Problem reported by Leo in
18184         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
18185         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
18186         sed_extract_condition1, sed_extract_condition2.
18187
18188 2011-05-23  Bruno Haible  <bruno@clisp.org>
18189
18190         hash: Simplify autoconf macro.
18191         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
18192
18193 2011-05-23  Bruno Haible  <bruno@clisp.org>
18194
18195         getugroups: Fix module description.
18196         * modules/getugroups (Include): Set to "getugroups.h".
18197
18198 2011-05-23  Bruno Haible  <bruno@clisp.org>
18199
18200         linkat: Simplify autoconf macro.
18201         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
18202
18203 2011-05-23  Bruno Haible  <bruno@clisp.org>
18204             Eric Blake  <eblake@redhat.com>
18205
18206         linkat, renameat: Update dependencies.
18207         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
18208         * modules/linkat (Depends-on): Likewise. Remove also readlink,
18209         symlinkat.
18210
18211 2011-05-23  Jim Meyering  <meyering@redhat.com>
18212
18213         maint.mk: more tight_scope improvements
18214         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
18215         (_gl_TS_headers): Define only in if-0'd block.
18216         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
18217         sometimes we must *not* use it.  Adjust uses accordingly.
18218         (sc_tight_scope): Use much simpler grep-based test to determine
18219         whether we skip this rule.
18220
18221         maint.mk: generalize/improve the tight-scope rule
18222         * top/maint.mk: Emit a warning when the test is skipped.
18223         (_gl_TS_dir): Add $(srcdir)/ prefix.
18224         (_gl_TS_function_match): Simplify, rather than trying
18225         to enumerate common types.  Otherwise, it would fail to match an
18226         "extern unsigned char const *" declaration in idutils.
18227         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
18228         a way to support use of that type of macro.
18229         (_gl_TS_var_match): Simplify regexp.
18230         (_gl_TS_obj_files): New configurable variable.
18231         (_gl_TS_headers): Likewise.
18232
18233 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
18234
18235         verify: fix bug when gnulib <assert.h> is also included
18236         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
18237         is defined, not if _GL_STATIC_ASSERT_H is not defined.
18238         Perhaps there's a better way, but this fixes the immediate problem.
18239         Problem reported by Bruno Haible in
18240         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
18241
18242 2011-05-22  Bruno Haible  <bruno@clisp.org>
18243
18244         xgetcwd: Simplify autoconf macro.
18245         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
18246
18247 2011-05-22  Bruno Haible  <bruno@clisp.org>
18248
18249         New module 'mktime-internal'.
18250         * modules/mktime-internal: New file.
18251         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
18252         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
18253         mktime_internal as a C macro if libc has __mktime_internal.
18254         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
18255         conditions.
18256         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
18257
18258 2011-05-22  Bruno Haible  <bruno@clisp.org>
18259
18260         timegm: Correct mktime replacement statements.
18261         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
18262         defining mktime as a C macro. This completes a 2009-07-28 commit.
18263
18264 2011-05-22  Bruno Haible  <bruno@clisp.org>
18265
18266         timegm: Simplify autoconf macro.
18267         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
18268
18269 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18270
18271         clock-time: change to LGPLv2+.
18272         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
18273         BSD-like but we have no mark for that; this is good enough for now.
18274
18275 2011-05-21  Bruno Haible  <bruno@clisp.org>
18276
18277         strerror_r: Fix comments.
18278         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
18279
18280 2011-05-21  Bruno Haible  <bruno@clisp.org>
18281
18282         relocatable-prog-wrapper: Fix possible link error.
18283         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
18284         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
18285         (gl_FUNC_SETENV): ... to here.
18286         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
18287         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
18288
18289 2011-05-21  Bruno Haible  <bruno@clisp.org>
18290
18291         relocatable-prog-wrapper: Assume strerror() exists.
18292         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
18293         m4/strerror.m4.
18294         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
18295         * lib/relocwrapper.c: Remove mention of strerror module.
18296         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
18297         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
18298         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
18299         C macro.
18300
18301 2011-05-21  Bruno Haible  <bruno@clisp.org>
18302
18303         select: Simplify replacement idiom.
18304         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
18305         Win32 platforms.
18306         * lib/sys_select.in.h (select): Simplify accordingly.
18307         * modules/select (Depends-on): Likewise.
18308
18309 2011-05-21  Bruno Haible  <bruno@clisp.org>
18310
18311         mkdir-p: Simplify autoconf macro.
18312         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
18313         gl_FUNC_LCHOWN.
18314
18315 2011-05-21  Eric Blake  <eblake@redhat.com>
18316
18317         strerror_r: avoid clobbering strerror on cygwin
18318         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
18319         fall back instead to sys_errlist.
18320         * modules/strerror (configure.ac): Add witness.
18321         * tests/test-strerror_r.c (main): Enhance test.
18322         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
18323         * tests/test-perror2.c (main): Free memory before exit.
18324
18325 2011-05-21  Bruno Haible  <bruno@clisp.org>
18326
18327         mkdtemp: Use gnulib naming conventions.
18328         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
18329         * modules/mkdtemp (configure.ac): Update.
18330
18331 2011-05-20  Eric Blake  <eblake@redhat.com>
18332
18333         strerror_r: avoid corrupting errno on Solaris
18334         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
18335         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
18336
18337         strerror_r: avoid compiler warning
18338         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
18339
18340         strerror_r: simplify AIX code
18341         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
18342
18343         test-perror: avoid spurious failure on FreeBSD
18344         * modules/perror-tests (Depends-on): Add strerror, now that
18345         strerror_r no longer pulls it in.
18346
18347 2011-05-20  Bruno Haible  <bruno@clisp.org>
18348
18349         strerror_r-posix: Remove unused dependencies.
18350         * modules/strerror_r-posix (Depends-on): Remove strerror.
18351         Reported by Eric Blake.
18352
18353 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18354
18355         intprops: remove assumption about A|B representation
18356         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
18357         is a valid integer if both A and B are.  Although this is true for
18358         all known practical hosts, the C standard doesn't guarantee it,
18359         and the code need not assume it.  Also, this change may work around
18360         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
18361         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
18362
18363 2011-05-20  Eric Blake  <eblake@redhat.com>
18364
18365         perror: work around FreeBSD bug
18366         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
18367         is broken.  Move AC_LIBOBJ...
18368         * modules/perror (configure.ac): Here.
18369         * doc/posix-functions/perror.texi (perror): Document this.
18370         * tests/test-perror2.c (main): Enhance test.
18371
18372         test-perror: check for strerror interactions
18373         * tests/macros.h (STREQ): Add macro.
18374         * modules/perror-tests (Files): Add second test.
18375         * tests/test-perror2.c (main): New file.
18376         * doc/posix-functions/perror.texi (perror): Document glibc bug.
18377
18378         test-perror: rewrite to use init script
18379         * modules/perror-tests (Files): Add init.sh.
18380         * tests/test-perror.sh: Use temporary directory.
18381
18382 2011-05-20  Jim Meyering  <meyering@redhat.com>
18383
18384         maint: replace misused "a" with "an"
18385         * doc/intprops.texi: "a integer"
18386         * doc/regex.texi: "a explanation"
18387         * lib/alignof.h: "a object"
18388         * lib/argmatch.h: "a explanation"
18389         * lib/argp-help.c: "a option" and "a OPTION_DOC"
18390         * lib/stdint.in.h: "a integer"
18391         * lib/userspec.c: "a owner"
18392         * doc/gnulib.texi: Fix "a idea", and reword.
18393
18394 2011-05-19  Jim Meyering  <meyering@redhat.com>
18395
18396         maint: correct misuse of "a" and "an"
18397         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
18398         * lib/argp-help.c: "an docum...": s/an/a/
18399         * lib/argp-parse.c: "An vector": s/An/A/
18400         * lib/execute.c: "an native": s/an/a/
18401         * lib/spawn-pipe.c: Likewise.
18402         * lib/gc.h: "an Gc_rc": s/an/a/
18403         * lib/unigbrk.in.h: "an grapheme": s/an/a/
18404         * lib/fts.c: "an stat.st_dev": s/an/a/
18405
18406 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18407
18408         intprops-tests: work around HP-UX 11.23 cc bug with constants
18409         * tests/test-intprops.c (VERIFY): New macro.
18410         (main): Use it, instead of verify, to work around the compiler bug; see
18411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18412
18413         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
18414         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
18415         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
18416         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
18417         (_GL_REMAINDER_OVERFLOW): Use it.
18418
18419         intprops-tests: revert unsigned part of previous change
18420         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
18421         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
18422         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
18423         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
18424
18425 2011-05-19  Bruno Haible  <bruno@clisp.org>
18426
18427         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
18428         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
18429         strerror_r() returned without filling the buffer.
18430         Reported by Eric Blake.
18431
18432 2011-05-19  Eric Blake  <eblake@redhat.com>
18433
18434         strerror_r: guarantee unchanged errno
18435         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
18436         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
18437         failure.
18438         * tests/test-strerror_r.c (main): Enhance test.
18439
18440 2011-05-19  Bruno Haible  <bruno@clisp.org>
18441
18442         strerror_r: Reorder #if blocks.
18443         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
18444         for consistency with the previous commit.
18445
18446 2011-05-19  Bruno Haible  <bruno@clisp.org>
18447
18448         perror: Avoid clobbering the strerror buffer when possible.
18449         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
18450         * lib/strerror.c: Include it.
18451         * modules/strerror (Files): Add lib/strerror-impl.h.
18452         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
18453         (my_strerror): New function, defined through lib/strerror-impl.h.
18454         (perror): Use it instead of strerror.
18455         * modules/perror (Files): Add lib/strerror-impl.h.
18456         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
18457
18458 2011-05-19  Eric Blake  <eblake@redhat.com>
18459
18460         strerror_r: fix on newer cygwin
18461         * lib/strerror_r.c (strerror_r): Cygwin now has
18462         __xpg_strerror_r, use it.
18463
18464 2011-05-19  Bruno Haible  <bruno@clisp.org>
18465
18466         strerror_r: Avoid clobbering the strerror buffer when possible.
18467         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
18468         (sys_nerr, sys_errlist): New declarations.
18469         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
18470         HP-UX, native Win32, IRIX, and 32-bit Solaris.
18471         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
18472
18473 2011-05-19  Bruno Haible  <bruno@clisp.org>
18474
18475         strerror_r: Fix test failure on mingw.
18476         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
18477         EXTEND_STRERROR_R.
18478         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
18479         macros from errno.in.h instead.
18480
18481 2011-05-19  Eric Blake  <eblake@redhat.com>
18482
18483         strerror: relax test for Solaris
18484         * tests/test-strerror.c (main): Permit Solaris behavior.
18485         * tests/test-strerror_r.c (main): Likewise.
18486
18487         strerror: enforce POSIX ruling on strerror(0)
18488         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
18489         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
18490         * lib/strerror_r.c (rpl_strerror_r): Work around it.
18491         * doc/posix-functions/strerror.texi (strerror): Document it.
18492         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
18493         * tests/test-strerror.c (main): Strengthen test.
18494         * tests/test-strerror_r.c (main): Likewise.
18495
18496 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18497
18498         intprop-tests: port to older and more-pedantic compilers
18499         * modules/intprops-tests (Files): Add tests/macros.h.
18500         * tests/test-intprops.c: Include macros.h.
18501         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
18502         it's no longer documented to expand to an integer constant expression.
18503         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
18504         argument is floating point, as it's no longer documented to expand
18505         to an integer constant expression in that case.
18506         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
18507         compiler bugs reported by Bruno Haible.  See
18508         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18509         (U0, U1): New constants, to work around the same bugs.  Also,
18510         in tests, use e.g., "(unsigned int) 39" rather than "39u".
18511
18512         intprops: work around C compiler bugs
18513         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
18514         bug in Sun C 5.11 2010/08/13 and other compilers; see
18515         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18516
18517         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
18518         * doc/intprops.texi (Integer Type Determination): Fix
18519         documentation for TYPE_IS_INTEGER: it returns an constant
18520         expression, not an integer constant expression.  Fix doc for
18521         TYPE_SIGNED: it returns an integer constant expression only if its
18522         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
18523         hardly worth documented that way....)
18524
18525 2011-05-18  Bruno Haible  <bruno@clisp.org>
18526
18527         strerror_r: Avoid clobbering the strerror buffer when possible.
18528         * lib/strerror_r.c (strerror_r): Merge the three implementations.
18529         Handle gnulib defined errno values here. When strerror() returns NULL
18530         or an empty string, return EINVAL.
18531         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
18532         gnulib defined errno values here.
18533         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
18534
18535 2011-05-18  Eric Blake  <eblake@redhat.com>
18536
18537         fnmatch: avoid compiler warning
18538         * lib/fnmatch_loop.c (FCT): Use correct type.
18539         Reported by Matthias Bolte.
18540
18541 2011-05-13  Jim Meyering  <meyering@redhat.com>
18542
18543         maint.mk: three new prohibit_<HDR>_without_use rules
18544         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
18545         (sc_prohibit_stdio-safer_without_use): Likewise.
18546         (sc_prohibit_xfreopen_without_use): Likewise.
18547
18548 2011-05-17  Jim Meyering  <meyering@redhat.com>
18549
18550         announce-gen: fail if the NEWS delta is empty
18551         If there's nothing noteworthy in NEWS, then either you forgot
18552         or you shouldn't be releasing.
18553         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
18554
18555 2011-05-17  Pádraig Brady <P@draigBrady.com>
18556
18557         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
18558         reserved symbols starting with double underscore from the check.
18559
18560 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18561
18562         intprops: add doc
18563         * doc/intprops.texi: New file, documenting intprops.
18564         * doc/gnulib.texi (Particular Modules): Include it.
18565
18566         verify: add doc to gnulib manual and fix example
18567         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
18568         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
18569         (Compile-time Assertions): Fix example so it can't overflow.
18570
18571 2011-05-17  Jim Meyering  <meyering@redhat.com>
18572
18573         warnings.m4: don't usurp save_CPPFLAGS variable name
18574         * m4/warnings.m4: Prefix local temporary variable name with gl_.
18575
18576         doc: fix typo
18577         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
18578
18579 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18580             Bruno Haible  <bruno@clisp.org>
18581
18582         doc: Tweak recent change.
18583         * README (Portability guidelines): Tweak new text.
18584         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
18585         Interix 6.1.
18586
18587 2011-05-16  Eric Blake  <eblake@redhat.com>
18588
18589         inttypes: avoid autoconf warning
18590         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
18591         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18592
18593 2011-05-16  Sam Steingold <sds@gnu.org>
18594         and Eric Blake  <eblake@redhat.com>
18595
18596         vc-list-files: accept multiple directory operands
18597         * build-aux/vc-list-files: Iterate over all remaining operands.
18598
18599 2011-05-16  Bruno Haible  <bruno@clisp.org>
18600
18601         Fix confusion regarding deprecated modules.
18602         * modules/calloc (Status, Notice): Mark module as deprecated, not
18603         obsolete.
18604         * modules/fnmatch-posix (Status, Notice): Likewise.
18605         * modules/getdate (Status, Notice): Likewise.
18606         * modules/getopt (Status, Notice): Likewise.
18607         * modules/malloc (Status, Notice): Likewise.
18608         * modules/pipe (Status, Notice): Likewise.
18609         * modules/realloc (Status, Notice): Likewise.
18610         * modules/rename-dest-slash (Status, Notice): Likewise.
18611         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
18612         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
18613         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
18614         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
18615         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
18616
18617 2011-05-16  Bruno Haible  <bruno@clisp.org>
18618
18619         doc: List the target platforms.
18620         * doc/gnulib-intro.texi (Target Platforms): New section.
18621         * doc/gnulib.texi (Introduction): Update menu.
18622         * README (Portability guidelines): Refer to the new section. Update
18623         statement about oldest supported environment. Remove rationale why
18624         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
18625         unportable C89 function.
18626         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
18627         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
18628
18629 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18630
18631         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
18632
18633 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18634
18635         intprops-tests: new module
18636         * modules/intprops-tests, tests/test-intprops.c: New files.
18637
18638         intprops: add safe, portable integer overflow checking
18639         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
18640         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
18641         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
18642         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
18643         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
18644         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
18645         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
18646         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
18647         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
18648         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
18649         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
18650
18651 2011-05-12  James Youngman  <jay@gnu.org>
18652
18653         Add a test for glibc's Bugzilla bug #12378.
18654         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
18655         doesn't allow the literal matching of a lone "[" (which is
18656         required by POSIX).
18657         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
18658
18659 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
18660
18661         Sync glibc change fixing Bugzilla bug #12378.
18662         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
18663         beginning and fall back to matching as normal character if the
18664         string ends before the matching ']' is found.  This is what POSIX
18665         requires.
18666
18667 2011-05-13  Eric Blake  <eblake@redhat.com>
18668
18669         getcwd-lgpl: relax test for FreeBSD
18670         * doc/posix-functions/getcwd.texi (getcwd): Document portability
18671         issue.
18672         * tests/test-getcwd-lgpl.c (main): Relax test.
18673         Reported by Matthias Bolte.
18674
18675 2011-05-11  Eric Blake  <eblake@redhat.com>
18676
18677         test-fflush: silence compiler warning
18678         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
18679
18680 2011-05-11  Bruno Haible  <bruno@clisp.org>
18681
18682         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
18683         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
18684         * modules/canonicalize (Depends-on): Add 'nocrash'.
18685         * modules/canonicalize-lgpl (Depends-on): Likewise.
18686         * doc/posix-functions/realpath.texi: Update platforms list.
18687         Reported by Ryan Schmidt <ryandesign@macports.org>.
18688
18689 2011-05-11  Bruno Haible  <bruno@clisp.org>
18690
18691         group-member: Declare function in <unistd.h>.
18692         * lib/unistd.in.h (group_member): New declaration.
18693         * lib/group-member.h: Remove file.
18694         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
18695         * tests/test-unistd-c++.cc: Check signature of group_member.
18696         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
18697         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
18698         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
18699         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
18700         HAVE_GROUP_MEMBER.
18701         * modules/group-member (Files): Remove lib/group-member.h.
18702         (Depends-on): Add unistd. Specify conditions.
18703         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18704         (Include): Change to <unistd.h>.
18705         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
18706         HAVE_GROUP_MEMBER.
18707         * NEWS: Mention the change.
18708         * lib/euidaccess.c: Don't include group-member.h.
18709
18710 2011-05-11  Bruno Haible  <bruno@clisp.org>
18711
18712         group-member: Document module.
18713         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
18714         module.
18715
18716 2011-05-11  Bruno Haible  <bruno@clisp.org>
18717
18718         fclose: Fix mistake earlier today.
18719         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
18720
18721 2011-05-11  Eric Blake  <eblake@redhat.com>
18722
18723         fclose: preserve fflush errors
18724         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
18725         Reported by Jim Meyering.
18726
18727         bootstrap: support a prereq of 'rpcgen -' on RHEL5
18728         * build-aux/bootstrap (check_versions): When no specific version
18729         is required, merely check that the app produces an exit status
18730         that indicates its existence.
18731
18732         maint.mk: drop redundant check
18733         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
18734         the same but better.
18735
18736 2011-05-11  Bruno Haible  <bruno@clisp.org>
18737
18738         fclose: Fix possible link error.
18739         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
18740         unregister_shadow_fd. Improve comments.
18741         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
18742         Eric Blake.
18743
18744 2011-05-11  Jim Meyering  <meyering@redhat.com>
18745
18746         maint.mk: improve "can not" detection and generalize rule name
18747         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
18748         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
18749         Use the same technique as in sc_prohibit_doubled_word, so that
18750         we recognize "can not" also when the words are separated by a newline.
18751         Suggested by Eric Blake.
18752         (perl_filename_lineno_text_): Define.  Factored out of...
18753         (prohibit_doubled_word_): ...here.  Use the new definition.
18754         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
18755         (prohibit_undesirable_word_seq_RE_): New overridable variable.
18756         (ignore_undesirable_word_sequence_RE_): New overridable variable.
18757
18758 2011-05-10  Eric Blake  <eblake@redhat.com>
18759
18760         fclose: avoid double close race when possible
18761         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
18762         all but WINDOWS_SOCKETS.
18763
18764 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
18765
18766         openat: correct new comment
18767         * lib/openat-proc.c (openat_proc_name): Correct the comment.
18768
18769 2011-05-10  Jim Meyering  <meyering@redhat.com>
18770
18771         openat: add comments
18772         * lib/openat-proc.c (openat_proc_name): Add comments,
18773         mostly from Eric Blake.
18774
18775 2011-05-09  Eric Blake  <eblake@redhat.com>
18776
18777         openat: reduce syscalls in first probe of /proc
18778         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
18779         be a directory.  Simplify the probe for .. bugs.
18780         * modules/openat (Depends-on): Drop same-inode.
18781         Reported by Bastien ROUCARIES.
18782
18783 2011-05-09  Jim Meyering  <meyering@redhat.com>
18784
18785         maint.mk: change semantics/name of tight_scope variables
18786         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
18787         Rename variables to align with semantics that make them more useful.
18788
18789         maint.mk: tweak new rule's name not to impinge
18790         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
18791         (sc_tight_scope): Use new rule name rather than $@-0.
18792
18793         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
18794         * top/maint.mk (sc_tight_scope): New rule.
18795         (sc_tight_scope-0): New rule, ifdef'd out.
18796         (_gl_TS_dir): Default.
18797         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
18798         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
18799
18800 2011-05-09  Simon Josefsson  <simon@josefsson.org>
18801
18802         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
18803         Haible <bruno@clisp.org>.
18804
18805 2011-05-08  Bruno Haible  <bruno@clisp.org>
18806
18807         Comments.
18808         * m4/isnanf.m4: Add comment.
18809         * m4/isnanl.m4: Likewise.
18810
18811 2011-05-08  Bruno Haible  <bruno@clisp.org>
18812
18813         glob: Remove obsolete macro.
18814         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
18815
18816 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18817
18818         intprops: Sun C 5.11 supports __typeof__
18819         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
18820         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
18821         which is new.
18822         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
18823
18824         intprops: switch to usual gnulib indenting and naming
18825         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
18826         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
18827
18828         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
18829
18830 2011-05-08  Jim Meyering  <meyering@redhat.com>
18831
18832         maint.mk: suppress "Entering/Leaving directory" diag in announcement
18833         * top/maint.mk (release-prep): Use make's --no-print-directory
18834         option when generating the announcement.  This eliminates the
18835         pesky "make[2]: Entering/Leaving directory" diagnostics in the
18836         generated announcement template.
18837
18838 2011-05-08  Bruno Haible  <bruno@clisp.org>
18839
18840         tzset: Fix gettimeofday wrapper on Solaris 2.6.
18841         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
18842         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
18843
18844 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18845
18846         ignore-value, verify: Omit include files from lib_SOURCES.
18847         * modules/ignore-value, modules/verify (Makefile.am):
18848         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
18849         that leads Automake to duplicate use of am__objects_... variables
18850         in Makefile.in.  See
18851         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
18852
18853 2011-05-07  Bruno Haible  <bruno@clisp.org>
18854
18855         fclose: Simplify autoconf macro.
18856         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
18857         defined.
18858
18859 2011-05-07  Bruno Haible  <bruno@clisp.org>
18860
18861         canonicalize-lgpl: Fix autoconf macro ordering bug.
18862         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
18863         gl_STDLIB_H_DEFAULTS.
18864
18865 2011-05-06  Eric Blake  <eblake@redhat.com>
18866
18867         maintainer-makefile: make sc_po_check easier to tune
18868         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
18869         to probe for strings, such as an alternate location for gnulib.
18870
18871         fclose: guarantee behavior on seekable stdin
18872         * modules/fclose (Depends-on): Add fflush.
18873         * doc/posix-functions/fclose.texi (fclose): Document this.
18874         * tests/test-fclose.c (main): Make test for this unconditional.
18875
18876 2011-05-06  Bruno Haible  <bruno@clisp.org>
18877
18878         fflush, fpurge: Relicense under LGPLv2+.
18879         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
18880         * modules/fpurge (License): Likewise.
18881         With permission from Eric Blake and Jim Meyering.
18882         Suggested by Eric Blake.
18883
18884 2011-05-06  Karl Berry  <karl@gnu.org>
18885
18886         * MODULES.html.sh (func_all_modules): remove exit.
18887
18888 2011-05-06  Jim Meyering  <meyering@redhat.com>
18889
18890         maint.mk: use info-gnu@ as the default only for a stable release
18891         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
18892         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
18893         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
18894         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
18895
18896 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18897
18898         assert-h: new module, which supports C1X-style static_assert
18899         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
18900         * lib/verify.h: Revamp so that this can be copied into assert.h,
18901         while retaining the ability to use it standalone as before.
18902         Rename private identifiers so as not to encroach on the
18903         standard C namespace, since this is now used by assert.h.
18904         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
18905         the old verify_true.
18906         (_GL_VERIFY_TRUE): New macro, with much of the contents of
18907         the old verify_true.  Use _GL_VERIFY_TYPE.
18908         (_GL_VERIFY): New macro, with much of the contents of the old verify.
18909         (static_assert): New macro, if _GL_STATIC_ASSERT_H
18910         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
18911         defined when this file is copied into the replacement assert.h.
18912         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
18913         and _Static_assert is not built in.
18914         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
18915         defined, and use the new macros mentioned above.
18916         * doc/posix-headers/assert.texi: Document this.
18917
18918 2011-05-05  Bruno Haible  <bruno@clisp.org>
18919
18920         fclose, fflush: Respect rules for use of AC_LIBOBJ.
18921         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
18922         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
18923         gl_REPLACE_FCLOSE here.
18924         * modules/fflush (Depends-on): Remove fclose.
18925         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
18926         combination with module 'fclose'.
18927
18928 2011-05-05  Bruno Haible  <bruno@clisp.org>
18929
18930         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
18931         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
18932         gl_FUNC_FFLUSH.
18933         (gl_FUNC_FFLUSH): Use it.
18934         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
18935         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
18936         gl_REPLACE_FSEEKO here.
18937
18938 2011-05-05  Bruno Haible  <bruno@clisp.org>
18939
18940         tzset: Relicense under LGPL.
18941         * modules/tzset (License): Change to LGPL.
18942         No agreement needed; it's a no-op.
18943
18944         strtoimax, strtoumax: Relicense under LGPL.
18945         * modules/strtoimax (License): Change to LGPL.
18946         * modules/strtoumax (License): Likewise.
18947         With permission from Jim Meyering, Paul Eggert:
18948         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18950
18951         getgroups: Relicense under LGPL.
18952         * modules/getgroups (License): Change to LGPL.
18953         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18954         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18955         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18956         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18957
18958         nanosleep: Relicense under LGPL.
18959         * modules/nanosleep (License): Change to LGPL.
18960         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18961         Haible:
18962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18964         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18965         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18966
18967         futimens: Relicense under LGPL.
18968         * modules/futimens (License): Change to LGPL.
18969         With permission from Eric Blake:
18970         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18971
18972         fflush: Relicense under LGPL.
18973         * modules/fflush (License): Change to LGPL.
18974         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18975         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18976         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18977         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18978
18979         tmpfile: Relicense under LGPL.
18980         * modules/tmpfile (License): Change to LGPL.
18981         With permission from Ben Pfaff:
18982         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18983
18984         isfinite: Relicense under LGPL.
18985         * modules/isfinite (License): Change to LGPL.
18986         With permission from Ben Pfaff, Bruno Haible:
18987         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18988         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18989
18990         acosl..tanl: Relicense under LGPL.
18991         * modules/acosl (License): Change to LGPL.
18992         * modules/asinl (License): Likewise.
18993         * modules/atanl (License): Likewise.
18994         * modules/cosl (License): Likewise.
18995         * modules/expl (License): Likewise.
18996         * modules/logl (License): Likewise.
18997         * modules/sinl (License): Likewise.
18998         * modules/sqrtl (License): Likewise.
18999         * modules/tanl (License): Likewise.
19000         Source code originally from glibc and Paolo Bonzini. Agreements:
19001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
19002         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
19003
19004 2011-05-05  Bruno Haible  <bruno@clisp.org>
19005
19006         signal: Define sighandler_t.
19007         * lib/signal.in.h (sighandler_t): New type.
19008         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
19009         whether sighandler_t is defined.
19010         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
19011         * modules/signal (Depends-on): Add extensions.
19012         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
19013         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
19014         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
19015
19016 2011-05-05  Eric Blake  <eblake@redhat.com>
19017
19018         maint: remove useless REPLACE_*_H macros
19019         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
19020         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19021         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19022         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
19023         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19024         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19025         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
19026         * m4/btowc.m4: Update callers.
19027         * m4/dirfd.m4: Likewise.
19028         * m4/duplocale.m4: Likewise.
19029         * m4/fchdir.m4: Likewise.
19030         * m4/fdopendir.m4: Likewise.
19031         * m4/inet_ntop.m4: Likewise.
19032         * m4/inet_pton.m4: Likewise.
19033         * m4/ioctl.m4: Likewise.
19034         * m4/mbrlen.m4: Likewise.
19035         * m4/mbrtowc.m4: Likewise.
19036         * m4/mbsinit.m4: Likewise.
19037         * m4/mbsnrtowcs.m4: Likewise.
19038         * m4/mbsrtowcs.m4: Likewise.
19039         * m4/poll.m4: Likewise.
19040         * m4/setlocale.m4: Likewise.
19041         * m4/wcrtomb.m4: Likewise.
19042         * m4/wcsnrtombs.m4: Likewise.
19043         * m4/wcsrtombs.m4: Likewise.
19044         * m4/wctob.m4: Likewise.
19045         * m4/wcwidth.m4: Likewise.
19046         * modules/posix_spawn: Likewise.
19047         * modules/posix_spawn_file_actions_addclose: Likewise.
19048         * modules/posix_spawn_file_actions_adddup2: Likewise.
19049         * modules/posix_spawn_file_actions_addopen: Likewise.
19050         * modules/posix_spawn_file_actions_destroy: Likewise.
19051         * modules/posix_spawn_file_actions_init: Likewise.
19052         * modules/posix_spawnattr_destroy: Likewise.
19053         * modules/posix_spawnattr_getflags: Likewise.
19054         * modules/posix_spawnattr_getpgroup: Likewise.
19055         * modules/posix_spawnattr_getschedparam: Likewise.
19056         * modules/posix_spawnattr_getschedpolicy: Likewise.
19057         * modules/posix_spawnattr_getsigdefault: Likewise.
19058         * modules/posix_spawnattr_getsigmask: Likewise.
19059         * modules/posix_spawnattr_init: Likewise.
19060         * modules/posix_spawnattr_setflags: Likewise.
19061         * modules/posix_spawnattr_setpgroup: Likewise.
19062         * modules/posix_spawnattr_setschedparam: Likewise.
19063         * modules/posix_spawnattr_setschedpolicy: Likewise.
19064         * modules/posix_spawnattr_setsigdefault: Likewise.
19065         * modules/posix_spawnattr_setsigmask: Likewise.
19066         * modules/posix_spawnp: Likewise.
19067
19068 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
19069
19070         Add option to do-release-commit-and-tag to specify branch.
19071         * build-aux/do-release-commit-and-tag: Add --branch.
19072
19073 2011-05-03  Bruno Haible  <bruno@clisp.org>
19074
19075         Avoid unnecessary compilation units, through conditional dependencies.
19076         * modules/accept (Depends-on): Add conditions to the dependencies.
19077         * modules/acosl (Depends-on): Likewise.
19078         * modules/argz (Depends-on): Likewise.
19079         * modules/asinl (Depends-on): Likewise.
19080         * modules/atanl (Depends-on): Likewise.
19081         * modules/atoll (Depends-on): Likewise.
19082         * modules/bind (Depends-on): Likewise.
19083         * modules/btowc (Depends-on): Likewise.
19084         * modules/canonicalize-lgpl (Depends-on): Likewise.
19085         * modules/ceil (Depends-on): Likewise.
19086         * modules/ceilf (Depends-on): Likewise.
19087         * modules/ceill (Depends-on): Likewise.
19088         * modules/chdir-long (Depends-on): Likewise.
19089         * modules/chown (Depends-on): Likewise.
19090         * modules/close (Depends-on): Likewise.
19091         * modules/connect (Depends-on): Likewise.
19092         * modules/cosl (Depends-on): Likewise.
19093         * modules/dirfd (Depends-on): Likewise.
19094         * modules/dprintf (Depends-on): Likewise.
19095         * modules/dprintf-posix (Depends-on): Likewise.
19096         * modules/error (Depends-on): Likewise.
19097         * modules/euidaccess (Depends-on): Likewise.
19098         * modules/expl (Depends-on): Likewise.
19099         * modules/faccessat (Depends-on): Likewise.
19100         * modules/fchdir (Depends-on): Likewise.
19101         * modules/fclose (Depends-on): Likewise.
19102         * modules/fcntl (Depends-on): Likewise.
19103         * modules/fdopendir (Depends-on): Likewise.
19104         * modules/fflush (Depends-on): Likewise.
19105         * modules/floor (Depends-on): Likewise.
19106         * modules/floorf (Depends-on): Likewise.
19107         * modules/floorl (Depends-on): Likewise.
19108         * modules/fnmatch (Depends-on): Likewise.
19109         * modules/fopen (Depends-on): Likewise.
19110         * modules/fprintf-posix (Depends-on): Likewise.
19111         * modules/frexp (Depends-on): Likewise.
19112         * modules/frexp-nolibm (Depends-on): Likewise.
19113         * modules/frexpl (Depends-on): Likewise.
19114         * modules/frexpl-nolibm (Depends-on): Likewise.
19115         * modules/fseek (Depends-on): Likewise.
19116         * modules/fsusage (Depends-on): Likewise.
19117         * modules/ftell (Depends-on): Likewise.
19118         * modules/ftello (Depends-on): Likewise.
19119         * modules/futimens (Depends-on): Likewise.
19120         * modules/getcwd (Depends-on): Likewise.
19121         * modules/getcwd-lgpl (Depends-on): Likewise.
19122         * modules/getdelim (Depends-on): Likewise.
19123         * modules/getdomainname (Depends-on): Likewise.
19124         * modules/getgroups (Depends-on): Likewise.
19125         * modules/gethostname (Depends-on): Likewise.
19126         * modules/getline (Depends-on): Likewise.
19127         * modules/getlogin_r (Depends-on): Likewise.
19128         * modules/getopt-posix (Depends-on): Likewise.
19129         * modules/getpeername (Depends-on): Likewise.
19130         * modules/getsockname (Depends-on): Likewise.
19131         * modules/getsockopt (Depends-on): Likewise.
19132         * modules/getsubopt (Depends-on): Likewise.
19133         * modules/getusershell (Depends-on): Likewise.
19134         * modules/glob (Depends-on): Likewise.
19135         * modules/grantpt (Depends-on): Likewise.
19136         * modules/iconv_open (Depends-on): Likewise.
19137         * modules/iconv_open-utf (Depends-on): Likewise.
19138         * modules/inet_ntop (Depends-on): Likewise.
19139         * modules/inet_pton (Depends-on): Likewise.
19140         * modules/ioctl (Depends-on): Likewise.
19141         * modules/isapipe (Depends-on): Likewise.
19142         * modules/isfinite (Depends-on): Likewise.
19143         * modules/isinf (Depends-on): Likewise.
19144         * modules/lchown (Depends-on): Likewise.
19145         * modules/ldexpl (Depends-on): Likewise.
19146         * modules/link (Depends-on): Likewise.
19147         * modules/linkat (Depends-on): Likewise.
19148         * modules/listen (Depends-on): Likewise.
19149         * modules/logl (Depends-on): Likewise.
19150         * modules/lstat (Depends-on): Likewise.
19151         * modules/mbrlen (Depends-on): Likewise.
19152         * modules/mbrtowc (Depends-on): Likewise.
19153         * modules/mbsinit (Depends-on): Likewise.
19154         * modules/mbsnrtowcs (Depends-on): Likewise.
19155         * modules/mbsrtowcs (Depends-on): Likewise.
19156         * modules/mbtowc (Depends-on): Likewise.
19157         * modules/memcmp (Depends-on): Likewise.
19158         * modules/mkdir (Depends-on): Likewise.
19159         * modules/mkdtemp (Depends-on): Likewise.
19160         * modules/mkfifo (Depends-on): Likewise.
19161         * modules/mkfifoat (Depends-on): Likewise.
19162         * modules/mknod (Depends-on): Likewise.
19163         * modules/mkostemp (Depends-on): Likewise.
19164         * modules/mkostemps (Depends-on): Likewise.
19165         * modules/mkstemp (Depends-on): Likewise.
19166         * modules/mkstemps (Depends-on): Likewise.
19167         * modules/mktime (Depends-on): Likewise.
19168         * modules/nanosleep (Depends-on): Likewise.
19169         * modules/open (Depends-on): Likewise.
19170         * modules/openat (Depends-on): Likewise.
19171         * modules/perror (Depends-on): Likewise.
19172         * modules/poll (Depends-on): Likewise.
19173         * modules/popen (Depends-on): Likewise.
19174         * modules/posix_spawn (Depends-on): Likewise.
19175         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
19176         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
19177         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
19178         * modules/posix_spawnp (Depends-on): Likewise.
19179         * modules/pread (Depends-on): Likewise.
19180         * modules/printf-posix (Depends-on): Likewise.
19181         * modules/ptsname (Depends-on): Likewise.
19182         * modules/putenv (Depends-on): Likewise.
19183         * modules/pwrite (Depends-on): Likewise.
19184         * modules/readline (Depends-on): Likewise.
19185         * modules/readlink (Depends-on): Likewise.
19186         * modules/readlinkat (Depends-on): Likewise.
19187         * modules/recv (Depends-on): Likewise.
19188         * modules/recvfrom (Depends-on): Likewise.
19189         * modules/regex (Depends-on): Likewise.
19190         * modules/remove (Depends-on): Likewise.
19191         * modules/rename (Depends-on): Likewise.
19192         * modules/renameat (Depends-on): Likewise.
19193         * modules/rmdir (Depends-on): Likewise.
19194         * modules/round (Depends-on): Likewise.
19195         * modules/roundf (Depends-on): Likewise.
19196         * modules/roundl (Depends-on): Likewise.
19197         * modules/rpmatch (Depends-on): Likewise.
19198         * modules/select (Depends-on): Likewise.
19199         * modules/send (Depends-on): Likewise.
19200         * modules/sendto (Depends-on): Likewise.
19201         * modules/setenv (Depends-on): Likewise.
19202         * modules/setlocale (Depends-on): Likewise.
19203         * modules/setsockopt (Depends-on): Likewise.
19204         * modules/shutdown (Depends-on): Likewise.
19205         * modules/sigaction (Depends-on): Likewise.
19206         * modules/signbit (Depends-on): Likewise.
19207         * modules/sigprocmask (Depends-on): Likewise.
19208         * modules/sinl (Depends-on): Likewise.
19209         * modules/sleep (Depends-on): Likewise.
19210         * modules/snprintf (Depends-on): Likewise.
19211         * modules/snprintf-posix (Depends-on): Likewise.
19212         * modules/socket (Depends-on): Likewise.
19213         * modules/sprintf-posix (Depends-on): Likewise.
19214         * modules/sqrtl (Depends-on): Likewise.
19215         * modules/stat (Depends-on): Likewise.
19216         * modules/strchrnul (Depends-on): Likewise.
19217         * modules/strdup-posix (Depends-on): Likewise.
19218         * modules/strerror (Depends-on): Likewise.
19219         * modules/strerror_r-posix (Depends-on): Likewise.
19220         * modules/strndup (Depends-on): Likewise.
19221         * modules/strnlen (Depends-on): Likewise.
19222         * modules/strptime (Depends-on): Likewise.
19223         * modules/strsep (Depends-on): Likewise.
19224         * modules/strsignal (Depends-on): Likewise.
19225         * modules/strstr-simple (Depends-on): Likewise.
19226         * modules/strtod (Depends-on): Likewise.
19227         * modules/strtoimax (Depends-on): Likewise.
19228         * modules/strtok_r (Depends-on): Likewise.
19229         * modules/strtoumax (Depends-on): Likewise.
19230         * modules/symlink (Depends-on): Likewise.
19231         * modules/symlinkat (Depends-on): Likewise.
19232         * modules/tanl (Depends-on): Likewise.
19233         * modules/tcgetsid (Depends-on): Likewise.
19234         * modules/tmpfile (Depends-on): Likewise.
19235         * modules/trunc (Depends-on): Likewise.
19236         * modules/truncf (Depends-on): Likewise.
19237         * modules/truncl (Depends-on): Likewise.
19238         * modules/uname (Depends-on): Likewise.
19239         * modules/unlink (Depends-on): Likewise.
19240         * modules/unlockpt (Depends-on): Likewise.
19241         * modules/unsetenv (Depends-on): Likewise.
19242         * modules/usleep (Depends-on): Likewise.
19243         * modules/utimensat (Depends-on): Likewise.
19244         * modules/vasprintf (Depends-on): Likewise.
19245         * modules/vdprintf (Depends-on): Likewise.
19246         * modules/vdprintf-posix (Depends-on): Likewise.
19247         * modules/vfprintf-posix (Depends-on): Likewise.
19248         * modules/vprintf-posix (Depends-on): Likewise.
19249         * modules/vsnprintf (Depends-on): Likewise.
19250         * modules/vsnprintf-posix (Depends-on): Likewise.
19251         * modules/vsprintf-posix (Depends-on): Likewise.
19252         * modules/wcrtomb (Depends-on): Likewise.
19253         * modules/wcscasecmp (Depends-on): Likewise.
19254         * modules/wcscspn (Depends-on): Likewise.
19255         * modules/wcsdup (Depends-on): Likewise.
19256         * modules/wcsncasecmp (Depends-on): Likewise.
19257         * modules/wcsnrtombs (Depends-on): Likewise.
19258         * modules/wcspbrk (Depends-on): Likewise.
19259         * modules/wcsrtombs (Depends-on): Likewise.
19260         * modules/wcsspn (Depends-on): Likewise.
19261         * modules/wcsstr (Depends-on): Likewise.
19262         * modules/wcstok (Depends-on): Likewise.
19263         * modules/wcswidth (Depends-on): Likewise.
19264         * modules/wctob (Depends-on): Likewise.
19265         * modules/wctomb (Depends-on): Likewise.
19266         * modules/wctype (Depends-on): Likewise.
19267         * modules/wcwidth (Depends-on): Likewise.
19268         * modules/write (Depends-on): Likewise.
19269
19270 2011-05-03  Bruno Haible  <bruno@clisp.org>
19271
19272         Support for conditional dependencies.
19273         * doc/gnulib.texi (Module description): Document the syntax of
19274         conditional dependencies.
19275         * gnulib-tool: New option --conditional-dependencies.
19276         (func_usage): Document it.
19277         (cond_dependencies): New variable.
19278         (func_get_automake_snippet_conditional,
19279         func_get_automake_snippet_unconditional): New functions, extracted from
19280         func_get_automake_snippet.
19281         (func_get_automake_snippet): Use them.
19282         (sed_first_32_chars): New variable.
19283         (func_module_shellfunc_name): New function.
19284         (func_module_shellvar_name): New function.
19285         (func_module_conditional_name): New function.
19286         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
19287         func_cond_module_condition): New functions.
19288         (func_modules_transitive_closure): Add support for conditional
19289         dependencies.
19290         (func_emit_lib_Makefile_am): For a conditional module, enclose the
19291         conditional automake snippet in an automake conditional.
19292         (func_emit_autoconf_snippets): Emit shell functions that contain the
19293         code for conditional modules.
19294         (func_import, func_create_testdir): Update specification.
19295
19296 2011-05-03  Eric Blake  <eblake@redhat.com>
19297
19298         test-getaddrinfo: report error information
19299         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
19300
19301 2011-05-03  Jim Meyering  <meyering@redhat.com>
19302
19303         bootstrap: avoid build failure when $GZIP is set
19304         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
19305         program name.  If defined at all, it is supposed to list gzip options.
19306         Reported by Alan Curry in http://debbugs.gnu.org/8609
19307
19308 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
19309
19310         readme-release: new module with release instructions
19311         * modules/readme-release: New module.
19312         * top/README-release: New file, from coreutils, grep, diffutils.
19313         * MODULES.html.sh (Support for maintaining and releasing): Add it.
19314
19315 2011-05-02  Eric Blake  <eblake@redhat.com>
19316
19317         fflush: also replace fclose when fixing fflush
19318         * modules/fflush (Depends-on): Add fclose.
19319         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
19320         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
19321         memstreams with no backing fd.
19322         * doc/posix-functions/fclose.texi (fclose): Document the use of
19323         fflush module to fix the bug.
19324         * tests/test-fclose.c (main): Relax test when fclose is used in
19325         isolation.
19326
19327         fclose: add some tests
19328         * modules/fclose-tests: New test module.
19329         * tests/test-fclose.c: New file.
19330         * doc/posix-functions/fclose.texi (fclose): Document the bug.
19331
19332         fclose: reduced dependencies
19333         * modules/fclose (Depends-on): Switch from fflush/fseeko to
19334         simpler lseek.
19335         * lib/fclose.c (rpl_fclose): Likewise.
19336         Reported by Simon Josefsson.
19337
19338         exit: drop remaining clients
19339         * modules/argmatch (Depends-on): Replace exit with stdlib.
19340         * modules/copy-file (Depends-on): Likewise.
19341         * modules/execute (Depends-on): Likewise.
19342         * modules/exitfail (Depends-on): Likewise.
19343         * modules/obstack (Depends-on): Likewise.
19344         * modules/pagealign_alloc (Depends-on): Likewise.
19345         * modules/pipe-filter-gi (Depends-on): Likewise.
19346         * modules/pipe-filter-ii (Depends-on): Likewise.
19347         * modules/savewd (Depends-on): Likewise.
19348         * modules/spawn-pipe (Depends-on): Likewise.
19349         * modules/wait-process (Depends-on): Likewise.
19350         * modules/xsetenv (Depends-on): Likewise.
19351         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
19352         * modules/git-merge-changelog (Depends-on): Likewise.
19353         * modules/long-options (Depends-on): Likewise.
19354         * modules/pt_chown (Depends-on): Likewise.
19355         * modules/sysexits (Depends-on): Likewise.
19356
19357         freading: relax license from LGPLv3+ to LGPLv2+
19358         * modules/freading (License): Relax LGPL version.
19359
19360 2011-05-02  Bruno Haible  <bruno@clisp.org>
19361
19362         fchdir: Remove unused dependencies.
19363         * modules/fchdir (Depends-on): Remove include_next.
19364
19365 2011-05-02  Bruno Haible  <bruno@clisp.org>
19366
19367         gnulib-tool: Refactor.
19368         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
19369         from func_emit_autoconf_snippets.
19370         (func_emit_autoconf_snippets): Use it.
19371
19372 2011-05-02  Simon Josefsson  <simon@josefsson.org>
19373
19374         * NEWS: Document removal of 'exit'.
19375         * modules/exit: Remove file.
19376
19377 2011-05-01  Bruno Haible  <bruno@clisp.org>
19378
19379         Update DEPENDENCIES.
19380         * DEPENDENCIES (gettext): Recommend the newest release.
19381         Reported by Simon Josefsson.
19382
19383 2011-05-01  Bruno Haible  <bruno@clisp.org>
19384
19385         gnulib-tool: Reduce code duplication.
19386         * gnulib-tool (func_emit_autoconf_snippets): New function.
19387         (func_import, func_create_testdir): Use it.
19388
19389 2011-04-30  Eric Blake  <eblake@redhat.com>
19390
19391         fclose: don't fail on non-seekable input stream
19392         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
19393         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
19394         since fflush is allowed to fail in that case.
19395
19396 2011-04-30  Bruno Haible  <bruno@clisp.org>
19397
19398         dup3: cleanup
19399         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
19400
19401 2011-04-30  Bruno Haible  <bruno@clisp.org>
19402
19403         netdb: Make it work in C++ mode.
19404         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
19405         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
19406         module.
19407         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
19408         gl_MODULE_INDICATOR_FOR_TESTS.
19409         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
19410         * modules/netdb-c++-tests: New file.
19411         * tests/test-netdb-c++.cc: New file.
19412
19413 2011-04-30  Bruno Haible  <bruno@clisp.org>
19414
19415         New modules 'vfscanf', 'vscanf'.
19416         * modules/vfscanf: New file.
19417         * modules/vscanf: New file.
19418         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
19419         here.
19420         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
19421         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
19422
19423 2011-04-30  Bruno Haible  <bruno@clisp.org>
19424
19425         passfd: Add comments.
19426         * lib/passfd.c: Add comments about platforms.
19427
19428 2011-04-30  Bruno Haible  <bruno@clisp.org>
19429
19430         sys_uio: Make <sys/uio.h> self-contained.
19431         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
19432         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
19433
19434 2011-04-30  Bruno Haible  <bruno@clisp.org>
19435
19436         sys_socket: Ensure 'struct iovec' definition.
19437         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
19438         <sys/socket.h>.
19439         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
19440
19441 2011-04-30  Bruno Haible  <bruno@clisp.org>
19442
19443         sys_uio: Protect definition of 'struct iovec'.
19444         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
19445         it as a C struct.
19446
19447 2011-04-30  Bruno Haible  <bruno@clisp.org>
19448
19449         manywarnings: fix indentation
19450         * m4/manywarnings.m4: Indent by 2 spaces consistently.
19451
19452 2011-04-30  Pádraig Brady <P@draigBrady.com>
19453
19454         manywarnings: add -Wno-missing-field-initializers if needed.
19455         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
19456         option if it's needed to allow initialization with { 0, }
19457
19458 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
19459
19460         announce-gen: cosmetic improvement
19461         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
19462
19463 2011-04-29  Jim Meyering  <meyering@redhat.com>
19464
19465         vc-list-files: indent with spaces, not TABs
19466         * build-aux/vc-list-files: Convert leading TABs to spaces,
19467         to match the style of most other files in gnulib.
19468
19469         announce-gen: indent with spaces, not TABs
19470         * build-aux/announce-gen: Convert all TABs to spaces, to match
19471         the style of most other files in gnulib.
19472
19473 2011-04-29  Eric Blake  <eblake@redhat.com>
19474
19475         quotearg: avoid uninitialized variable use
19476         * lib/quotearg.c (quoting_options_from_style): Initialize
19477         remaining fields, and ensure that custom styles are only used via
19478         quoting_options rather than quoting_style.
19479
19480 2011-04-29  Jim Meyering  <meyering@redhat.com>
19481
19482         maint.mk: remove unused VC-tag variable
19483         * top/maint.mk (VC-tag): Remove unused variable.
19484
19485 2011-04-29  Bruno Haible  <bruno@clisp.org>
19486
19487         netdb: fix gai_strerror replacements
19488         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
19489         * modules/netdb: Substitute it.
19490
19491 2011-04-29  Jim Meyering  <meyering@redhat.com>
19492
19493         test-getcwd.c: avoid new set-but-not-used warning
19494         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
19495         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
19496         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
19497         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
19498
19499         test-hash.c: avoid a new shadowing warning
19500         * tests/test-hash.c (main): Don't shadow "dup".
19501
19502 2011-04-28  Eric Blake  <eblake@redhat.com>
19503
19504         getaddrinfo: fix gai_strerror signature
19505         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
19506         and work around mingw with UNICODE defined.
19507         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
19508         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
19509         * modules/netdb (Makefile.am): Substitute it.
19510         * lib/netdb.in.h (gai_strerror): Declare replacement.
19511         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
19512         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
19513         the fix.
19514
19515         getsockopt: avoid compiler warning
19516         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
19517         Reported by Matthias Bolte.
19518
19519         tests: drop unused link dependency
19520         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
19521         * modules/dirent-safer-tests (Makefile.am): Likewise.
19522         * modules/fdopendir-tests (Makefile.am): Likewise.
19523         * modules/mkfifoat-tests (Makefile.am): Likewise.
19524         * modules/openat-safer-tests (Makefile.am): Likewise.
19525         * modules/openat-tests (Makefile.am): Likewise.
19526         * modules/readlinkat-tests (Makefile.am): Likewise.
19527         * modules/symlinkat-tests (Makefile.am): Likewise.
19528         * modules/linkat-tests (Makefile.am): Likewise.
19529         (Depends-on): Switch to filenamecat-lgpl.
19530         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
19531         LIBINTL.
19532         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
19533         * tests/test-linkat.c (main): Don't require xalloc.
19534
19535         hash, mgetgroups: drop xalloc dependency
19536         * lib/hash.c (includes): Adjust includes.
19537         * lib/mgetgroups.c (includes): Likewise.
19538         (xgetgroups): Move...
19539         * lib/xgetgroups.c: ...to new file.
19540         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
19541         * modules/xgetgroups: New file, split from...
19542         * modules/mgetgroups: ...here.
19543         (Depends-on): Add xalloc-oversized.
19544         * modules/hash (Depends-on): Likewise.
19545         * modules/hash-tests (Depends-on): Drop xalloc.
19546         (test_hash_LDADD): Drop unused library.
19547         * tests/test-hash.c (main): Break xalloc dependency.
19548         (includes): Drop unused include.
19549
19550         xalloc-oversized: new module
19551         * modules/xalloc-oversized: New module.
19552         * modules/xalloc (Depends-on): Add it.
19553         * lib/xalloc.h (xalloc_oversized): Move...
19554         * lib/xalloc-oversized.h: ...into new file.
19555
19556         utimecmp: drop dependency on xmalloc
19557         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
19558         due to memory pressure.
19559         * modules/utimecmp (Depends-on): Drop xalloc.
19560
19561 2011-04-27  Eric Blake  <eblake@redhat.com>
19562
19563         getcwd: fix mingw bugs
19564         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
19565         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
19566         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
19567
19568 2011-04-27  Bruno Haible  <bruno@clisp.org>
19569
19570         mkstemps: Ensure declaration on MacOS X 10.5.
19571         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
19572         * doc/glibc-functions/mkstemps.texi: Document header file problem on
19573         MacOS X.
19574
19575 2011-04-27  Bruno Haible  <bruno@clisp.org>
19576
19577         mkstemp: More documentation.
19578         * doc/posix-functions/mkstemp.texi: Document header file problem on
19579         MacOS X.
19580
19581 2011-04-27  Bruno Haible  <bruno@clisp.org>
19582
19583         mkstemp: Tweak configure message when cross-compiling.
19584         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
19585         result as a guess.
19586
19587 2011-04-27  Bruno Haible  <bruno@clisp.org>
19588
19589         clean-temp: Clarify what it does.
19590         * lib/clean-temp.h: Add more comments.
19591         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
19592         module.
19593         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
19594         * doc/glibc-functions/mkstemps.texi: Likewise.
19595         * doc/glibc-functions/mkostemps.texi: Likewise.
19596
19597 2011-04-27  Eric Blake  <eblake@redhat.com>
19598
19599         fchdir: avoid extra chdir and fix test
19600         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
19601         getcwd-lgpl.
19602         * lib/fchdir.c (get_name): Any absolute name will do; it does not
19603         have to be canonical.
19604         (canonicalize_file_name): Drop unused macro.
19605         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
19606
19607         filenamecat-lgpl: fix licence
19608         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
19609         when it was first created.
19610
19611         linkat, renameat: add missing dependency
19612         * modules/linkat (Depends-on): Require getcwd-lgpl.
19613         * modules/renameat (Depends-on): Likewise.
19614
19615         tests: reduce dependencies
19616         * tests/test-linkat.c (main): Use lighter-weight getcwd.
19617         * tests/test-renameat.c (main): Likewise.
19618         * modules/linkat-tests (Depends-on): Relax dependency.
19619         * modules/renameat-tests (Depends-on): Likewise.
19620         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
19621         dependency explicit.
19622
19623         save-cwd: reduce default dependency
19624         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
19625         * lib/save-cwd.c: Update comments.
19626         * NEWS: Document the semantic change.
19627
19628         getcwd: enhance tests
19629         * tests/test-getcwd-lgpl.c: New file, taken from...
19630         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
19631         repeat long path stress tests from m4 probe.
19632         * modules/getcwd-lgpl-tests: New module.
19633         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
19634         * m4/getcwd-abort-bug.m4: Update comment.
19635         * m4/getcwd-path-max.m4: Likewise.
19636
19637         getcwd-lgpl: new module
19638         * modules/getcwd-lgpl: New module.
19639         * lib/getcwd-lgpl.c: New file.
19640         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19641         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19642         * modules/getcwd (configure.ac): Set C witness.
19643         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
19644
19645         getcwd: tweak comments
19646         * m4/getcwd-abort-bug.m4: Fix comments.
19647         * m4/getcwd-path-max.m4: Likewise.
19648         * m4/getcwd.m4: Likewise.
19649
19650 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19651         and Eric Blake  <eblake@redhat.com>
19652
19653         mkstemp: replace if system version uses wrong permissions
19654         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
19655         read/write mode bits set in file created by mkstemp.
19656         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
19657
19658 2011-04-27  Eric Blake  <eblake@redhat.com>
19659
19660         passfd: avoid compiler warning
19661         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
19662         Reported by Laine Stump.
19663
19664 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
19665
19666         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
19667         required by the NetBSD (and perhaps other 4.4BSD derived) join.
19668
19669 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19670         and Eric Blake  <eblake@redhat.com>
19671
19672         mkstemp: mention clean-temp module
19673         * lib/mkstemp.c: Add comment.
19674         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
19675
19676 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
19677
19678         inttypes: also provide default values for 32-bit tests
19679         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
19680         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
19681
19682 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19683
19684         strtoumax: remove dependency on strtoimax
19685         This is like the strtoull change of yesterday.
19686         * modules/strtoumax (Files): Add lib/strtoimax.c.
19687         (Depends-on): Remove strtoimax and add verify.
19688
19689         inttypes-incomplete: new module
19690         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
19691         all but the PRI* and SCN* parts of gl_INTTYPES_H.
19692         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
19693         of gl_INTTYPES_H.
19694         (gl_INTTYPES_H): Rewrite in terms of these new macros.
19695         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
19696         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
19697         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
19698         * modules/strtoumax, modules/xstrtol (Depends-on):
19699         Depend on inttypes-incomplete, not inttypes.
19700         * modules/inttypes-incomplete: New module, containing the contents
19701         of the old modules/inttypes module, except that the Files: section
19702         omits m4/inttypes-pri.m4, and the configure.ac section invokes
19703         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
19704         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
19705         (Depends-on): Depend only on inttypes-incomplete.
19706         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
19707
19708         inttypes: omit now-redundant strtoimax and strtoumax work
19709         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
19710         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
19711
19712         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
19713         This supports apps that need pointers to strtoimax and strtoumax,
19714         and ports to HP-UX 11.00 64.bit, which has macros that expand to
19715         nonexistent functions.  See
19716         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
19717         et seq.
19718         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
19719         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
19720         a macro.
19721         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19722
19723 2011-04-25  Simon Josefsson  <simon@josefsson.org>
19724
19725         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
19726
19727 2011-04-25  Bruno Haible  <bruno@clisp.org>
19728
19729         strtol, strtoul: Mark modules as obsolete.
19730         * modules/strtol (Status, Notice): New sections.
19731         * modules/strtoul (Status, Notice): New sections.
19732
19733 2011-04-25  Bruno Haible  <bruno@clisp.org>
19734
19735         strtod: Remove check for strtod, unless supporting old platforms.
19736         * modules/strtod-obsolete: New file.
19737         * m4/strtod-obsolete.m4: New file.
19738         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
19739         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
19740         * modules/strtod (Depends-on): Add strtod-obsolete.
19741         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
19742
19743 2011-04-25  Bruno Haible  <bruno@clisp.org>
19744
19745         strcase: Make module obsolete.
19746         * modules/strcase (Status, Notice): New sections.
19747
19748 2011-04-25  Bruno Haible  <bruno@clisp.org>
19749
19750         dup2: Remove check for dup2, unless supporting old obsolete platforms.
19751         * modules/dup2-obsolete: New file.
19752         * m4/dup2-obsolete.m4: New file.
19753         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
19754         gl_FUNC_DUP2_OBSOLETE is not also defined.
19755         * modules/dup2 (Depends-on): Add dup2-obsolete.
19756         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
19757
19758 2011-04-25  Bruno Haible  <bruno@clisp.org>
19759
19760         strnlen: Avoid memchr related link error on old obsolete platforms.
19761         * modules/memchr-obsolete: New file.
19762         * m4/memchr-obsolete.m4: New file.
19763         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
19764         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
19765         * modules/memchr (Depends-on): Add memchr-obsolete.
19766         * modules/strnlen (Depends-on): Likewise.
19767         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
19768
19769 2011-04-25  Jim Meyering  <meyering@redhat.com>
19770
19771         maint.mk: makefile_at_at_check extend and clean up
19772         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
19773         in addition to */Makefile.am.
19774         Exempt legitimate uses of @VAR@ notation, e.g.,
19775         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
19776         Remove obsolete coreutils-specific comment.
19777         Prompted by discussion here:
19778         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
19779
19780 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19781
19782         strtoul: remove dependency on strtol
19783         This is so that 'configure' need not check for strtol merely because
19784         the application needs strtoul.
19785         * modules/strtoul (Files): Add lib/strtol.c.
19786         (Depends-on): Remove strtol.
19787
19788         strtoull: remove dependency on strtoul
19789         This is like the strtoll change.
19790         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
19791         (Depends-on): Remove strtoul.
19792
19793         strtoll: remove dependency on strtol
19794         This is so that 'configure' need not check for strtol merely because
19795         the application needs strtoll.
19796         * modules/strtoll (Files): Add lib/strtol.c.
19797         (Depends-on): Remove strtol.
19798
19799 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19800
19801         inttypes: Move some configure check to module 'imaxdiv'.
19802         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
19803         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
19804         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
19805
19806 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19807
19808         inttypes: Move some configure check to module 'imaxabs'.
19809         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
19810         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
19811         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
19812
19813 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19814
19815         inttypes: Remove configure tests that are not needed since 2009-12-31.
19816         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
19817         gl_cv_header_working_inttypes_h.
19818
19819 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19820
19821         * modules/strnlen (Depends-on): Remove memchr.
19822         The strnlen implementation doesn't need the memchr module's fixes; see
19823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
19824
19825         strtol: remove dependency on wchar
19826         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
19827         * modules/strtol (Depends-on): Remove wchar.
19828
19829 2011-04-21  Eric Blake  <eblake@redhat.com>
19830
19831         passfd: fix test regression on Linux
19832         * modules/passfd-tests (configure.ac): Correct socketpair check.
19833
19834         passfd: speed up configure and drop unused code
19835         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
19836         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
19837         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
19838         Instead of probing at configure for unix_scm_rights_bsd44_way,
19839         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
19840         check to a struct member probe.
19841         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
19842         (sendfd, recvfd): Update preprocessor checks.
19843         * modules/passfd (Files): Reflect rename, and drop unused file.
19844         (Depends-on): Drop unused dependency.
19845
19846         passfd: allow compilation on mingw
19847         * modules/sys_socket (Depends-on): Add sys_uio.
19848         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
19849         iovec and a minimal struct msghdr.
19850         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
19851         * tests/test-sys_socket.c (main): Enhance test.
19852         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
19853         guaranteed to provide what we need.
19854         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
19855         * modules/passfd-tests (Depends-on): Add sys_wait.
19856         * tests/test-passfd.c (main): Skip test on mingw, for now.
19857         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
19858         partial 'struct msghdr' implementation.
19859
19860         sys_uio: new module
19861         * modules/sys_uio: New module.
19862         * modules/sys_uio-tests: Likewise.
19863         * lib/sys_uio.in.h: New file.
19864         * m4/sys_uio_h.m4: Likewise.
19865         * tests/test-sys_uio.c: Likewise.
19866         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
19867         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
19868
19869 2011-04-20  Jim Meyering  <meyering@redhat.com>
19870
19871         useless-if-before-free: avoid false-positive
19872         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
19873         disjunct so that it too requires a terminating ";".  Without that,
19874         this script would identify as useless one statement from gcc that
19875         was not:
19876           if (aligned_ptr)
19877             free (((void **) aligned_ptr) [-1]);
19878
19879 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
19880
19881         doc: update users.txt.
19882         * users.txt: Add barcode.
19883
19884 2011-04-19  Bruno Haible  <bruno@clisp.org>
19885
19886         ioctl: Remove link dependency on native Windows.
19887         * lib/fd-hook.h: Renamed from lib/close-hook.h.
19888         (gl_close_fn, gl_ioctl_fn): New types.
19889         (struct fd_hook): Renamed from struct close_hook. Change type of
19890         private_close_fn field. Add private_ioctl_fn field.
19891         (close_hook_fn): Add parameter for primary close method.
19892         (execute_close_hooks, execute_all_close_hooks): Likewise.
19893         (ioctl_hook_fn): New type.
19894         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
19895         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19896         argument.
19897         (unregister_fd_hook): Renamed from unregister_close_hook.
19898         * lib/fd-hook.c: Renamed from lib/close-hook.c.
19899         Don't include <unistd.h>.
19900         (close): Remove undef.
19901         (anchor): Update.
19902         (execute_close_hooks): Add argument for primary close method.
19903         (execute_all_close_hooks): Likewise.
19904         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
19905         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19906         argument. Allow each argument to be NULL.
19907         (unregister_fd_hook): Renamed from unregister_close_hook.
19908         * lib/close.c (rpl_close): Pass 'close' function pointer to
19909         execute_all_close_hooks.
19910         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
19911         (primary_ioctl): New function.
19912         (ioctl): Don't call ioctlsocket here. Instead, call
19913         execute_all_ioctl_hooks.
19914         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
19915         close method.
19916         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
19917         (fd_sockets_hook): Renamed from close_sockets_hook.
19918         (gl_sockets_startup, gl_sockets_cleanup): Update.
19919         * modules/fd-hook: Renamed from modules/close-hook. Update.
19920         * modules/close (Depends-on): Add fd-hook, remove close-hook.
19921         * modules/sockets (Depends-on): Likewise.
19922         * modules/ioctl (Depends-on): Add fd-hook.
19923         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
19924         GNULIB_SOCKET.
19925
19926 2011-04-19  Bruno Haible  <bruno@clisp.org>
19927
19928         Move the support of O_NONBLOCK in open() to the 'open' module.
19929         * modules/nonblocking (Depends-on): Remove 'open'.
19930         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
19931         gl_cv_have_open_O_NONBLOCK.
19932         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
19933         O_NONBLOCK support.
19934         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
19935
19936 2011-04-17  Bruno Haible  <bruno@clisp.org>
19937
19938         pipe2: Simplify code.
19939         * lib/pipe2.c (pipe2): Reduce code duplication.
19940
19941 2011-04-17  Bruno Haible  <bruno@clisp.org>
19942
19943         nonblocking: Add comment.
19944         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19945
19946 2011-04-17  Bruno Haible  <bruno@clisp.org>
19947
19948         nonblocking: Add tests for sockets.
19949         * tests/test-nonblocking-socket.sh: New file.
19950         * tests/test-nonblocking-socket-main.c: New file.
19951         * tests/test-nonblocking-socket-child.c: New file.
19952         * tests/test-nonblocking-socket.h: New file.
19953         * tests/socket-server.h: New file.
19954         * tests/socket-client.h: New file.
19955         * modules/nonblocking-socket-tests: New file.
19956         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19957
19958 2011-04-17  Bruno Haible  <bruno@clisp.org>
19959
19960         nonblocking: Add tests for pipes.
19961         * tests/test-nonblocking-pipe.sh: New file.
19962         * tests/test-nonblocking-pipe-main.c: New file.
19963         * tests/test-nonblocking-pipe-child.c: New file.
19964         * tests/test-nonblocking-pipe.h: New file.
19965         * tests/test-nonblocking-writer.h: New file.
19966         * tests/test-nonblocking-reader.h: New file.
19967         * tests/test-nonblocking-misc.h: New file.
19968         * modules/nonblocking-pipe-tests: New file.
19969         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19970
19971 2011-04-16  Bruno Haible  <bruno@clisp.org>
19972
19973         gettext: Clarify the needed programmer actions.
19974         * modules/gettext (Notice): New field.
19975         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19976
19977 2011-04-16  Bruno Haible  <bruno@clisp.org>
19978
19979         strchrnul: Tweak last commit.
19980         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19981         bug.
19982         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19983         as in _GL_FUNCDECL_SYS.
19984         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19985         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19986
19987 2011-04-15  Eric Blake  <eblake@redhat.com>
19988
19989         strchrnul: work around cygwin bug
19990         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19991         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19993         * modules/string (Makefile.am): Substitute it.
19994         * lib/string.in.h (strchrnul): Use it.
19995
19996 2011-04-15  Bruno Haible  <bruno@clisp.org>
19997
19998         Don't require lib/stdio-write.c when only module 'stdio' is used.
19999         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
20000         invocation.
20001         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
20002
20003 2011-04-14  Bruno Haible  <bruno@clisp.org>
20004
20005         Support non-blocking pipe I/O in read() on native Windows.
20006         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
20007         (read): New declaration.
20008         * lib/read.c: New file.
20009         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
20010         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
20011         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
20012         vscanf): New declarations.
20013         * lib/stdio-read.c: New file.
20014         * m4/read.m4: New file.
20015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
20016         REPLACE_READ.
20017         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
20018         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20019         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
20020         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
20021         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
20022         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20023         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
20024         * modules/read: New file.
20025         * modules/nonblocking (Files): Add lib/stdio-read.c.
20026         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
20027         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
20028         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20029         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
20030         * modules/pread (Depends-on): Add read.
20031         * modules/safe-read (Depends-on): Likewise.
20032         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
20033         gets, scanf, vfscanf, vscanf): Verify signatures.
20034         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
20035         problem with non-blocking pipes.
20036         * doc/posix-functions/fgetc.texi: Likewise.
20037         * doc/posix-functions/fgets.texi: Likewise.
20038         * doc/posix-functions/fread.texi: Likewise.
20039         * doc/posix-functions/fscanf.texi: Likewise.
20040         * doc/posix-functions/getc.texi: Likewise.
20041         * doc/posix-functions/getchar.texi: Likewise.
20042         * doc/posix-functions/gets.texi: Likewise.
20043         * doc/posix-functions/scanf.texi: Likewise.
20044         * doc/posix-functions/vfscanf.texi: Likewise.
20045         * doc/posix-functions/vscanf.texi: Likewise.
20046
20047 2011-04-14  Bruno Haible  <bruno@clisp.org>
20048
20049         Support non-blocking pipe I/O in write() on native Windows.
20050         * lib/write.c (rpl_write): Split a write request that failed merely
20051         because the byte count was larger than the pipe buffer's size.
20052         * doc/posix-functions/write.texi: Mention the problem with large byte
20053         counts.
20054
20055 2011-04-14  Bruno Haible  <bruno@clisp.org>
20056
20057         wchar: Ensure that wchar_t gets defined on uClibc.
20058         * lib/wchar.in.h: On uClibc, include <stddef.h>.
20059         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
20060
20061 2011-04-13  Bruno Haible  <bruno@clisp.org>
20062
20063         safe-write, full-read: Avoid unnecessary compilation units.
20064         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
20065         (Depends-on): Remove safe-read. Add ssize_t.
20066         * modules/full-read (Files): Add lib/full-write.c.
20067         (Depends-on): Add full-write.
20068
20069 2011-04-13  Bruno Haible  <bruno@clisp.org>
20070
20071         Support non-blocking pipe I/O and SIGPIPE in pwrite().
20072         * modules/pwrite (Depends-on): Add 'write'.
20073
20074 2011-04-13  Bruno Haible  <bruno@clisp.org>
20075
20076         Support non-blocking pipe I/O in write() on native Windows.
20077         * lib/unistd.in.h (write): Enable replacement also if
20078         GNULIB_UNISTD_H_NONBLOCKING is 1.
20079         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
20080         (rpl_write): When failing to write on a non-blocking pipe, change
20081         errno from ENOSPC to EAGAIN.
20082         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
20083         putchar, puts, vfprintf, vprintf): Enable replacement also if
20084         GNULIB_STDIO_H_NONBLOCKING is 1.
20085         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
20086         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
20087         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
20088         CALL_WITH_SIGPIPE_EMULATION.
20089         (CALL_WITH_SIGPIPE_EMULATION): Use them.
20090         * m4/nonblocking.m4: New file.
20091         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
20092         for non-blocking I/O support.
20093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20094         GNULIB_UNISTD_H_NONBLOCKING.
20095         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
20096         required for non-blocking I/O support.
20097         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
20098         * modules/nonblocking (Files): Add m4/nonblocking.m4,
20099         lib/stdio-write.c, m4/asm-underscore.m4.
20100         (Depends-on): Add stdio, unistd.
20101         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
20102         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
20103         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
20104         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
20105         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
20106         problem with non-blocking pipes.
20107         * doc/posix-functions/fputc.texi: Likewise.
20108         * doc/posix-functions/fputs.texi: Likewise.
20109         * doc/posix-functions/fwrite.texi: Likewise.
20110         * doc/posix-functions/printf.texi: Likewise.
20111         * doc/posix-functions/putc.texi: Likewise.
20112         * doc/posix-functions/putchar.texi: Likewise.
20113         * doc/posix-functions/puts.texi: Likewise.
20114         * doc/posix-functions/vfprintf.texi: Likewise.
20115         * doc/posix-functions/vprintf.texi: Likewise.
20116         * doc/posix-functions/write.texi: Likewise.
20117
20118 2011-04-10  Jim Meyering  <meyering@redhat.com>
20119
20120         maint.mk: prohibit doubled words
20121         Detect them also when they're separated by a newline.
20122         There are 3 ways to customize it:
20123           - disable the test on a per file basis, as usual with rules using
20124             $(VC_LIST_EXCEPT)
20125           - replace the default doubled-word-selecting regexp (affects all files)
20126           - ignore a particular file-vs-doubled-word match
20127         I nearly used that last one to ignore the "is is" match in
20128         coreutils' NEWS file, since the text was "ls -is is ..."
20129         To do that, I would have added this line to cfg.mk:
20130           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
20131         but it would have ignored any "is is" match in NEWS.
20132         Low probability, but still...
20133         Instead, I changed the text, slightly:
20134           -  ls -is is now consistent with ls -lis in ignoring values returned
20135           +  "ls -is" is now consistent with ls -lis in ignoring values returned
20136         * top/maint.mk (prohibit_double_word_RE_): Provide default.
20137         (prohibit_doubled_word_): Define.
20138         (sc_prohibit_doubled_word): New rule.
20139         (sc_prohibit_the_the): Remove.  Subsumed by the above.
20140
20141 2011-04-10  Jim Meyering  <meyering@redhat.com>
20142
20143         maint: fix doubled-word typo in comment
20144         * m4/gethostname.m4: s/is is/it is/
20145         * m4/getdomainname.m4: Likewise.
20146
20147 2011-04-10  Jim Meyering  <meyering@redhat.com>
20148
20149         maint: remove doubled word: s/it it/it/
20150         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
20151
20152 2011-04-10  Jim Meyering  <meyering@redhat.com>
20153
20154         maint.mk: remove useless semicolon and backslash
20155         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
20156         semicolon and backslash.
20157
20158 2011-04-10  Bruno Haible  <bruno@clisp.org>
20159
20160         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
20161         * modules/stdint-tests (Depends-on): Add wchar.
20162
20163 2011-04-10  Jim Meyering  <meyering@redhat.com>
20164
20165         maint: remove doubled words in comments, e.g., s/a a/a/
20166         * lib/strptime.c (day_of_the_week): s/the the/the/
20167         * tests/test-chown.h (test_chown): s/a a/a/
20168
20169         test-chown.h: correct a cast
20170         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
20171         when the destination is a stat.st_gid.
20172
20173 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
20174
20175         getaddrinfo: Fix test for sa_len member.
20176         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
20177         include <sys/types.h> before <sys/socket.h>.
20178
20179 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20180
20181         maint: change "can not" to "cannot"
20182         * doc/posix-functions/iconv.texi (iconv): This one crossed line
20183         boundaries.
20184
20185 2011-04-09  Jim Meyering  <meyering@redhat.com>
20186
20187         maint: change "a a" to "a"
20188         * tests/test-lchown.h (test_lchown): s/a a/a/
20189
20190         maint.mk: prohibit \<the the\>
20191         * top/maint.mk (sc_prohibit_the_the): New rule.
20192
20193         maint: fix "the the" in comment
20194         * lib/count-one-bits.h: s/the the/the/
20195
20196         maint: change "can not" to "cannot"
20197         But do not change the occurrences in maintain.texi or in
20198         build-aux/po/Makefile.in.in, which I presume comes from gettext.
20199         * doc/gnulib-tool.texi: s/can not/cannot/
20200         * doc/posix-functions/accept.texi (accept): Likewise.
20201         * doc/posix-functions/socket.texi (socket): Likewise.
20202         * lib/mbrtowc.c: Likewise.
20203
20204         maint.mk: prohibit use of "can not"
20205         * top/maint.mk (sc_prohibit_can_not): New rule.
20206         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
20207
20208 2011-04-09  Bruno Haible  <bruno@clisp.org>
20209
20210         careadlinkat: Guard against misuse of careadlinkatcwd.
20211         * lib/careadlinkat.c: Include <stdlib.h>.
20212         (careadlinkatcwd): Check that the fd argument is as expected.
20213
20214 2011-04-09  Bruno Haible  <bruno@clisp.org>
20215
20216         careadlinkat: Use common coding style.
20217         * lib/careadlinkat.c: Move gnulib includes after system includes.
20218
20219 2011-04-09  Bruno Haible  <bruno@clisp.org>
20220
20221         careadlinkat: Clarify specification.
20222         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
20223         (careadlinkatcwd): Add comment.
20224         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
20225
20226 2011-04-09  Bruno Haible  <bruno@clisp.org>
20227
20228         areadlinkat: Avoid link error on many platforms.
20229         * modules/areadlinkat (Depends-on): Add areadlink.
20230
20231 2011-04-09  Bruno Haible  <bruno@clisp.org>
20232
20233         allocator, careadlinkat: Fix double-inclusion guard.
20234         * lib/allocator.h: Fix double-inclusion guard.
20235         * lib/careadlinkat.h: Likewise.
20236
20237 2011-04-09  Bruno Haible  <bruno@clisp.org>
20238
20239         relocatable-prog-wrapper: Update after module 'areadlink' changed.
20240         * lib/relocwrapper.c: Update dependencies hierarchy.
20241         * build-aux/install-reloc: Update list of files to be compiled.
20242         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
20243         lib/allocator.[hc].
20244
20245 2011-04-08  Eric Blake  <eblake@redhat.com>
20246
20247         strftime: silence gnulib-tool warning
20248         * modules/strftime-tests (Depends-on): Drop automatic dependency.
20249
20250 2011-04-08  Bruno Haible  <bruno@clisp.org>
20251
20252         verify: Fix syntax error with GCC 4.6 in C++ mode.
20253         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
20254         (HAVE_STATIC_ASSERT): New macro.
20255         (verify_true, verify): Use 'static_assert' if it is supported and
20256         '_Static_assert' is not supported.
20257
20258 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
20259
20260         allocator: New module.
20261         * modules/allocator, lib/allocator.c: New files.
20262         * lib/allocator.h (stdlib_allocator): New decl.
20263         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
20264         Remove.  Do not include <stdlib.h>.
20265         (careadlinkat): Use stdlib_allocator instead of rolling our own.
20266         * modules/careadlinkat (Files): Remove lib/allocator.h.
20267         (Depends-on): Add allocator.
20268
20269         stdlib: let modules use system malloc, realloc
20270         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
20271         if !_GL_USE_STDLIB_ALLOC.
20272         (malloc, realloc): Limit this change to a smaller scope.
20273
20274         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
20275         (malloc, realloc): Don't #undef; no longer needed.
20276         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20277         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20278         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
20279         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20280         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20281         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20282         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20283         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
20284
20285         careadlinkat: rename members to avoid problem
20286         * lib/allocator.h (struct allocator): Rename members from
20287         malloc/realloc to allocate/reallocate, to avoid problems if malloc
20288         and realloc are #define'd.  Reported by Eric Blake in
20289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
20290         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
20291
20292 2011-04-08  Eric Blake  <eblake@redhat.com>
20293
20294         nonblocking: reduce dependency
20295         * tests/test-nonblocking.c: Only test sockets when in use.
20296         * modules/nonblocking-tests (Depends-on): Drop socket.
20297         (Makefile.am): Link even if sockets are not present.
20298         * modules/pipe2-tests (Makefile.am): Likewise.
20299         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
20300
20301         pipe2: fix O_NONBLOCK support on mingw
20302         * modules/pipe2 (Depends-on): Add nonblocking.
20303         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
20304         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
20305         * tests/test-nonblocking.c (main): Likewise.
20306         * modules/pipe2-tests (Makefile.am): Avoid link failure.
20307
20308         fcntl-h: fix O_ACCMODE on cygwin
20309         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
20310         * lib/fcntl.in.h (O_ACCMODE): Fix it.
20311
20312         pipe-filter: drop O_NONBLOCK workarounds
20313         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
20314         * modules/pipe-filter-ii (Depends-on): Likewise.
20315         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
20316
20317         nonblocking: provide O_NONBLOCK for mingw
20318         * modules/nonblocking (Depends-on): Add open.
20319         (configure.ac): Set new witness macro.
20320         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
20321         * modules/fcntl-h (Makefile.am): Substitute it.
20322         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
20323         nonblocking module is in use.
20324         * lib/nonblocking.c: Adjust portability test.
20325         * lib/open.c (open): Don't let native open see gnulib flag.
20326         * tests/test-fcntl-h.c (main): Enhance test.
20327         * tests/test-open.h (test_open): Likewise.
20328         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
20329
20330         careadlinkat: fix compilation error on mingw
20331         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
20332         within struct allocator.
20333
20334 2011-04-06  Eric Blake  <eblake@redhat.com>
20335
20336         binary-io: relicense under LGPLv2+
20337         * modules/binary-io (License): Relax to LGPLv2+.
20338         Requested for libvirt, and required by pipe2.
20339
20340 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
20341
20342         verify: use _Static_assert if available
20343         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
20344         (verify_true, verify): Use it if available.  This generates better
20345         diagnostics with GCC 4.6.0 and later.
20346
20347 2011-04-05  Bruno Haible  <bruno@clisp.org>
20348
20349         Remove leftover generated .h files after config.status changed.
20350
20351         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
20352         GL_GENERATE_ALLOCA_H.
20353         * modules/alloca-opt (Makefile.am): Remove alloca.h if
20354         GL_GENERATE_ALLOCA_H evaluates to false.
20355
20356         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
20357         GL_GENERATE_ARGZ_H.
20358         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
20359         evaluates to false.
20360
20361         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
20362         GL_GENERATE_BYTESWAP_H.
20363         * modules/byteswap (Makefile.am): Remove byteswap.h if
20364         GL_GENERATE_BYTESWAP_H evaluates to false.
20365
20366         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
20367         GL_GENERATE_ERRNO_H.
20368         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
20369         evaluates to false.
20370
20371         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
20372         GL_GENERATE_FLOAT_H.
20373         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
20374         evaluates to false.
20375
20376         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
20377         GL_GENERATE_FNMATCH_H.
20378         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
20379         GL_GENERATE_FNMATCH_H evaluates to false.
20380
20381         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
20382         GL_GENERATE_GLOB_H.
20383         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
20384         evaluates to false.
20385
20386         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
20387         automake conditional GL_GENERATE_ICONV_H.
20388         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
20389         evaluates to false.
20390
20391         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
20392         GL_GENERATE_NETINET_IN_H.
20393         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
20394         GL_GENERATE_NETINET_IN_H evaluates to false.
20395
20396         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
20397         conditional GL_GENERATE_PTHREAD_H.
20398         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
20399         * modules/pthread (Makefile.am): Remove pthread.h if
20400         GL_GENERATE_PTHREAD_H evaluates to false.
20401
20402         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
20403         GL_GENERATE_SCHED_H.
20404         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
20405         evaluates to false.
20406
20407         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
20408         conditional GL_GENERATE_SELINUX_CONTEXT_H.
20409         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
20410         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
20411
20412         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
20413         GL_GENERATE_STDARG_H.
20414         * modules/stdarg (Makefile.am): Remove stdarg.h if
20415         GL_GENERATE_STDARG_H evaluates to false.
20416
20417         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
20418         GL_GENERATE_STDBOOL_H.
20419         * modules/stdbool (Makefile.am): Remove stdbool.h if
20420         GL_GENERATE_STDBOOL_H evaluates to false.
20421
20422         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
20423         conditional GL_GENERATE_STDDEF_H.
20424         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
20425         * modules/stddef (Makefile.am): Remove stddef.h if
20426         GL_GENERATE_STDDEF_H evaluates to false.
20427
20428         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
20429         GL_GENERATE_STDINT_H.
20430         * modules/stdint (Makefile.am): Remove stdint.h if
20431         GL_GENERATE_STDINT_H evaluates to false.
20432
20433         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
20434         GL_GENERATE_SYSEXITS_H.
20435         * modules/sysexits (Makefile.am): Remove sysexits.h if
20436         GL_GENERATE_SYSEXITS_H evaluates to false.
20437
20438         Reported by Karl Berry and Ralf Wildenhues.
20439
20440 2011-04-05  Bruno Haible  <bruno@clisp.org>
20441
20442         Ensure to rebuild generated .h files when config.status has changed.
20443         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
20444         config.status.
20445         * modules/ctype (Makefile.am): Likewise.
20446         * modules/dirent (Makefile.am): Likewise.
20447         * modules/errno (Makefile.am): Likewise.
20448         * modules/fcntl-h (Makefile.am): Likewise.
20449         * modules/float (Makefile.am): Likewise.
20450         * modules/getopt-posix (Makefile.am): Likewise.
20451         * modules/glob (Makefile.am): Likewise.
20452         * modules/iconv-h (Makefile.am): Likewise.
20453         * modules/inttypes (Makefile.am): Likewise.
20454         * modules/langinfo (Makefile.am): Likewise.
20455         * modules/locale (Makefile.am): Likewise.
20456         * modules/math (Makefile.am): Likewise.
20457         * modules/netdb (Makefile.am): Likewise.
20458         * modules/netinet_in (Makefile.am): Likewise.
20459         * modules/poll-h (Makefile.am): Likewise.
20460         * modules/pthread (Makefile.am): Likewise.
20461         * modules/pty (Makefile.am): Likewise.
20462         * modules/sched (Makefile.am): Likewise.
20463         * modules/search (Makefile.am): Likewise.
20464         * modules/selinux-h (Makefile.am): Likewise.
20465         * modules/signal (Makefile.am): Likewise.
20466         * modules/spawn (Makefile.am): Likewise.
20467         * modules/stdarg (Makefile.am): Likewise.
20468         * modules/stdbool (Makefile.am): Likewise.
20469         * modules/stddef (Makefile.am): Likewise.
20470         * modules/stdint (Makefile.am): Likewise.
20471         * modules/stdio (Makefile.am): Likewise.
20472         * modules/stdlib (Makefile.am): Likewise.
20473         * modules/string (Makefile.am): Likewise.
20474         * modules/strings (Makefile.am): Likewise.
20475         * modules/sys_file (Makefile.am): Likewise.
20476         * modules/sys_ioctl (Makefile.am): Likewise.
20477         * modules/sys_select (Makefile.am): Likewise.
20478         * modules/sys_socket (Makefile.am): Likewise.
20479         * modules/sys_stat (Makefile.am): Likewise.
20480         * modules/sys_time (Makefile.am): Likewise.
20481         * modules/sys_times (Makefile.am): Likewise.
20482         * modules/sys_utsname (Makefile.am): Likewise.
20483         * modules/sys_wait (Makefile.am): Likewise.
20484         * modules/sysexits (Makefile.am): Likewise.
20485         * modules/termios (Makefile.am): Likewise.
20486         * modules/time (Makefile.am): Likewise.
20487         * modules/unistd (Makefile.am): Likewise.
20488         * modules/wchar (Makefile.am): Likewise.
20489         * modules/wctype-h (Makefile.am): Likewise.
20490         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
20491
20492 2011-04-05  Bruno Haible  <bruno@clisp.org>
20493
20494         pipe2: Relicense under LGPLv2+.
20495         * modules/pipe2 (License): Change to LGPLv2+.
20496         Requested by Eric Blake, for libvirt.
20497
20498 2011-04-05  Bruce Korb  <bkorb@gnu.org>
20499
20500         bootstrap: compute gnulib_extra_files after updating build_aux
20501         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
20502         change build_aux or also supply gnulib_extra_files.  Handle correctly.
20503
20504 2011-04-05  Eric Blake  <eblake@redhat.com>
20505
20506         bootstrap: preserve git whitelist item sorting
20507         * build-aux/bootstrap (sort_patterns): New function.
20508         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
20509
20510 2011-04-05  Simon Josefsson  <simon@josefsson.org>
20511
20512         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
20513         sc_space_tab check.
20514
20515 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20516
20517         areadlink, areadlinkat: rewrite in terms of careadlinkat
20518         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
20519         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
20520         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
20521         (malloc, realloc): Remove #undefs.
20522         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
20523         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
20524         readlink, ssize_t, stdint, unistd.
20525         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
20526         areadlink, stdint.
20527
20528         careadlinkat: new module
20529         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
20530         * modules/careadlinkat: New files, written by me with
20531         a review and feedback from Ben Pfaff in
20532         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
20533
20534 2011-04-01  Bruno Haible  <bruno@clisp.org>
20535
20536         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
20537         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
20538         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
20539         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
20540         Reported by Bruce Korb <bruce.korb@gmail.com>.
20541
20542 2011-04-01  Bruno Haible  <bruno@clisp.org>
20543
20544         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
20545         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
20546         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
20547         * modules/wcpcpy (Depends-on): Add extensions.
20548         * modules/wcpncpy (Depends-on): Likewise.
20549         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
20550         systems.
20551         * doc/posix-functions/wcpncpy.texi: Likewise.
20552         * doc/posix-functions/wcwidth.texi: Likewise.
20553
20554 2011-03-31  Eric Blake  <eblake@redhat.com>
20555
20556         nonblocking: fix mingw test failures
20557         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
20558         non-blocking flag on regular file.
20559         (get_nonblocking_flag): Set errno on invalid fd.
20560         * tests/test-nonblocking.c (main): Avoid test failure on
20561         directories if fchdir is not active.
20562         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
20563
20564 2011-03-31  Bruno Haible  <bruno@clisp.org>
20565
20566         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
20567         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
20568         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
20569         Reported by Simon Josefsson <simon@josefsson.org>.
20570
20571 2011-03-31  Bruno Haible  <bruno@clisp.org>
20572         and Eric Blake  <eblake@redhat.com>
20573
20574         nonblocking: new module
20575         * modules/nonblocking: New module.
20576         * modules/nonblocking-tests: Likewise.
20577         * lib/nonblocking.h: New file.
20578         * lib/nonblocking.c: Likewise.
20579         * tests/test-nonblocking.c: New test.
20580         * lib/ioctl.c (ioctl) [mingw]: Update comment.
20581
20582 2011-03-30  Bruno Haible  <bruno@clisp.org>
20583
20584         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
20585         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
20586         instead of 'printf' format for GCC >= 4.4.
20587         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
20588         (fprintf, printf, vfprintf, vprintf): Declare with
20589         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
20590         the system's vfprintf() function.
20591         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
20592
20593 2011-03-30  Eric Blake  <eblake@redhat.com>
20594
20595         passfd: fix scoping bug
20596         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
20597         before sendmsg/recvmsg.
20598
20599         passfd: standardize coding conventions
20600         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
20601         can be learned at compile time.
20602         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
20603         ifdefs.
20604         (sendfd, recvfd): Follow gnulib code conventions.
20605
20606         passfd: fix incorrect sendmsg arguments
20607         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
20608         incorrect msg_controllen value.
20609         * modules/passfd-tests (Depends-on): Check for alarm.
20610         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
20611         Reported by Bastien ROUCARIES.
20612
20613 2011-03-30  Bruno Haible  <bruno@clisp.org>
20614
20615         c-strcasestr: Relicense under LGPLv2+.
20616         * modules/c-strcasestr (License): Change to LGPLv2+.
20617         Requested by Eric Blake, for libvirt.
20618
20619 2011-03-30  Simon Josefsson  <simon@josefsson.org>
20620
20621         * users.txt: Add libidn2.  Fix libtasn1 link.
20622
20623 2011-03-30  Jim Meyering  <meyering@redhat.com>
20624
20625         tests: readlink* ("",... fails with EINVAL on newer kernels
20626         readlink and readlinkat have typically failed with ENOENT for
20627         the invalid, empty file name,  "".  However, with the advent
20628         of linux-2.6.39, they fail with EINVAL.
20629         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
20630         when operating on the empty file name.
20631         * tests/test-readlink.h (test_readlink): Likewise.
20632
20633 2011-03-29  Bruno Haible  <bruno@clisp.org>
20634
20635         Relicense some modules under LGPLv2+, for libidn2.
20636         * modules/array-mergesort (License): Change to LGPLv2+.
20637         * modules/c-strcaseeq (License): Likewise.
20638         * modules/striconveh (License): Likewise.
20639         * modules/striconveha (License): Likewise.
20640         * modules/uniconv/base (License): Likewise.
20641         * modules/uniconv/u8-conv-from-enc (License): Likewise.
20642         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
20643         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
20644         * modules/unictype/base (License): Likewise.
20645         * modules/unictype/bidiclass-of (License): Likewise.
20646         * modules/unictype/category-M (License): Likewise.
20647         * modules/unictype/category-none (License): Likewise.
20648         * modules/unictype/category-of (License): Likewise.
20649         * modules/unictype/category-test (License): Likewise.
20650         * modules/unictype/category-test-withtable (License): Likewise.
20651         * modules/unictype/combining-class (License): Likewise.
20652         * modules/unictype/joiningtype-of (License): Likewise.
20653         * modules/unictype/scripts (License): Likewise.
20654         * modules/uninorm/base (License): Likewise.
20655         * modules/uninorm/canonical-decomposition (License): Likewise.
20656         * modules/uninorm/composition (License): Likewise.
20657         * modules/uninorm/decompose-internal (License): Likewise.
20658         * modules/uninorm/decomposition-table (License): Likewise.
20659         * modules/uninorm/nfc (License): Likewise.
20660         * modules/uninorm/nfd (License): Likewise.
20661         * modules/uninorm/u32-normalize (License): Likewise.
20662         * modules/unistr/base (License): Likewise.
20663         * modules/unistr/u32-cpy (License): Likewise.
20664         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
20665         * modules/unistr/u32-to-u8 (License): Likewise.
20666         * modules/unistr/u32-uctomb (License): Likewise.
20667         * modules/unistr/u8-check (License): Likewise.
20668         * modules/unistr/u8-mblen (License): Likewise.
20669         * modules/unistr/u8-mbtouc (License): Likewise.
20670         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
20671         * modules/unistr/u8-mbtoucr (License): Likewise.
20672         * modules/unistr/u8-prev (License): Likewise.
20673         * modules/unistr/u8-strlen (License): Likewise.
20674         * modules/unistr/u8-to-u32 (License): Likewise.
20675         * modules/unistr/u8-uctomb (License): Likewise.
20676         * modules/unitypes (License): Likewise.
20677         Requested by Simon Josefsson.
20678
20679 2011-03-29  Simon Josefsson  <simon@josefsson.org>
20680
20681         lib-symbol-visibility: Add a notice.
20682         * modules/lib-symbol-visibility (Notice): New field.
20683
20684 2011-03-29  Bruno Haible  <bruno@clisp.org>
20685
20686         getaddrinfo: Doc fix.
20687         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
20688         section "fixed in Gnulib".
20689
20690 2011-03-28  Simon Josefsson  <simon@josefsson.org>
20691
20692         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
20693         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
20694
20695 2011-03-26  Bruno Haible  <bruno@clisp.org>
20696
20697         unictype/property-byname: Reduce the number of load-time relocations.
20698         * lib/unictype/pr_byname.c: Include <stdlib.h>.
20699         (UC_PROPERTY_INDEX_*): New enumeration values.
20700         (uc_property_byname): Convert an index from the lookup table to an
20701         uc_property_t.
20702         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
20703         values.
20704
20705 2011-03-26  Bruno Haible  <bruno@clisp.org>
20706
20707         unictype/property-byname: Allow omitted word separators and aliases.
20708         * lib/unictype/pr_byname.gperf: Add property names without word
20709         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
20710         for 'space'.
20711
20712 2011-03-26  Bruno Haible  <bruno@clisp.org>
20713
20714         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
20715         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
20716         also hyphens to space.
20717         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
20718         without spaces.
20719         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
20720
20721 2011-03-26  Bruno Haible  <bruno@clisp.org>
20722
20723         unictype/joiningtype-byname: Recognize long names as well.
20724         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
20725         a long name.
20726         * lib/unictype/joiningtype_byname.c: Include <string.h>,
20727         unictype/joiningtype_byname.h.
20728         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
20729         * lib/unictype/joiningtype_byname.gperf: New file.
20730         * modules/unictype/joiningtype-byname (Files): Add
20731         lib/unictype/joiningtype_byname.gperf.
20732         (Depends-on): Add gperf.
20733         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
20734         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
20735         long names.
20736
20737         Tests for module 'unictype/joiningtype-longname'.
20738         * modules/unictype/joiningtype-longname-tests: New file.
20739         * tests/unictype/test-joiningtype_longname.c: New file.
20740
20741         New module 'unictype/joiningtype-longname'.
20742         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
20743         * lib/unictype/joiningtype_longname.c: New file.
20744         * modules/unictype/joiningtype-longname: New file.
20745         * modules/unictype/joiningtype-all (Depends-on): Add
20746         unictype/joiningtype-longname.
20747
20748 2011-03-26  Bruno Haible  <bruno@clisp.org>
20749
20750         unictype/bidiclass-byname: Recognize long names as well.
20751         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
20752         name.
20753         * lib/unictype/bidi_byname.c: Include <string.h>,
20754         unictype/bidi_byname.h.
20755         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
20756         * lib/unictype/bidi_byname.gperf: New file.
20757         * modules/unictype/bidiclass-byname (Files): Add
20758         lib/unictype/bidi_byname.gperf.
20759         (Depends-on): Add gperf.
20760         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
20761         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
20762         long names.
20763
20764         Tests for module 'unictype/bidiclass-longname'.
20765         * modules/unictype/bidiclass-longname-tests: New file.
20766         * tests/unictype/test-bidi_longname.c: New file.
20767
20768         New module 'unictype/bidiclass-longname'.
20769         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
20770         * lib/unictype/bidi_longname.c: New file.
20771         * modules/unictype/bidiclass-longname: New file.
20772         * modules/unictype/bidiclass-all (Depends-on): Add
20773         unictype/bidiclass-longname.
20774
20775 2011-03-26  Bruno Haible  <bruno@clisp.org>
20776
20777         unictype/bidi*: Rename modules.
20778         * modules/unictype/bidiclass-all: Renamed from
20779         modules/unictype/bidicategory-all.
20780         * modules/unictype/bidiclass-name: Renamed from
20781         modules/unictype/bidiclass-name.
20782         (Description): Update.
20783         * modules/unictype/bidiclass-name-tests: Renamed from
20784         modules/unictype/bidicategory-name-tests.
20785         * modules/unictype/bidiclass-byname: Renamed from
20786         modules/unictype/bidicategory-byname.
20787         (Description): Update.
20788         * modules/unictype/bidiclass-byname-tests: Renamed from
20789         modules/unictype/bidicategory-byname-tests.
20790         * modules/unictype/bidiclass-of: Renamed from
20791         modules/unictype/bidicategory-of.
20792         (Description): Update.
20793         * modules/unictype/bidiclass-of-tests: Renamed from
20794         modules/unictype/bidicategory-of-tests.
20795         * modules/unictype/bidiclass-test: Renamed from
20796         modules/unictype/bidicategory-test.
20797         (Description): Update.
20798         * modules/unictype/bidiclass-test-tests: Renamed from
20799         modules/unictype/bidicategory-test-tests.
20800         * modules/unictype/bidicategory-all: New file, a simple redirection.
20801         * modules/unictype/bidicategory-name: Likewise.
20802         * modules/unictype/bidicategory-byname: Likewise.
20803         * modules/unictype/bidicategory-of: Likewise.
20804         * modules/unictype/bidicategory-test: Likewise.
20805         * modules/unictype/property-bidi-* (Dependencies): Update.
20806         * lib/unictype/bidi_*.c: Update comment.
20807
20808 2011-03-26  Bruno Haible  <bruno@clisp.org>
20809
20810         unictype/bidi*: Rename functions, part 2.
20811         * modules/unictype/bidicategory-name (configure.ac): Update required
20812         libunistring version.
20813         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
20814
20815 2011-03-25  Bruno Haible  <bruno@clisp.org>
20816
20817         New module 'unictype/combining-class-all'.
20818         * modules/unictype/combining-class-all: New file.
20819
20820         Tests for module 'unictype/combining-class-byname'.
20821         * modules/unictype/combining-class-byname-tests: New file.
20822         * tests/unictype/test-combiningclass_byname.c: New file.
20823
20824         New module 'unictype/combining-class-byname'.
20825         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
20826         * lib/unictype/combiningclass_byname.c: New file.
20827         * lib/unictype/combiningclass_byname.gperf: New file.
20828         * modules/unictype/combining-class-byname: New file.
20829
20830         Tests for module 'unictype/combining-class-longname'.
20831         * modules/unictype/combining-class-longname-tests: New file.
20832         * tests/unictype/test-combiningclass_longname.c: New file.
20833
20834         New module 'unictype/combining-class-longname'.
20835         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
20836         * lib/unictype/combiningclass_longname.c: New file.
20837         * modules/unictype/combining-class-longname: New file.
20838
20839         Tests for module 'unictype/combining-class-name'.
20840         * modules/unictype/combining-class-name-tests: New file.
20841         * tests/unictype/test-combiningclass_name.c: New file.
20842
20843         New module 'unictype/combining-class-name'.
20844         * lib/unictype.in.h (uc_combining_class_name): New declaration.
20845         * lib/unictype/combiningclass_name.c: New file.
20846         * modules/unictype/combining-class-name: New file.
20847
20848 2011-03-25  Bruno Haible  <bruno@clisp.org>
20849
20850         unictype/combining-class: Rename source files.
20851         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
20852         of unictype/combining.h.
20853         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
20854         Update.
20855         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
20856         * modules/unictype/combining-class (Description): Fix.
20857         (Files, Makefile.am): Update.
20858         * tests/unictype/test-combiningclass.c: Renamed from
20859         tests/unictype/test-combining.c.
20860         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
20861
20862 2011-03-25  Bruno Haible  <bruno@clisp.org>
20863
20864         unictype: Update list of canonical combining classes.
20865         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
20866
20867 2011-03-25  Bruno Haible  <bruno@clisp.org>
20868
20869         unictype/category-byname: Recognize long names as well.
20870         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
20871         a long name.
20872         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
20873         unictype/categ_byname.h.
20874         (UC_CATEGORY_INDEX_*): New enumeration values.
20875         (uc_general_category_byname): Use uc_general_category_lookup and
20876         convert from index to value.
20877         * lib/unictype/categ_byname.gperf: New file.
20878         * modules/unictype/category-byname (Files): Add
20879         lib/unictype/categ_byname.gperf.
20880         (Depends-on): Add gperf.
20881         (Makefile.am): Add rule for generating unictype/categ_byname.h.
20882         * tests/unictype/test-categ_byname.c (main): Test the recognition of
20883         long names.
20884
20885         Tests for module 'unictype/category-longname'.
20886         * modules/unictype/category-longname-tests: New file.
20887         * tests/unictype/test-categ_longname.c: New file.
20888
20889         New module 'unictype/category-longname'.
20890         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
20891         * lib/unictype/categ_longname.c: New file.
20892         * modules/unictype/category-longname: New file.
20893         * modules/unictype/category-all (Depends-on): Add it.
20894
20895 2011-03-25  Bruno Haible  <bruno@clisp.org>
20896
20897         Tests for module 'unictype/category-LC'.
20898         * modules/unictype/category-LC-tests: New file.
20899         * tests/unictype/test-categ_LC.c: New file, automatically generated.
20900
20901         New module 'unictype/category-LC'.
20902         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
20903         (UC_CATEGORY_LC): New declaration.
20904         (UC_CASED_LETTER): New macro.
20905         * lib/gen-uni-tables.c (is_category_LC): New function.
20906         (output_categories): Also handle category LC.
20907         (UC_CATEGORY_MASK_LC): New enumeration value.
20908         (general_category_byname): Also handle category LC.
20909         * lib/unictype/categ_LC.c: New file.
20910         * lib/unictype/categ_LC.h: New file, automatically generated.
20911         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
20912         category LC.
20913         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
20914         * modules/unictype/category-LC: New file.
20915         * modules/unictype/category-byname (Depends-on): Add
20916         unictype/category-LC.
20917         * modules/unictype/category-all (Depends-on): Likewise.
20918
20919 2011-03-25  Eric Blake  <eblake@redhat.com>
20920
20921         xmalloc: revert yesterday's regression
20922         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
20923         realloc's underlying behavior (allowing allocation of zero-size
20924         objects, especially if malloc-gnu is also in use).
20925
20926 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
20927
20928         maint.mk: add missing version to VC-tag
20929         * top/maint.mk: git tag was missing actual tag name; add it.
20930
20931         valgrind: do leak checking, and exit with code 1 on error (not 0)
20932         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
20933         to VALGRIND.
20934
20935 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
20936
20937         posix-modules: say what it does.
20938         * posix-modules: Add a line to the --help output saying what it does.
20939
20940 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
20941
20942         xmalloc: Do not leak if underlying realloc is C99 compatible.
20943         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20944         This avoids a leak on C99-based systems.  See
20945         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20946
20947 2011-03-24  Eric Blake  <eblake@redhat.com>
20948
20949         realloc: document portability problem
20950         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20951         passing 0 size to realloc.
20952
20953 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20954
20955         doc: update users.txt
20956         * users.txt: Add cvsps, tmpwatch
20957
20958 2011-03-23  Matt Rice  <ratmice@gmail.com>
20959
20960         doc: update users.txt
20961         * users.txt: Add gdb.
20962
20963 2011-03-23  Jim Meyering  <meyering@redhat.com>
20964
20965         doc: update users.txt
20966         Looking through matches up to the following URL (there are still
20967         several more pages), I found several projects that use gnulib:
20968         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20969         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20970         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20971
20972 2011-03-22  Bruno Haible  <bruno@clisp.org>
20973
20974         unictype/bidi*: Rename functions.
20975         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20976         uc_bidi_class, uc_is_bidi_class): New declarations.
20977         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20978         uc_bidi_category_byname.
20979         (uc_bidi_category_byname): New function.
20980         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20981         u_bidi_category_name.
20982         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20983         (uc_bidi_category_name): New function.
20984         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20985         uc_bidi_category.
20986         (uc_bidi_category): New function.
20987         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20988         uc_is_bidi_category. Invoke uc_bidi_class.
20989         (uc_is_bidi_category): New function.
20990         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20991         instead of uc_bidi_category_byname.
20992         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20993         instead of uc_bidi_category_name.
20994         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20995         uc_bidi_category.
20996         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20997         instead of uc_is_bidi_category.
20998
20999 2011-03-21  Bruno Haible  <bruno@clisp.org>
21000
21001         New module 'unictype/joininggroup-all'.
21002         * modules/unictype/joininggroup-all: New file.
21003
21004         Tests for module 'unictype/joininggroup-of'.
21005         * modules/unictype/joininggroup-of-tests: New file.
21006         * tests/unictype/test-joininggroup_of.c: New file.
21007         * tests/unictype/test-joininggroup_of.h: New file, automatically
21008         generated by gen-uni-tables.
21009
21010         New module 'unictype/joininggroup-of'.
21011         * modules/unictype/joininggroup-of: New file.
21012         * lib/unictype/joininggroup_of.c: New file.
21013         * lib/unictype/joininggroup_of.h: New file, automatically generated by
21014         gen-uni-tables.
21015
21016         Tests for module 'unictype/joininggroup-byname'.
21017         * modules/unictype/joininggroup-byname-tests: New file.
21018         * tests/unictype/test-joininggroup_byname.c: New file.
21019
21020         New module 'unictype/joininggroup-byname'.
21021         * modules/unictype/joininggroup-byname: New file.
21022         * lib/unictype/joininggroup_byname.c: New file.
21023         * lib/unictype/joininggroup_byname.gperf: New file.
21024
21025         Tests for module 'unictype/joininggroup-name'.
21026         * modules/unictype/joininggroup-name-tests: New file.
21027         * tests/unictype/test-joininggroup_name.c: New file.
21028
21029         New module 'unictype/joininggroup-name'.
21030         * modules/unictype/joininggroup-name: New file.
21031         * lib/unictype/joininggroup_name.c: New file.
21032         * lib/unictype/joininggroup_name.h: New file.
21033
21034         New module 'unictype/joiningtype-all'.
21035         * modules/unictype/joiningtype-all: New file.
21036
21037         Tests for module 'unictype/joiningtype-of'.
21038         * modules/unictype/joiningtype-of-tests: New file.
21039         * tests/unictype/test-joiningtype_of.c: New file.
21040         * tests/unictype/test-joiningtype_of.h: New file, automatically
21041         generated by gen-uni-tables.
21042
21043         New module 'unictype/joiningtype-of'.
21044         * modules/unictype/joiningtype-of: New file.
21045         * lib/unictype/joiningtype_of.c: New file.
21046         * lib/unictype/joiningtype_of.h: New file, automatically generated by
21047         gen-uni-tables.
21048
21049         Tests for module 'unictype/joiningtype-byname'.
21050         * modules/unictype/joiningtype-byname-tests: New file.
21051         * tests/unictype/test-joiningtype_byname.c: New file.
21052
21053         New module 'unictype/joiningtype-byname'.
21054         * modules/unictype/joiningtype-byname: New file.
21055         * lib/unictype/joiningtype_byname.c: New file.
21056
21057         Tests for module 'unictype/joiningtype-name'.
21058         * modules/unictype/joiningtype-name-tests: New file.
21059         * tests/unictype/test-joiningtype_name.c: New file.
21060
21061         New module 'unictype/joiningtype-name'.
21062         * modules/unictype/joiningtype-name: New file.
21063         * lib/unictype/joiningtype_name.c: New file.
21064
21065         unictype: Add support for Arabic shaping properties.
21066         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
21067         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
21068         declarations.
21069         (UC_JOINING_GROUP_*): New enumeration values.
21070         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
21071         declarations.
21072         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
21073         (unicode_joining_type): New variable.
21074         (UC_JOINING_GROUP_*): New enumeration values.
21075         (unicode_joining_group): New variable.
21076         (fill_arabicshaping, joining_type_as_c_identifier,
21077         output_joining_type_test, output_joining_type,
21078         joining_group_as_c_identifier, output_joining_group_test,
21079         output_joining_group): New functions.
21080         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
21081         fill_arabicshaping and output_joining_type_test, output_joining_type,
21082         output_joining_group_test, output_joining_group.
21083         Reported by Simon Josefsson.
21084
21085 2011-03-21  Jim Meyering  <meyering@redhat.com>
21086
21087         strftime: fix a bug in yesterday's change
21088         * lib/strftime.c (add): Accommodate width's initial value of -1.
21089         Otherwise, nstrftime would copy uninitialized data into
21090         the result buffer.
21091
21092 2011-03-21  Jim Meyering  <meyering@redhat.com>
21093
21094         tests: add strftime-tests module
21095         * tests/test-strftime.c: New file.
21096         * modules/strftime-tests: New module.
21097
21098 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21099
21100         strftime: don't assume a byte count fits in 'int'
21101         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
21102         found this problem by static analysis, using gcc -Wstrict-overflow
21103         (GCC 4.5.2, x86-64).  This reported an optimization that depended
21104         on an integer overflow having undefined behavior, but it turns out
21105         that the argument is a size, which might not fit in 'int' anyway,
21106
21107 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21108
21109         stdio: don't require ignore_value around fwrite
21110
21111         This patch works around libc bug 11959
21112         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
21113         Without this patch, applications must often write
21114         ignore_value (fwrite (...)) even though the ignore_value is
21115         not helpful here.  It's common to write many objects, using
21116         fwrite/printf/etc., and then use ferror to detect output error.
21117
21118         I considered making this patch optional, but decided against it,
21119         because libc is obviously being inconsistent here: there is no
21120         reason libc should insist that user code must inspect fwrite
21121         return's value without also insisting that it inspect printf's,
21122         putchar's, etc.  If user code wants to have a strict style where
21123         all these functions' values are checked (so that ferror need not
21124         be checked), we could add support for that style in a new gnulib
21125         module, but in the meantime it's better to be consistent and to
21126         support common usage.
21127
21128         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
21129         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
21130         that we are compiling in checking mode, and if not C++, and
21131         if not already wrapping fwrite for some other reason.
21132         (fwrite): #define to rpl_fwrite if the latter is defined.
21133
21134 2011-03-20  Bruno Haible  <bruno@clisp.org>
21135
21136         verror: Fix compilation error introduced on 2011-02-13.
21137         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
21138         instead of __attribute__.
21139         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21140
21141 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21142             Bruno Haible  <bruno@clisp.org>
21143
21144         socklen: do not depend on sys_socket
21145         While trying to modify Emacs to use gnulib's socklen module,
21146         I discovered a circular dependency: socklen depends on sys_socket
21147         and vice versa.  Emacs can use socklen, but it does not need
21148         sys_socket because it has its own substitute for sys/socket.h.
21149         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
21150         gl_TYPE_SOCKLEN_T.
21151         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
21152         gl_PREREQ_SYS_H_SOCKET.
21153         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
21154         gl_PREREQ_SYS_H_SOCKET.
21155         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
21156         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
21157         * modules/socklen (Depends-on): Do not depend on sys_socket.
21158         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
21159
21160 2011-03-20  Jim Meyering  <meyering@redhat.com>
21161
21162         maint.mk: sort file names *after* new transformation
21163         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
21164         prefix would have led to an unwarranted failure in GNU parted.
21165         Sort after that transformation.
21166
21167 2011-03-19  Jim Meyering  <meyering@redhat.com>
21168
21169         maint.mk: fix po-file syntax-check rule
21170         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
21171         Patch by Bruno Haible.
21172
21173 2011-03-19  Bruno Haible  <bruno@clisp.org>
21174
21175         socklen: Update comment.
21176         * m4/socklen.m4: Update comment about platforms.
21177
21178 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21179             Bruno Haible  <bruno@clisp.org>
21180
21181         inet_ntop, inet_pton: Simplify.
21182         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
21183         documented to provide socklen_t and we already depend on sys_socket.
21184         * modules/inet_pton (Depends-on): Likewise.
21185         * lib/arpa_inet.in.h: Adjust comment.
21186
21187 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21188             Bruno Haible  <bruno@clisp.org>
21189
21190         netdb: Simplify.
21191         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
21192         documented to provide socklen_t and we already depend on sys_socket.
21193         * lib/netdb.in.h: Adjust comment.
21194
21195 2011-03-19  Bruno Haible  <bruno@clisp.org>
21196
21197         sys_socket, netdb: Document problem with socklen_t.
21198         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
21199         platforms.
21200         * doc/posix-headers/netdb.texi: Likewise.
21201
21202 2011-03-18  Eric Blake  <eblake@redhat.com>
21203
21204         maint.mk: let po check work in VPATH build
21205         * top/maint.mk (po_file): Allow cfg.mk override.
21206         (sc_po_check): Allow VPATH use.
21207         Reported by Jiri Denemark.
21208
21209 2011-03-16  Jim Meyering  <meyering@redhat.com>
21210
21211         maint.mk: allow fine-grained syntax-check exclusion via Make variables
21212         Before, you would have had to create one .x-sc_ file per rule in order
21213         to exempt offending files.  Now, you may instead use a Make variable --
21214         usually defined in cfg.mk -- whose name identifies the affected rule.
21215         * top/maint.mk (_sc_excl): Define.
21216         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
21217         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
21218
21219 2011-03-13  Bruno Haible  <bruno@clisp.org>
21220
21221         ignore-value tests: Avoid warnings.
21222         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
21223         empty for gcc < 3.4.
21224
21225 2011-03-13  Bruno Haible  <bruno@clisp.org>
21226
21227         passfd: Fix link error on Solaris.
21228         * modules/passfd (Description): Correct.
21229         (Depends-on): Add socketlib.
21230         (Link): New section.
21231         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
21232
21233 2011-03-13  Bruno Haible  <bruno@clisp.org>
21234
21235         passfd: Fix link error on AIX 5.2.
21236         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
21237
21238 2011-03-13  Bruno Haible  <bruno@clisp.org>
21239
21240         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
21241         * lib/sys_socket.in.h: Include <stddef.h>.
21242         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
21243         CMSG_FIRSTHDR. Remove unused variable.
21244
21245 2011-03-13  Bruno Haible  <bruno@clisp.org>
21246
21247         passfd: Fix compilation error on OpenBSD.
21248         * lib/passfd.c: Include <sys/uio.h>.
21249
21250 2011-03-13  Bruno Haible  <bruno@clisp.org>
21251
21252         passfd test: Fix warnings.
21253         * tests/test-passfd.c: Include <sys/wait.h>.
21254         (main): Fix typo.
21255
21256 2011-03-13  Bruno Haible  <bruno@clisp.org>
21257
21258         passfd module, part 4, tweaks.
21259         * tests/test-passfd.c: Reorder includes.
21260         (main): Fix perror and printf calls.
21261
21262 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21263
21264         passfd module, part 4.
21265         * modules/passfd-tests: New file.
21266         * tests/test-passfd.c: New file.
21267
21268 2011-03-13  Jim Meyering  <meyering@redhat.com>
21269
21270         Makefile: rely on GNU make; derive syntax-check rule names
21271         Rather than requiring that each sc_ rule be listed as a dependent
21272         of "check", use features of GNU make to derive the list.
21273         * Makefile (syntax-check-rules): Define.
21274         (check): Depend on the new variable, not the hard-coded list.
21275
21276 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
21277             Bruno Haible  <bruno@clisp.org>
21278
21279         passfd module, part 3.
21280         * lib/passfd.h (recvfd): Add a flags argument.
21281         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
21282         (recvfd): Add a flags argument.
21283         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
21284         exists.
21285         * modules/passfd (Depends-on): Add cloexec.
21286         Suggested by Eric Blake.
21287
21288 2011-03-13  Bruno Haible  <bruno@clisp.org>
21289
21290         passfd module, part 2, tweaks.
21291         * modules/passfd (Files): Reorder.
21292         (Depends-on): Remove errno.
21293         (Include): Remove <sys/socket.h>, <sys/un.h>.
21294         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
21295         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
21296         specification header. Include <sys/socket.h> always. Don't include
21297         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
21298         (sendfd): Clarify that it sets errno when it fails.
21299         (recvfd): Fix specification.
21300
21301 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21302
21303         passfd module, part 2.
21304         * modules/passfd: New file.
21305         * lib/passfd.h: New file.
21306         * lib/passfd.c: New file.
21307
21308 2011-03-12  Bruno Haible  <bruno@clisp.org>
21309
21310         wcswidth, mbswidth: Avoid integer overflow.
21311         * lib/wcswidth.c: Include <limits.h>.
21312         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
21313         * lib/mbswidth.c: Include <limits.h>.
21314         (mbsnwidth): Avoid 'int' overflow.
21315         Reported by Jim Meyering.
21316
21317 2011-03-12  Bruno Haible  <bruno@clisp.org>
21318
21319         futimens, utimensat: Avoid endless recursion on Solaris 10.
21320         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
21321         Solaris.
21322         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
21323         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
21324
21325 2011-03-11  Jim Meyering  <meyering@redhat.com>
21326
21327         maint.mk: relax a regexp to accommodate other formatting styles
21328         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
21329         between "ngettext" and the following "(".
21330
21331 2011-03-11  Pádraig Brady <P@draigBrady.com>
21332
21333         maint.mk: suppress a false positive warning
21334         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
21335         diagnostics are marked with ngettext.
21336
21337 2011-03-10  Eric Blake  <eblake@redhat.com>
21338
21339         wchar: add explicit dependencies, for Tru64
21340         * modules/mbmemcasecoll (Depends-on): Add wchar.
21341         * modules/mbtowc (Depends-on): Likewise.
21342         * modules/vasnprintf (Depends-on): Likewise.
21343         * modules/unistdio/u-printf-args (Depends-on): Likewise.
21344         * modules/wctomb (Depends-on): Likewise.
21345         Reported by Peter O'Gorman.
21346
21347 2011-03-08  Bruno Haible  <bruno@clisp.org>
21348
21349         passfd module, part 1, tweaks.
21350         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
21351         Improve indentation. Improve AC_MSG_CHECKING messages.
21352         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
21353         gl_SOCKET_FAMILIES.
21354
21355 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21356
21357         passfd module, part 1.
21358         * m4/afunix.m4: New file.
21359         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
21360         sockets.
21361
21362 2011-03-08  Bruno Haible  <bruno@clisp.org>
21363
21364         regex-quote: New API.
21365         * lib/regex-quote.h: Include <stdbool.h>.
21366         (struct regex_quote_spec): New type.
21367         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
21368         New declarations.
21369         (regex_quote_length, regex_quote_copy, regex_quote): Take a
21370         'const struct regex_quote_spec *' argument.
21371         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
21372         (pcre_special): New constant.
21373         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
21374         New functions.
21375         (regex_quote_length, regex_quote_copy, regex_quote): Take a
21376         'const struct regex_quote_spec *' argument.
21377         * modules/regex-quote (Depends-on): Add stdbool.
21378         * tests/test-regex-quote.c (check): Update for new API. Add test for
21379         anchored results.
21380         * NEWS: Mention the API change.
21381         Reported by Reuben Thomas and Eric Blake.
21382
21383 2011-03-06  Bruno Haible  <bruno@clisp.org>
21384
21385         regex-quote: Fix creation of POSIX extended regular expressions.
21386         * lib/regex-quote.c (ere_special): Add grouping and alternation
21387         operators.
21388
21389 2011-03-05  Bruno Haible  <bruno@clisp.org>
21390
21391         doc: Improve doc regarding autopoint vs. gnulib.
21392         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
21393         disable autopoint while running autoreconf.
21394         Suggested by Ralf Wildenhues.
21395
21396 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21397
21398         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
21399         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
21400
21401 2011-03-03  Bruce Korb  <bkorb@gnu.org>
21402
21403         parse-duration: remove xalloc.h dependency
21404         * lib/parse-duration.c (parse_period): handle NULL return from
21405         strdup instead of calling xstrdup().
21406         * modules/parse-duration: remove "xalloc" dependency
21407
21408 2011-03-03  Matthew Booth  <mbooth@redhat.com>
21409
21410         bootstrap: honor m4_base when running aclocal
21411         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
21412
21413 2011-03-02  Jim Meyering  <meyering@redhat.com>
21414
21415         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
21416         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
21417         on request from Matt Booth.
21418
21419 2011-03-01  Eric Blake  <eblake@redhat.com>
21420
21421         test-link: work on Hurd
21422         * tests/test-link.h (test_link): Hurd rejects linking directories
21423         with EISDIR instead of the POSIX-mandated EPERM.
21424
21425 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
21426
21427         stdio: simplify by moving files to printf-posix, sigpipe
21428         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
21429         since this symbol is needed only if printf is replaced.
21430         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
21431         Require gl_ASM_SYMBOL_PREFIX.
21432         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
21433         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
21434         (Depends-on): Add 'raise'.
21435         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
21436         * modules/stdio (Files): Remove lib/stdio-write.c,
21437         m4/asm-underscore.m4.
21438         (Depends-on): Remove 'raise'.
21439
21440         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
21441         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
21442         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
21443         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
21444
21445 2011-02-28  Bruno Haible  <bruno@clisp.org>
21446
21447         localcharset: Assume ANSI C behaviour of free().
21448         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
21449         calling free().
21450         Suggested by Simon Josefsson <simon@josefsson.org>.
21451
21452 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
21453             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
21454             Bruno Haible  <bruno@clisp.org>  (tiny change)
21455
21456         On Cygwin, use /proc file system instead of win32 API.
21457         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
21458         Win32 file names.
21459         (DllMain): Simplify by removing Cygwin specific code.
21460         (find_shared_library_fullname): Use Linux specific implementation also
21461         for Cygwin.
21462         (get_shared_library_fullname): Update accordingly.
21463         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
21464         Win32 file names.
21465         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
21466         Cygwin specific code.
21467
21468 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
21469             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
21470
21471         Fix OpenMP flag detection for various Fortran compilers.
21472         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
21473         OpenMP-conditional compilation construct, to force compile
21474         failure with missing OpenMP flag.
21475         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
21476
21477 2011-02-25  Eric Blake  <eblake@redhat.com>
21478
21479         strstr: expand test coverage
21480         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
21481         compilation.
21482         * tests/test-memmem.c (main): Duplicate tests.
21483         * tests/test-strcasestr.c (main): Likewise.
21484         * tests/test-c-strcasestr.c (main): Likewise.
21485
21486 2011-02-25  Jim Meyering  <meyering@redhat.com>
21487
21488         maint.mk: detect missing-NL-at-EOF, too
21489         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
21490         it also detects when a file lacks a newline at EOF.
21491         (require_exactly_one_NL_at_EOF_): Renamed from
21492         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
21493         since people may well have .x-sc_... file names tied to the
21494         existing name.  Suggested by Eric Blake.
21495
21496 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
21497
21498         dirname: move m4/dos.m4 functionality into lib/dosname.h
21499
21500         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
21501         extracts symbols from it, puts them into config.h; but it's much
21502         easier to use the symbols directly.  filename.h already does this,
21503         but it disagrees with dos.m4 in some respects.  This patch
21504         introduces a different include file dosname.h that packages up
21505         dos.m4, and then later we can work on merging filename.h and
21506         dosname.h.  Applications that need only the easy-to-configure
21507         symbols should consider including dosname.h rather than dirname.h.
21508         * NEWS: Mention incompatible changes.
21509         * m4/dos.m4: Remove.
21510         * lib/dosname.h, modules/dosname: New files.
21511         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
21512         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
21513         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
21514         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
21515         Include dosname.h, not dirname.h.
21516         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
21517         Include dosname.h, for definitions of symbols like ISSLASH
21518         that used to be in config.h.
21519         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
21520         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21521         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21522         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21523         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
21524         * modules/rmdir (Files): Likewise.
21525         * modules/stat (Files): Likewise.
21526         * modules/unlink (Files): Likewise.
21527         * modules/dirname-lgpl (Depends-on): Add dosname.
21528         * modules/lstat (Depends-on): Likewise.
21529         * modules/openat (Depends-on): Likewise.
21530         * modules/rmdir (Depends-on): Likewise.
21531         * modules/savewd (Depends-on): Likewise.
21532         * modules/stat (Depends-on): Likewise.
21533         * modules/unlink (Depends-on): Likewise.
21534         * modules/openat (Depends-on): Remove dirname-lgpl.
21535         * modules/savewd (Depends-on): Likewise.
21536         * tests/test-dirname.c: Do not use removed symbols like
21537         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
21538         the remaining symbols, e.g., ISSLASH ('\\').
21539
21540 2011-02-25  Eric Blake  <eblake@redhat.com>
21541
21542         strstr: revert patches that introduced bug and pessimization
21543         * lib/str-two-way.h: Add another reference.
21544         (two_way_short_needle, two_way_long_needle): Revert changes from
21545         2011-02-24; they pessimize search speed.
21546         (critical_factorization): Partially revert changes from
21547         2010-06-22; they violate the requirement that the left half of the
21548         needle be smaller than the period of the needle.
21549
21550 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
21551
21552         filenamecat: remove unnecessary dependency on dirname-lgpl
21553         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
21554         is no direct dependency, just an indirect one via filenamecat-lgpl.
21555
21556         remove: remove unnecessary use of m4/dos.m4
21557         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
21558         * modules/remove (FILES): Remove m4/dos.m4.
21559
21560         * lib/openat-proc.c: Don't include dirname.h; not needed.
21561
21562         backupfile: remove unnecessary use of m4/dos.m4
21563         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
21564         of its symbols are used by the backupfile code.  backupfile.c does
21565         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
21566         for the rare case of programs that want all their backup file
21567         names to live within 8+3 limits, and dos.m4 doesn't address that.
21568         * modules/backupfile (Files): Remove m4/dos.m4.
21569
21570 2011-02-24  Jim Meyering  <meyering@redhat.com>
21571
21572         strstr: fix a bug whereby strstr would mistakenly return NULL
21573         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
21574         in period calculation.
21575         (two_way_long_needle): Likewise.
21576         The original problem was reported by Mike Stump in
21577         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
21578         Ralf Wildenhues provided the short needle and haystack.
21579         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
21580         Add a more involved test to trigger the bug in two_way_long_needle.
21581
21582 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
21583
21584         gnulib-tool: remove use of bold display in help screen
21585         * gnulib-tool (func_usage): Do not use bold display anymore in the
21586         help screen.  That was just meant to be a temporary emphasis for a
21587         backward-incompatible change.
21588
21589 2011-02-23  Bruno Haible  <bruno@clisp.org>
21590
21591         Fix misindentation of preprocessor directives.
21592         * lib/argp-namefrob.h: Reindent preprocessor directives.
21593         * lib/getopt_int.h (struct _getopt_data): Likewise.
21594         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
21595         * lib/vasnprintf.c (decode_long_double): Likewise.
21596         * tests/test-argmatch.c: Insert blank lines, for clarity.
21597         * tests/test-exclude.c: Likewise.
21598
21599 2011-02-22  Bruno Haible  <bruno@clisp.org>
21600
21601         ioctl: Fix for MacOS X in 64-bit mode.
21602         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
21603         value.
21604         Suggested by Eric Blake.
21605         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
21606
21607 2011-02-22  Jim Meyering  <meyering@redhat.com>
21608
21609         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
21610         * Makefile (sc_cpp_indent_check): Don't limit the check to files
21611         in lib/.
21612
21613 2011-02-22  Eric Blake  <eblake@redhat.com>
21614
21615         maint: avoid any CDPATH issue
21616         * Makefile (sc_cpp_indent_check): Anchor cd argument.
21617
21618         maint: adjust cpp indentation for my modules, as well
21619         * Makefile (sc_cpp_indent_check): Add my name.
21620         * lib/fbufmode.c: Filter through cppi.
21621         * lib/fpurge.c: Likewise.
21622         * lib/freadable.c: Likewise.
21623         * lib/freading.c: Likewise.
21624         * lib/fwritable.c: Likewise.
21625         * lib/fwriting.c: Likewise.
21626         * lib/sigaction.c: Likewise.
21627
21628 2011-02-22  Jim Meyering  <meyering@redhat.com>
21629
21630         maint: adjust cpp indentation to reflect nesting depth
21631         I.e., in a block of code that begins with an unnested "#if",
21632         put one space between the "#" in column 1 and following token.
21633         For example,
21634         -#include <sys/vfs.h>
21635         +# include <sys/vfs.h>
21636         Do this only in .c files that are part of a module I maintain.
21637         * lib/linkat.c: Filter through cppi.
21638         * lib/nanosleep.c: Likewise.
21639         * lib/openat.c: Likewise.
21640         * lib/openat-die.c: Likewise.
21641         * lib/dup3.c: Likewise.
21642         * lib/fchownat.c: Likewise.
21643         * lib/flock.c: Likewise.
21644         * lib/fsync.c: Likewise.
21645         * lib/fts.c: Likewise.
21646         * lib/getpass.c: Likewise.
21647         * lib/gettimeofday.c: Likewise.
21648         * lib/userspec.c: Likewise.
21649         * Makefile (sc_cpp_indent_check): New rule, to check this.
21650
21651 2011-02-22  Bruno Haible  <bruno@clisp.org>
21652
21653         New module 'wctomb'.
21654         * lib/stdlib.in.h (wctomb): New declaration.
21655         * lib/wctomb.c: New file.
21656         * lib/wctomb-impl.h: New file.
21657         * m4/wctomb.m4: New file.
21658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
21659         REPLACE_WCTOMB.
21660         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
21661         REPLACE_WCTOMB.
21662         * modules/wctomb: New file.
21663         * tests/test-stdlib-c++.cc: Test signature of wctomb.
21664         * doc/posix-functions/wctomb.texi: Mention the new module.
21665         * modules/wctob (Depends-on): Add wctomb.
21666
21667 2011-02-22  Bruno Haible  <bruno@clisp.org>
21668
21669         New module 'mbtowc'.
21670         * lib/stdlib.in.h (mbtowc): New declaration.
21671         * lib/mbtowc.c: New file.
21672         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
21673         * m4/mbtowc.m4: New file.
21674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
21675         REPLACE_MBTOWC.
21676         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
21677         REPLACE_MBTOWC.
21678         * modules/mbtowc: New file.
21679         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
21680         * doc/posix-functions/mbtowc.texi: Mention the new module.
21681         * modules/btowc (Depends-on): Add mbtowc.
21682
21683 2011-02-22  Bruno Haible  <bruno@clisp.org>
21684
21685         wcrtomb: Add more tests for native Windows platforms.
21686         * tests/test-wcrtomb-w32-1.sh: New file.
21687         * tests/test-wcrtomb-w32-2.sh: New file.
21688         * tests/test-wcrtomb-w32-3.sh: New file.
21689         * tests/test-wcrtomb-w32-4.sh: New file.
21690         * tests/test-wcrtomb-w32-5.sh: New file.
21691         * tests/test-wcrtomb-w32.c: New file.
21692         * modules/wcrtomb-tests (Files): Add them.
21693         (Makefile.am): Arrange to run these tests.
21694         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
21695         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
21696
21697 2011-02-20  Bruno Haible  <bruno@clisp.org>
21698
21699         wcrtomb: Enhance test.
21700         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
21701
21702 2011-02-20  Bruno Haible  <bruno@clisp.org>
21703
21704         mbrtowc: Tiny optimization.
21705         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
21706
21707 2011-02-20  Jim Meyering  <meyering@redhat.com>
21708
21709         test-exclude.c: remove unmatched #endif
21710         * tests/test-exclude.c: Remove stray #endif, left over from
21711         the change of a week ago.
21712
21713 2011-02-19  Jim Meyering  <meyering@redhat.com>
21714
21715         git-version-gen: skip "-dirty" check when appropriate
21716         * build-aux/git-version-gen: Don't run any git commands when the
21717         version string comes from .tarball-version.  Prior to this, we
21718         would run git update-index --refresh even from a just-unpacked
21719         tarball directory, and that could affect a .git/ directory in a
21720         parent of the build directory.  Reported by Mike Frysinger.
21721
21722 2011-02-19  Bruno Haible  <bruno@clisp.org>
21723
21724         unictype/property-byname: Reduce the size of the 'data' segment.
21725         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
21726
21727 2011-02-19  Bruno Haible  <bruno@clisp.org>
21728
21729         unictype/scripts: Reduce the size of the 'data' segment.
21730         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
21731         '%pic'.
21732         * lib/unictype/scripts_byname.gperf: Regenerated.
21733
21734 2011-02-19  Bruno Haible  <bruno@clisp.org>
21735
21736         stdint: Update documentation.
21737         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
21738
21739 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21740
21741         stdint: omit redundant check for wchar.h
21742         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
21743         always tests whether wchar.h exists, so remove the now-redundant test.
21744
21745 2011-02-18  Bruno Haible  <bruno@clisp.org>
21746
21747         stdint: Cut dependency to module 'wchar'.
21748         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
21749         include the necessary prerequisites.
21750         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
21751         * modules/stdint (Depends-on): Remove wchar.
21752         (Makefile.am): Substitute HAVE_WCHAR_H.
21753         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
21754
21755 2011-02-18  Eric Blake  <eblake@redhat.com>
21756
21757         longlong: skip, rather than fail, on cross-compilation
21758         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
21759         when cross-compiling; regression from 2011-02-16.
21760
21761 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21762
21763         * NEWS: Mention 2011-02-08 change to stdlib.
21764
21765 2011-02-17  Bruno Haible  <bruno@clisp.org>
21766
21767         getloadavg: Add comments about platforms.
21768         * m4/getloadavg.m4: Add comment.
21769         * lib/getloadavg.c: Likewise.
21770
21771 2011-02-17  Bruno Haible  <bruno@clisp.org>
21772
21773         getloadavg: Fix link error on Solaris 2.6.
21774         * modules/getloadavg (Link): New section.
21775         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
21776         linking test-getloadavg.
21777         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
21778         getloadavg.
21779
21780 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21781
21782         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
21783         It was 'int', but this doesn't match the IRIX 6.5 manual.
21784         Suggested by Bruno Haible in
21785         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
21786
21787 2011-02-17  Bruno Haible  <bruno@clisp.org>
21788
21789         havelib: Fix comments.
21790         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
21791         change.
21792
21793 2011-02-17  Bruno Haible  <bruno@clisp.org>
21794
21795         havelib: Update config.rpath.
21796         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
21797
21798 2011-02-17  Bruno Haible  <bruno@clisp.org>
21799
21800         getloadavg test: Add some plausibility checks.
21801         * tests/test-getloadavg.c (check_avg): Print a warning when the value
21802         is improbable.
21803
21804 2011-02-16  Eric Blake  <eblake@redhat.com>
21805
21806         maintainer-makefile: make syntax-check a no-op from tarballs
21807         * top/maint.mk (no-vc-detected): New rule.
21808         (local-checks-available): Use it to avoid hanging if someone tries
21809         'make syntax-check' from a tarball.  Also append to any non-syntax
21810         checks already defined in cfg.mk.
21811
21812 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21813
21814         longlong: tune, particularly for common case of c99
21815
21816         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
21817         or running anything if c99, or if unsigned long long int does not
21818         work.  In either case, we know the answer without further tests.
21819         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
21820         it at most once, and use its results for both long long int and
21821         unsigned long long int.  This is more likely to be efficient in
21822         the common case where the program wants to check for both long
21823         long int and unsigned long long int.
21824         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
21825         since the answer is already known.
21826
21827 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21828
21829         getloadavg: set errno
21830         * lib/getloadavg.c: Set errno when returning -1.  If no other
21831         error number looks appropriate, set it to ENOSYS if the getloadavg
21832         looks like it can't possibly ever work, ENOTSUP otherwise.
21833         Suggested by Bruno Haible in
21834         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
21835
21836         getloadavg: trim unused parts and speed up 'configure'
21837         * NEWS: Document this.
21838         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
21839         always compiled if getloadavg is absent.
21840         Move test code to ...
21841         * tests/test-getloadavg.c: New file, containing previous
21842         contents of test from lib/getloadavg.c.  It also contains
21843         suggestions by Bruno Haible in
21844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
21845         * modules/getloadavg-tests: New file.
21846         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
21847         Do tests in the same order as they're needed for getloadavg.c.
21848         Omit setgid-related tests that generate symbols KMEM_GROUP,
21849         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
21850         Do only the tests that are needed to see whether the system has
21851         getloadavg, moving the other tests into ...
21852         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
21853         NLIST_NAME_UNION; nobody should be using it.  Do not define
21854         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
21855         relevant, as the user of this module shouldn't care how getloadavg
21856         is implemented.
21857
21858         getloadavg: omit unused var
21859         * lib/getloadavg.c (getloadavg): Omit unused local variable.
21860
21861 2011-02-15  Jim Meyering  <meyering@redhat.com>
21862
21863         doc: update users.txt
21864         * users.txt: Update iwhd's URL.
21865
21866 2011-02-13  Bruno Haible  <bruno@clisp.org>
21867
21868         Consistent macro naming for macros that use GCC __attribute__.
21869         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
21870         _ATTRIBUTE_NONNULL_.
21871         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
21872         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
21873         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
21874         ATTRIBUTE_DEPRECATED.
21875         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
21876         ATTRIBUTE_NORETURN.
21877         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21878         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21879         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21880         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21881         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
21882         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
21883         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
21884         ATTRIBUTE_SENTINEL.
21885         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
21886         ATTRIBUTE_RETURN_CHECK.
21887         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
21888         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
21889         ATTRIBUTE_NORETURN.
21890         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
21891         Reported by Paul Eggert.
21892
21893 2011-02-13  Bruno Haible  <bruno@clisp.org>
21894
21895         Don't interfere with a program's definition of __attribute__.
21896         * lib/argp.h (__attribute__): Remove definition.
21897         (_GL_ATTRIBUTE_FORMAT): New macro.
21898         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
21899         * lib/argp-fmtstream.h (__attribute__): Remove definition.
21900         (_GL_ATTRIBUTE_FORMAT): New macro.
21901         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
21902         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
21903         GCC 3 or newer.
21904         * lib/error.h (__attribute__): Remove definition.
21905         (_GL_ATTRIBUTE_FORMAT): New macro.
21906         (error, error_at_line): Use it.
21907         * lib/hash.h (__attribute__): Remove definition.
21908         (ATTRIBUTE_WUR): Update definition. Define always.
21909         * lib/openat.h (__attribute__): Remove definition.
21910         (ATTRIBUTE_NORETURN): Update definition. Define always.
21911         * lib/sigpipe-die.h (__attribute__): Remove definition.
21912         (ATTRIBUTE_NORETURN): Update definition. Define always.
21913         * lib/vasnprintf.h (__attribute__): Remove definition.
21914         (_GL_ATTRIBUTE_FORMAT): New macro.
21915         (asnprintf, vasnprintf): Use it.
21916         * lib/xalloc.h (__attribute__): Remove definition.
21917         (ATTRIBUTE_NORETURN): Update definition. Define always.
21918         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
21919         * lib/xmemdup0.h (__attribute__): Remove definition.
21920         (ATTRIBUTE_NORETURN): Update definition. Define always.
21921         * lib/xprintf.h (__attribute__): Remove definition.
21922         (_GL_ATTRIBUTE_FORMAT): New macro.
21923         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
21924         * lib/xstrtol.h (__attribute__): Remove definition.
21925         (ATTRIBUTE_NORETURN): Update definition. Define always.
21926         * lib/xvasprintf.h (__attribute__): Remove definition.
21927         (_GL_ATTRIBUTE_FORMAT): New macro.
21928         (xasprintf, xvasprintf): Use it.
21929         * tests/test-argmatch.c (__attribute__): Remove definition.
21930         (ATTRIBUTE_NORETURN): Update definition. Define always.
21931         * tests/test-exclude.c (__attribute__): Remove definition.
21932         (ATTRIBUTE_NORETURN): Update definition. Define always.
21933         Reported by Paul Eggert.
21934
21935 2011-02-13  Bruno Haible  <bruno@clisp.org>
21936
21937         mbrtowc: Add more tests for native Windows platforms.
21938         * tests/test-mbrtowc-w32-1.sh: New file.
21939         * tests/test-mbrtowc-w32-2.sh: New file.
21940         * tests/test-mbrtowc-w32-3.sh: New file.
21941         * tests/test-mbrtowc-w32-4.sh: New file.
21942         * tests/test-mbrtowc-w32-5.sh: New file.
21943         * tests/test-mbrtowc-w32.c: New file.
21944         * modules/mbrtowc-tests (Files): Add them.
21945         (Makefile.am): Arrange to run these tests.
21946         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21947         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21948
21949 2011-02-13  Bruno Haible  <bruno@clisp.org>
21950
21951         mbrtowc: Work around native Windows bug.
21952         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21953         guess when no suitable locale for testing was found.
21954         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21955
21956 2011-02-13  Bruno Haible  <bruno@clisp.org>
21957
21958         mbsinit: Work around mingw bug.
21959         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21960         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21961         Windows.
21962         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21963
21964 2011-02-13  Bruno Haible  <bruno@clisp.org>
21965
21966         mbsinit: Don't crash for a NULL argument.
21967         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21968         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21969
21970 2011-02-13  Bruno Haible  <bruno@clisp.org>
21971
21972         Don't interfere with a program's definition of __attribute__.
21973         * lib/stdio.in.h (__attribute__): Remove definition.
21974         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21975         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21976         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21977         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21978         * lib/string.in.h (__attribute__): Remove definition.
21979         Reported by Paul Eggert.
21980
21981 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21982
21983         stdlib: don't get in the way of non-GCC __attribute__
21984         See thread starting at
21985         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21986         Revert previous stdlib change, installing the following instead:
21987         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21988         to get in the way of a non-GCC compiler that supports __attribute__.
21989         (_GL_ATTRIBUTE_RETURN): New macro.
21990         (_Exit): Use it instead of __attribute__.
21991
21992 2011-02-12  Bruno Haible  <bruno@clisp.org>
21993
21994         quotearg test: Avoid test failure on mingw.
21995         * tests/test-quotearg.sh: Convert the locale identifier from native
21996         Windows syntax to Unix syntax.
21997
21998 2011-02-12  Bruno Haible  <bruno@clisp.org>
21999
22000         setlocale: Prefer gnulib's override over libintl's override.
22001         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
22002         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
22003         GNULIB_defined_setlocale is set.
22004
22005 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
22006
22007         stdlib: support non-GCC __attribute__
22008
22009         Fix a serious and tricky problem encountered when attempting to
22010         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
22011         5.5, but it crashed due to memory corruption on Solaris 10 with
22012         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
22013         bits that are otherwise zero.  This tagging is optional inside
22014         Emacs but is preferred and is used when __attribute__ ((__aligned
22015         (8))) works, as it does with both recent-enough GCC and with Sun C
22016         5.11.  However, Sun C 5.11 is not GCC and does not #define
22017         __GNUC__ and __GNUC_MINOR__.
22018
22019         When I added the getloadavg module to Emacs, it brought in
22020         stdlib.in.h, which contained this fragment:
22021
22022            #ifndef __attribute__
22023            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
22024            #  define __attribute__(Spec)   /* empty */
22025            # endif
22026            #endif
22027
22028         When files that include <stdlib.h> were compiled with Sun C 5.11,
22029         the above code disabled __attribute__ ((__aligned (8))), which
22030         caused variables to not be properly aligned, which eventually led
22031         to the pointer corruption mentioned above.  (This was a bit hard
22032         to diagnose, unfortunately.)
22033
22034         Several "#define __attribute__(X) /* empty */" code snippets need
22035         to be eradicated from Gnulib to work with non-GCC compilers that
22036         support __attribute__.  The Autoconf way to do this is to test for
22037         each kind of attribute that we want support for, and selectively
22038         enable that in source code.
22039
22040         Fix this problem just for stdlib.h, by adding a test for the
22041         __noreturn__ attribute, and change stdlib.in.h to use that test
22042         when needed.  This technique can be easily generalized to the
22043         other *.in.h files and attributes, and a similar technique can be
22044         used for *.h and *.c files.  This patch is enough to solve the
22045         problem for Emacs + getloadavg, and I thought I'd publish it for
22046         feedback before undertaking further, similar fixes in other
22047         modules.
22048
22049         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
22050         because it's not needed for stdlib.h.  It merely substitutes the
22051         value directly into stdlib.h.  We may well need to #define it, or
22052         similar symbols, for other modules, but it's nice to also have an
22053         option to not #define it for applications like Emacs that do not
22054         need it.
22055
22056         * lib/stdlib.in.h (__attribute__): Do not #define.
22057         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
22058         be defined only if the _Exit module is also used.
22059         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
22060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
22061         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
22062         platforms.
22063         * modules/_Exit (Files): Add m4/attribute.m4.
22064         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
22065         * m4/attribute.m4: New file.
22066
22067 2011-02-12  Bruno Haible  <bruno@clisp.org>
22068
22069         wcsrtombs: Work around bug on native Windows.
22070         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
22071         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
22072         instead of len.
22073         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
22074
22075 2011-02-12  Bruno Haible  <bruno@clisp.org>
22076
22077         mbsrtowcs: Work around bug on native Windows.
22078         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
22079         against mingw bug.
22080         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
22081
22082 2011-02-12  Bruno Haible  <bruno@clisp.org>
22083
22084         Avoid setlocale bugs in tests.
22085         * modules/btowc (Dependencies): Add setlocale.
22086         * modules/c-strcase (Dependencies): Likewise.
22087         * modules/mbmemcasecmp (Dependencies): Likewise.
22088         * modules/mbmemcasecoll (Dependencies): Likewise.
22089         * modules/mbrtowc (Dependencies): Likewise.
22090         * modules/mbscasecmp (Dependencies): Likewise.
22091         * modules/mbscasestr (Dependencies): Likewise.
22092         * modules/mbschr (Dependencies): Likewise.
22093         * modules/mbscspn (Dependencies): Likewise.
22094         * modules/mbsinit (Dependencies): Likewise.
22095         * modules/mbsncasecmp (Dependencies): Likewise.
22096         * modules/mbsnrtowcs (Dependencies): Likewise.
22097         * modules/mbspbrk (Dependencies): Likewise.
22098         * modules/mbspcasecmp (Dependencies): Likewise.
22099         * modules/mbsrchr (Dependencies): Likewise.
22100         * modules/mbsrtowcs (Dependencies): Likewise.
22101         * modules/mbsspn (Dependencies): Likewise.
22102         * modules/mbsstr (Dependencies): Likewise.
22103         * modules/nl_langinfo (Dependencies): Likewise.
22104         * modules/quotearg (Dependencies): Likewise.
22105         * modules/unicase/locale-language (Dependencies): Likewise.
22106         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
22107         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
22108         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
22109         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
22110         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
22111         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
22112         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
22113         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
22114         * modules/vasnprintf-posix (Dependencies): Likewise.
22115         * modules/wcrtomb (Dependencies): Likewise.
22116         * modules/wcsnrtombs (Dependencies): Likewise.
22117         * modules/wcsrtombs (Dependencies): Likewise.
22118
22119 2011-02-12  Bruno Haible  <bruno@clisp.org>
22120
22121         setlocale: Workaround native Windows bug.
22122         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
22123         succeeds but sets LC_CTYPE to "C", report a failure.
22124         * tests/test-setlocale2.sh: New file.
22125         * tests/test-setlocale2.c: New file.
22126         * modules/setlocale-tests (Files): Add the new files.
22127         (Makefile.am): Enable test-setlocale2.sh test.
22128         * doc/posix-functions/setlocale.texi: Mention workaround.
22129
22130 2011-02-11  Bruno Haible  <bruno@clisp.org>
22131
22132         Tests for module 'setlocale'.
22133         * modules/setlocale-tests: New file.
22134         * tests/test-setlocale1.sh: New file.
22135         * tests/test-setlocale1.c: New file.
22136
22137         New module 'setlocale'.
22138         * lib/locale.in.h (setlocale): New declaration.
22139         * lib/setlocale.c: New file, based on
22140         gettext/gettext-runtime/intl/setlocale.c.
22141         * m4/setlocale.m4: New file.
22142         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
22143         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
22144         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
22145         REPLACE_SETLOCALE.
22146         * modules/setlocale: New file.
22147         * tests/test-locale-c++.cc: Test the declaration of setlocale.
22148         * doc/posix-functions/setlocale.texi: Mention the new module.
22149
22150 2011-02-11  Bruno Haible  <bruno@clisp.org>
22151
22152         Prepare for locale dependent tests on mingw.
22153         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
22154         because it has the wrong locale encoding.
22155         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
22156         French_France.1252 instead of "fr".
22157         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
22158         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
22159         because it has the wrong locale encoding.
22160         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
22161         native Windows, try Turkish_Turkey.65001.
22162         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
22163         Chinese_China.54936.
22164
22165         Prepare for locale dependent tests on mingw.
22166         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
22167         differently.
22168         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
22169         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
22170         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22171         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22172
22173 2011-02-11  Eric Blake  <eblake@redhat.com>
22174
22175         strptime: avoid compiler warnings
22176         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
22177         compiler warnings about dead code.
22178         Reported by Daniel P. Berrange.
22179
22180 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
22181
22182         doc: update users.txt
22183         * users.txt: Add rcs.
22184
22185 2011-02-10  John W. Eaton  <jwe@gnu.org>
22186
22187         doc: update users.txt
22188         * users.txt: Add octave.
22189
22190 2011-02-10  Jim Meyering  <meyering@redhat.com>
22191
22192         doc: update users.txt
22193         * users.txt: Add iwhd.
22194
22195 2011-02-09  Bruno Haible  <bruno@clisp.org>
22196
22197         gnulib-tool: Make copyright notice adjustment more robust.
22198         * gnulib-tool (func_import): In sed_transform_main_lib_file,
22199         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
22200         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
22201         License".
22202         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
22203
22204 2011-02-06  Bruno Haible  <bruno@clisp.org>
22205
22206         New module 'towctrans'.
22207         * modules/towctrans: New file.
22208         * lib/wctype.in.h (towctrans): New declaration.
22209         * lib/towctrans.c: New file.
22210         * lib/towctrans-impl.h: New file.
22211         * m4/towctrans.m4: New file.
22212         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
22213         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
22214         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
22215         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
22216         * doc/posix-functions/towctrans.texi: Mention the new module.
22217
22218 2011-02-06  Bruno Haible  <bruno@clisp.org>
22219
22220         New module 'wctrans'.
22221         * modules/wctrans: New file.
22222         * lib/wctype.in.h (wctrans): New declaration.
22223         * lib/wctrans.c: New file.
22224         * lib/wctrans-impl.h: New file.
22225         * m4/wctrans.m4: New file.
22226         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
22227         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
22228         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
22229         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
22230         * doc/posix-functions/wctrans.texi: Mention the new module.
22231
22232 2011-02-06  Bruno Haible  <bruno@clisp.org>
22233
22234         New module 'iswctype'.
22235         * modules/iswctype: New file.
22236         * lib/wctype.in.h (iswctype): New declaration.
22237         * lib/iswctype.c: New file.
22238         * lib/iswctype-impl.h: New file.
22239         * m4/iswctype.m4: New file.
22240         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
22241         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
22242         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
22243         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
22244         * doc/posix-functions/iswctype.texi: Mention the new module and the
22245         HP-UX 11.00 problem.
22246
22247 2011-02-06  Bruno Haible  <bruno@clisp.org>
22248
22249         New module 'wctype'.
22250         * modules/wctype: Change to represent the wctype() substitute.
22251         * lib/wctype.in.h (wctype): New declaration.
22252         * lib/wctype.c: New file.
22253         * lib/wctype-impl.h: New file.
22254         * m4/wctype.m4: New file.
22255         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
22256         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
22257         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
22258         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
22259         * doc/posix-functions/wctype.texi: Mention the new module and the
22260         HP-UX 11.00 problem.
22261
22262 2011-02-06  Bruno Haible  <bruno@clisp.org>
22263
22264         wctype-h: Ensure wctype_t and wctrans_t are defined.
22265         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
22266         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
22267         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
22268         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
22269         HAVE_WCTRANS_T.
22270         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
22271
22272 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
22273
22274         flock: fix license typo
22275
22276         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
22277         omitted.
22278
22279 2011-02-08  Bruno Haible  <bruno@clisp.org>
22280
22281         Split large sed scripts, for HP-UX sed.
22282         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
22283         to avoid HP-UX limit of 99 commands, in the near future.
22284         * modules/stdlib (Makefile.am): Likewise.
22285         * modules/unistd (Makefile.am): Likewise.
22286         * modules/wchar (Makefile.am): Likewise.
22287         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22288         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
22289         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
22290
22291 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22292             Bruno Haible  <bruno@clisp.org>
22293
22294         stdlib: improve random_r modularization
22295         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
22296         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
22297         you also need the random_r module to get this material right.
22298         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
22299         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
22300         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
22301
22302 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22303
22304         stdlib: don't depend on stdint
22305         * lib/stdlib.in.h: Don't include <stdint.h> merely because
22306         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
22307         be independent of whether stdint.h is needed.
22308         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
22309         here, instead of ...
22310         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
22311         struct random_data should be using the random_r module, not just
22312         the stdlib module (which wouldn't make sense: what package needs
22313         just struct random_data without also needing random_r?).
22314         * modules/stdlib (Depends-on): Remove stdint.
22315
22316         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
22317         See the thread rooted at
22318         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
22319         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
22320         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
22321         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
22322         __VMS)); previously it was always included (via fcntl--.h).
22323         (getloadavg): Do not use c_strtod.  Instead, approximate it by
22324         hand; this is good enough for load averages.  Also, do not use
22325         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
22326         flags directly if available and don't bother otherwise.  (Packages
22327         that need the extra reliability should use the modules that define
22328         these flags on older platforms that lack them.)
22329         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
22330         fcntl-safer.
22331
22332 2011-02-08  Jim Meyering  <meyering@redhat.com>
22333
22334         di-set.h, ino-map.h: add multiple-inclusion guard
22335         Technically, the guard is required only for ino-map.h, due to its
22336         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
22337         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
22338         * lib/ino-map.h: Likewise.
22339
22340 2011-02-06  Bruno Haible  <bruno@clisp.org>
22341
22342         iswblank: Ensure declaration on glibc systems.
22343         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
22344         * modules/iswblank (Dependencies): Add 'extensions'.
22345         * doc/posix-functions/iswblank.texi: Document the glibc problem.
22346
22347 2011-02-06  Bruno Haible  <bruno@clisp.org>
22348
22349         New module 'iswblank'.
22350         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
22351         * modules/iswblank: New file.
22352         * modules/wctype-h (Files): Remove lib/iswblank.c.
22353         (Makefile.am): Substitute GNULIB_ISWBLANK.
22354         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
22355         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
22356         (gl_WCTYPE_H_DEFAULTS): New macro.
22357         (gl_WCTYPE_H): Require it. Remove iswblank related code.
22358         * modules/iswblank-tests: New file.
22359         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
22360         * tests/test-wctype-h.c (main): Remove iswblank tests.
22361         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
22362         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
22363         of 'wctype-h'.
22364         * NEWS: Mention the change.
22365         * modules/mbchar (Depends-on): Add iswblank.
22366
22367 2011-02-08  Bruno Haible  <bruno@clisp.org>
22368
22369         di-set tests: Refactor.
22370         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
22371         unnecessary includes.
22372         (ASSERT): Remove macro.
22373         (main): Make C90 compliant by avoiding variable declaration after
22374         statement.
22375         * modules/di-set-tests (Files): Add tests/macros.h.
22376
22377 2011-02-08  Bruno Haible  <bruno@clisp.org>
22378
22379         ino-map tests: Refactor.
22380         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
22381         unnecessary includes.
22382         (ASSERT): Remove macro.
22383         (main): Make C90 compliant by avoiding variable declaration after
22384         statement.
22385         * modules/ino-map-tests (Files): Add tests/macros.h.
22386
22387 2011-02-08  Jim Meyering  <meyering@redhat.com>
22388
22389         di-set: add "const" to a cast
22390         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
22391         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
22392
22393 2011-02-06  Bruno Haible  <bruno@clisp.org>
22394
22395         Rename module 'wctype' to 'wctype-h'.
22396         * modules/wctype-h: Renamed from modules/wctype.
22397         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
22398         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
22399         (Files, Depends-on, Makefile.am): Update.
22400         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
22401         (Files, Makefile.am): Update.
22402         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
22403         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
22404         * doc/posix-headers/wctype.texi: Update.
22405         * doc/posix-functions/iswalnum.texi: Update.
22406         * doc/posix-functions/iswalpha.texi: Update.
22407         * doc/posix-functions/iswblank.texi: Update.
22408         * doc/posix-functions/iswcntrl.texi: Update.
22409         * doc/posix-functions/iswdigit.texi: Update.
22410         * doc/posix-functions/iswgraph.texi: Update.
22411         * doc/posix-functions/iswlower.texi: Update.
22412         * doc/posix-functions/iswprint.texi: Update.
22413         * doc/posix-functions/iswpunct.texi: Update.
22414         * doc/posix-functions/iswspace.texi: Update.
22415         * doc/posix-functions/iswupper.texi: Update.
22416         * doc/posix-functions/iswxdigit.texi: Update.
22417         * doc/posix-functions/towlower.texi: Update.
22418         * doc/posix-functions/towupper.texi: Update.
22419         * NEWS: Mention the change.
22420         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
22421         * modules/mbchar (Dependencies): Likewise.
22422         * modules/mbswidth (Dependencies): Likewise.
22423         * modules/quotearg (Dependencies): Likewise.
22424         * modules/regex (Dependencies): Likewise.
22425         * modules/wcscasecmp (Dependencies): Likewise.
22426         * modules/wcsncasecmp (Dependencies): Likewise.
22427         * modules/wcwidth (Dependencies): Likewise.
22428
22429 2011-02-06  Bruno Haible  <bruno@clisp.org>
22430
22431         New module 'wcswidth'.
22432         * modules/wcswidth: New file.
22433         * lib/wchar.in.h (wcswidth): New declaration.
22434         * lib/wcswidth.c: New file.
22435         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
22436         * m4/wcswidth.m4: New file.
22437         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
22438         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
22439         REPLACE_WCSWIDTH.
22440         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
22441         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
22442         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
22443         * doc/posix-functions/wcswidth.texi: Mention the new module.
22444
22445 2011-02-06  Bruno Haible  <bruno@clisp.org>
22446
22447         New module 'wcstok'.
22448         * modules/wcstok: New file.
22449         * lib/wchar.in.h (wcstok): New declaration.
22450         * lib/wcstok.c: New file.
22451         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
22452         * m4/wcstok.m4: New file.
22453         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
22454         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
22455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
22456         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
22457         * doc/posix-functions/wcstok.texi: Mention the new module.
22458
22459 2011-02-06  Bruno Haible  <bruno@clisp.org>
22460
22461         New module 'wcsstr'.
22462         * modules/wcsstr: New file.
22463         * lib/wchar.in.h (wcsstr): New declaration.
22464         * lib/wcsstr.c: New file.
22465         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
22466         * m4/wcsstr.m4: New file.
22467         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
22468         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
22469         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
22470         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
22471         * doc/posix-functions/wcsstr.texi: Mention the new module.
22472
22473 2011-02-06  Bruno Haible  <bruno@clisp.org>
22474
22475         New module 'wcspbrk'.
22476         * modules/wcspbrk: New file.
22477         * lib/wchar.in.h (wcspbrk): New declaration.
22478         * lib/wcspbrk.c: New file.
22479         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
22480         * m4/wcspbrk.m4: New file.
22481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
22482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
22483         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
22484         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
22485         * doc/posix-functions/wcspbrk.texi: Mention the new module.
22486
22487 2011-02-06  Bruno Haible  <bruno@clisp.org>
22488
22489         New module 'wcsspn'.
22490         * modules/wcsspn: New file.
22491         * lib/wchar.in.h (wcsspn): New declaration.
22492         * lib/wcsspn.c: New file.
22493         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
22494         * m4/wcsspn.m4: New file.
22495         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
22496         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
22497         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
22498         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
22499         * doc/posix-functions/wcsspn.texi: Mention the new module.
22500
22501 2011-02-06  Bruno Haible  <bruno@clisp.org>
22502
22503         New module 'wcscspn'.
22504         * modules/wcscspn: New file.
22505         * lib/wchar.in.h (wcscspn): New declaration.
22506         * lib/wcscspn.c: New file.
22507         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
22508         * m4/wcscspn.m4: New file.
22509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
22510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
22511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
22512         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
22513         * doc/posix-functions/wcscspn.texi: Mention the new module.
22514
22515 2011-02-06  Bruno Haible  <bruno@clisp.org>
22516
22517         New module 'wcsrchr'.
22518         * modules/wcsrchr: New file.
22519         * lib/wchar.in.h (wcsrchr): New declaration.
22520         * lib/wcsrchr.c: New file.
22521         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
22522         * m4/wcsrchr.m4: New file.
22523         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
22524         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
22525         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
22526         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
22527         * doc/posix-functions/wcsrchr.texi: Mention the new module.
22528
22529 2011-02-06  Bruno Haible  <bruno@clisp.org>
22530
22531         New module 'wcschr'.
22532         * modules/wcschr: New file.
22533         * lib/wchar.in.h (wcschr): New declaration.
22534         * lib/wcschr.c: New file.
22535         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
22536         * m4/wcschr.m4: New file.
22537         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
22538         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
22539         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
22540         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
22541         * doc/posix-functions/wcschr.texi: Mention the new module.
22542
22543 2011-02-06  Bruno Haible  <bruno@clisp.org>
22544
22545         New module 'wcsdup'.
22546         * modules/wcsdup: New file.
22547         * lib/wchar.in.h (wcsdup): New declaration.
22548         * lib/wcsdup.c: New file.
22549         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
22550         * m4/wcsdup.m4: New file.
22551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
22552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
22553         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
22554         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
22555         * doc/posix-functions/wcsdup.texi: Mention the new module.
22556
22557 2011-02-06  Bruno Haible  <bruno@clisp.org>
22558
22559         New module 'wcsxfrm'.
22560         * modules/wcsxfrm: New file.
22561         * lib/wchar.in.h (wcsxfrm): New declaration.
22562         * lib/wcsxfrm.c: New file.
22563         * lib/wcsxfrm-impl.h: New file.
22564         * m4/wcsxfrm.m4: New file.
22565         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
22566         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
22567         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
22568         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
22569         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
22570
22571 2011-02-06  Bruno Haible  <bruno@clisp.org>
22572
22573         New module 'wcscoll'.
22574         * modules/wcscoll: New file.
22575         * lib/wchar.in.h (wcscoll): New declaration.
22576         * lib/wcscoll.c: New file.
22577         * lib/wcscoll-impl.h: New file.
22578         * m4/wcscoll.m4: New file.
22579         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
22580         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
22581         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
22582         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
22583         * doc/posix-functions/wcscoll.texi: Mention the new module.
22584
22585 2011-02-06  Bruno Haible  <bruno@clisp.org>
22586
22587         New module 'wcsncasecmp'.
22588         * modules/wcsncasecmp: New file.
22589         * lib/wchar.in.h (wcsncasecmp): New declaration.
22590         * lib/wcsncasecmp.c: New file.
22591         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
22592         * m4/wcsncasecmp.m4: New file.
22593         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
22594         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
22595         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
22596         HAVE_WCSNCASECMP.
22597         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
22598         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
22599
22600 2011-02-06  Bruno Haible  <bruno@clisp.org>
22601
22602         New module 'wcscasecmp'.
22603         * modules/wcscasecmp: New file.
22604         * lib/wchar.in.h (wcscasecmp): New declaration.
22605         * lib/wcscasecmp.c: New file.
22606         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
22607         * m4/wcscasecmp.m4: New file.
22608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
22609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
22610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
22611         HAVE_WCSCASECMP.
22612         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
22613         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
22614
22615 2011-02-05  Bruno Haible  <bruno@clisp.org>
22616
22617         New module 'wcsncmp'.
22618         * modules/wcsncmp: New file.
22619         * lib/wchar.in.h (wcsncmp): New declaration.
22620         * lib/wcsncmp.c: New file.
22621         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
22622         * m4/wcsncmp.m4: New file.
22623         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
22624         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
22625         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
22626         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
22627         * doc/posix-functions/wcsncmp.texi: Mention the new module.
22628
22629 2011-02-05  Bruno Haible  <bruno@clisp.org>
22630
22631         New module 'wcscmp'.
22632         * modules/wcscmp: New file.
22633         * lib/wchar.in.h (wcscmp): New declaration.
22634         * lib/wcscmp.c: New file.
22635         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
22636         * m4/wcscmp.m4: New file.
22637         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
22638         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
22639         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
22640         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
22641         * doc/posix-functions/wcscmp.texi: Mention the new module.
22642
22643 2011-02-05  Bruno Haible  <bruno@clisp.org>
22644
22645         New module 'wcsncat'.
22646         * modules/wcsncat: New file.
22647         * lib/wchar.in.h (wcsncat): New declaration.
22648         * lib/wcsncat.c: New file.
22649         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
22650         * m4/wcsncat.m4: New file.
22651         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
22652         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
22653         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
22654         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
22655         * doc/posix-functions/wcsncat.texi: Mention the new module.
22656
22657 2011-02-05  Bruno Haible  <bruno@clisp.org>
22658
22659         New module 'wcscat'.
22660         * modules/wcscat: New file.
22661         * lib/wchar.in.h (wcscat): New declaration.
22662         * lib/wcscat.c: New file.
22663         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
22664         * m4/wcscat.m4: New file.
22665         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
22666         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
22667         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
22668         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
22669         * doc/posix-functions/wcscat.texi: Mention the new module.
22670
22671 2011-02-05  Bruno Haible  <bruno@clisp.org>
22672
22673         New module 'wcpncpy'.
22674         * modules/wcpncpy: New file.
22675         * lib/wchar.in.h (wcpncpy): New declaration.
22676         * lib/wcpncpy.c: New file.
22677         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
22678         * m4/wcpncpy.m4: New file.
22679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
22680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
22681         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
22682         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
22683         * doc/posix-functions/wcpncpy.texi: Mention the new module.
22684
22685 2011-02-05  Bruno Haible  <bruno@clisp.org>
22686
22687         New module 'wcsncpy'.
22688         * modules/wcsncpy: New file.
22689         * lib/wchar.in.h (wcsncpy): New declaration.
22690         * lib/wcsncpy.c: New file.
22691         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
22692         * m4/wcsncpy.m4: New file.
22693         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
22694         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
22695         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
22696         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
22697         * doc/posix-functions/wcsncpy.texi: Mention the new module.
22698
22699 2011-02-05  Bruno Haible  <bruno@clisp.org>
22700
22701         New module 'wcpcpy'.
22702         * modules/wcpcpy: New file.
22703         * lib/wchar.in.h (wcpcpy): New declaration.
22704         * lib/wcpcpy.c: New file.
22705         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
22706         * m4/wcpcpy.m4: New file.
22707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
22708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
22709         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
22710         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
22711         * doc/posix-functions/wcpcpy.texi: Mention the new module.
22712
22713 2011-02-05  Bruno Haible  <bruno@clisp.org>
22714
22715         New module 'wcscpy'.
22716         * modules/wcscpy: New file.
22717         * lib/wchar.in.h (wcscpy): New declaration.
22718         * lib/wcscpy.c: New file.
22719         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
22720         * m4/wcscpy.m4: New file.
22721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
22722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
22723         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
22724         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
22725         * doc/posix-functions/wcscpy.texi: Mention the new module.
22726
22727 2011-02-05  Bruno Haible  <bruno@clisp.org>
22728
22729         New module 'wcsnlen'.
22730         * modules/wcsnlen: New file.
22731         * lib/wchar.in.h (wcsnlen): New declaration.
22732         * lib/wcsnlen.c: New file.
22733         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
22734         * m4/wcsnlen.m4: New file.
22735         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
22736         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
22737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
22738         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
22739         * doc/posix-functions/wcsnlen.texi: Mention the new module.
22740
22741 2011-02-05  Bruno Haible  <bruno@clisp.org>
22742
22743         New module 'wcslen'.
22744         * modules/wcslen: New file.
22745         * lib/wchar.in.h (wcslen): New declaration.
22746         * lib/wcslen.c: New file.
22747         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
22748         * m4/wcslen.m4: New file.
22749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
22750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
22751         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
22752         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
22753         * doc/posix-functions/wcslen.texi: Mention the new module.
22754
22755 2011-02-05  Bruno Haible  <bruno@clisp.org>
22756
22757         New module 'wmemset'.
22758         * modules/wmemset: New file.
22759         * lib/wchar.in.h (wmemset): New declaration.
22760         * lib/wmemset.c: New file.
22761         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
22762         * m4/wmemset.m4: New file.
22763         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
22764         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
22765         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
22766         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
22767         * doc/posix-functions/wmemset.texi: Mention the new module.
22768
22769 2011-02-05  Bruno Haible  <bruno@clisp.org>
22770
22771         New module 'wmemmove'.
22772         * modules/wmemmove: New file.
22773         * lib/wchar.in.h (wmemmove): New declaration.
22774         * lib/wmemmove.c: New file.
22775         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
22776         * m4/wmemmove.m4: New file.
22777         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
22778         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
22779         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
22780         HAVE_WMEMMOVE.
22781         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
22782         * doc/posix-functions/wmemmove.texi: Mention the new module.
22783
22784 2011-02-05  Bruno Haible  <bruno@clisp.org>
22785
22786         New module 'wmemcpy'.
22787         * modules/wmemcpy: New file.
22788         * lib/wchar.in.h (wmemcpy): New declaration.
22789         * lib/wmemcpy.c: New file.
22790         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
22791         * m4/wmemcpy.m4: New file.
22792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
22793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
22794         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
22795         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
22796         * doc/posix-functions/wmemcpy.texi: Mention the new module.
22797
22798 2011-02-05  Bruno Haible  <bruno@clisp.org>
22799
22800         New module 'wmemcmp'.
22801         * modules/wmemcmp: New file.
22802         * lib/wchar.in.h (wmemcmp): New declaration.
22803         * lib/wmemcmp.c: New file.
22804         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
22805         * m4/wmemcmp.m4: New file.
22806         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
22807         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
22808         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
22809         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
22810         * doc/posix-functions/wmemcmp.texi: Mention the new module.
22811
22812 2011-02-07  Jim Meyering  <meyering@redhat.com>
22813
22814         di-set, ino-map: new modules, from coreutils
22815         * lib/di-set.c: New file.
22816         * lib/di-set.h: Likewise.
22817         * lib/ino-map.c: Likewise.
22818         * lib/ino-map.h: Likewise.
22819         * modules/di-set: Likewise.
22820         * modules/di-set-tests: Likewise.
22821         * modules/ino-map: Likewise.
22822         * modules/ino-map-tests: Likewise.
22823         * tests/test-di-set.c: Likewise.
22824         * tests/test-ino-map.c: Likewise.
22825
22826 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22827
22828         getloadavg: merge minor changes from Emacs
22829
22830         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
22831         (getloadavg): Use memset, not bzero.
22832
22833         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
22834         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
22835         clash (bug#86).
22836
22837 2010-11-14  Bruno Haible  <bruno@clisp.org>
22838
22839         Allow multiple gnulib generated replacements to coexist.
22840         * lib/getopt.in.h (struct option): Avoid identical redefinition.
22841         * lib/inttypes.in.h (imaxdiv_t): Likewise.
22842         * lib/langinfo.in.h (nl_item): Likewise.
22843         * lib/math.in.h (_NaN, NAN): Likewise.
22844         * lib/netdb.in.h (struct addrinfo): Likewise.
22845         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
22846         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
22847         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
22848         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
22849         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
22850         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
22851         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
22852         pthread_mutexattr_init, pthread_mutexattr_settype,
22853         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
22854         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
22855         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
22856         pthread_spin_trylock, pthread_spin_unlock): Likewise.
22857         * lib/sched.in.h (struct sched_param): Likewise.
22858         * lib/se-selinux.in.h (security_class_t, security_context_t,
22859         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
22860         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
22861         lsetfilecon, fsetfilecon, security_check_context,
22862         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
22863         Likewise.
22864         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
22865         Likewise.
22866         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
22867         _gl_function_taking_int_returning_void_t, union sigval,
22868         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
22869         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
22870         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22871         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
22872         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
22873         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
22874         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
22875         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
22876         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
22877         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
22878         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
22879         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
22880         socklen_t, rpl_fd_isset): Likewise.
22881         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
22882         * lib/sys_time.in.h (struct timeval): Likewise.
22883         * lib/sys_times.in.h (struct tms): Likewise.
22884         * lib/sys_utsname.in.h (struct utsname):
22885         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
22886         * lib/unistd.in.h (getpagesize): Likewise.
22887         * lib/wchar.in.h (mbstate_t): Likewise.
22888         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22889         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
22890         towlower, towupper): Likewise.
22891         Reported by Sam Steingold <sds@gnu.org>.
22892
22893 2011-02-05  Eric Blake  <eblake@redhat.com>
22894
22895         unsetenv: work around Haiku issues
22896         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
22897         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
22898
22899 2010-12-30  Bruce Korb  <bkorb@gnu.org>
22900
22901         libposix: avoid calling error() within libposix
22902         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
22903         is defined.
22904
22905 2011-02-05  Eric Blake  <eblake@redhat.com>
22906
22907         strerror_r-posix: port to cygwin
22908         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
22909         implementation.
22910         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
22911         * tests/test-strerror_r.c (main): Fix test.
22912         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
22913         issue.
22914
22915 2011-02-05  Bruno Haible  <bruno@clisp.org>
22916
22917         New module 'wmemchr'.
22918         * modules/wmemchr: New file.
22919         * lib/wchar.in.h (wmemchr): New declaration.
22920         * lib/wmemchr.c: New file.
22921         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
22922         * m4/wmemchr.m4: New file.
22923         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
22924         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
22925         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
22926         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
22927         * doc/posix-functions/wmemchr.texi: Mention the new module.
22928
22929 2011-02-04  Eric Blake  <eblake@redhat.com>
22930
22931         fdopendir: detect FreeBSD bug
22932         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
22933         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
22934
22935 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
22936
22937         stdbool: do not define HAVE_STDBOOL_H
22938         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
22939         AC_HEADER_STDBOOL.  All uses changed.  Do not define
22940         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
22941         imported from the latest Autoconf git.  It was motivated by Emacs,
22942         which uses gnulib but does not need HAVE_STDBOOL_H.
22943
22944 2011-02-04  Bruno Haible  <bruno@clisp.org>
22945
22946         wcsnrtombs: Prepare for new module wwcsnrtombs.
22947         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22948         * lib/wcsnrtombs.c: Include it.
22949         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22950
22951         wcsrtombs: Prepare for new module wwcsrtombs.
22952         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22953         * lib/wcsrtombs.c: Include it.
22954         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22955
22956         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22957         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22958         * lib/mbsnrtowcs.c: Include it.
22959         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22960
22961         mbsrtowcs: Prepare for new module mbsrtowwcs.
22962         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22963         * lib/mbsrtowcs.c: Include it.
22964         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22965
22966 2011-02-04  Bruno Haible  <bruno@clisp.org>
22967
22968         vasnprintf: Reduce use of malloc for small format strings.
22969         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22970         (arguments): Add room for the first 7 arguments.
22971         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22972         (char_directives, u8_directives, u16_directives, u32_directives): Add
22973         room for the first 7 directives.
22974         * lib/printf-parse.c: Include <string.h>.
22975         (PRINTF_PARSE): Change memory handling code so that it uses the first
22976         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22977         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22978         Reported by Pádraig Brady <P@draigbrady.com>.
22979
22980 2011-01-31  Eric Blake  <eblake@redhat.com>
22981
22982         dup2: work around Haiku bug
22983         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22984         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22985         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22986         * tests/test-dup2.c (main): Enhance test.
22987
22988 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22989
22990         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22991         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22992         declared by eglibc 2.11.2.
22993         * lib/stdio.in.h: Likewise.
22994
22995 2011-01-31  Eric Blake  <eblake@redhat.com>
22996
22997         ignore-value: add missing test dependency
22998         * tests/test-ignore-value.c: Revert previous change; stdio.h
22999         provides off_t.
23000         * modules/ignore-value-tests (Depends-on): Add missing dependency.
23001
23002 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
23003
23004         mktime: clarify long_int width checking
23005         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
23006         the top level, to make it clearer that the assumption about
23007         long_int width is being checked.  See
23008         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
23009
23010 2011-01-30  Simon Josefsson  <simon@josefsson.org>
23011
23012         ignore-value: Fix self-test.
23013         * tests/test-ignore-value.c: Include sys/types.h for off_t.
23014
23015 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
23016
23017         TYPE_MAXIMUM: avoid theoretically undefined behavior
23018         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
23019         negative number, which the C Standard says has undefined behavior.
23020         In practice this is not a problem, but might as well do it by the book.
23021         Reported by Rich Felker and Eric Blake; see
23022         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
23023         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
23024         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23025         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23026         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
23027         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23028         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
23029
23030         mktime: #undef mktime before #defining it
23031         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
23032
23033         mktime: systematically normalize tm_isdst comparisons
23034         * lib/mktime.c (isdst_differ): New function.
23035         (__mktime_internal): Use it systematically for all isdst comparisons.
23036         This completes the fix for libc BZ #6723, and removes the need for
23037         normalizing tm_isdst.  See
23038         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
23039         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
23040
23041         mktime: fix some integer overflow issues and sidestep the rest
23042
23043         This was prompted by a bug report by Benjamin Lindner for MinGW
23044         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
23045         His bug is due to signed integer overflow (0 - INT_MIN), and I
23046         I scanned through mktime.c looking for other integer overflow
23047         problems, fixing all the bugs I found.
23048
23049         Although the C Standard says the resulting code is still not safe
23050         in the presence of integer overflow, in practice it should be good
23051         enough for all real-world two's-complement implementations, except
23052         for debugging environments that deliberately trap on integer
23053         overflow (e.g., gcc -ftrapv).
23054
23055         * lib/mktime.c (WRAPV): New macro.
23056         (SHR): Also check that long_int and time_t shift right in the
23057         usual way, before using the fast-but-unportable method.
23058         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
23059         used.  The code already assumed two's complement, so there's
23060         no need to test for alternatives.  All uses removed.
23061         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
23062         the C standard.  Problem reported by Rich Felker in
23063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
23064         (twos_complement_arithmetic): Also check long_int and time_t.
23065         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
23066         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
23067         (__mktime_internal): Avoid integer overflow with unary subtraction
23068         in two instances where -1 - X is an adequate replacement for -X,
23069         since the calculations are approximate.
23070
23071 2011-01-29  Eric Blake  <eblake@redhat.com>
23072
23073         mktime: avoid infinite loop
23074         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
23075         type; behavior is still undefined but portable to all known targets.
23076         Reported by Rich Felker.
23077
23078 2011-01-29  Simon Josefsson  <simon@josefsson.org>
23079
23080         rename, unlink, same-inode: Relicense.
23081         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
23082         * modules/unlink (License): Likewise.
23083         * modules/same-inode (License): Likewise.
23084
23085 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23086
23087         mktime: avoid problems on NetBSD 5 / i386
23088         * lib/mktime.c (long_int): New type.  This works around a problem
23089         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
23090         but time_t is 64 bits, and where I expect the existing code is
23091         wrong in some cases.
23092         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
23093         (ydhms_diff): Bring back the compile-time check for wide-enough
23094         year and yday.
23095
23096         mktime: fix misspelling in comment
23097         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
23098         This merges all recent glibc changes of importance.
23099
23100 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23101
23102         move-if-change: cope with concurrent mv of identical file.
23103         * build-aux/move-if-change (CMPPROG): Accept environment
23104         variable as an override for `cmp'.
23105         (usage): Document CMPPROG.
23106         Adjust comparison to drop stdout.  Cope with failure of mv if
23107         the target file exists and is identical to the source, for
23108         parallel builds.
23109         Report from H.J. Lu against binutils in PR binutils/12283.
23110
23111 2011-01-28  Bruce Korb  <bkorb@gnu.org>
23112
23113         * users.txt: Mention sharutils.
23114
23115 2011-01-28  Simon Josefsson  <simon@josefsson.org>
23116
23117         * users.txt: Mention OATH Toolkit.
23118
23119 2011-01-27  Bruno Haible  <bruno@clisp.org>
23120
23121         Prepare for supporting FreeBSD 10.
23122         * build-aux/config.libpath: Remove handling of freebsd1*.
23123
23124 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
23125
23126         Prepare for supporting FreeBSD 10.
23127         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
23128         match FreeBSD 10.0.
23129
23130 2011-01-27  Bruno Haible  <bruno@clisp.org>
23131
23132         vma-iter, get-rusage-as: Add OpenBSD support.
23133         * modules/vma-iter (configure.ac): Test for mquery.
23134         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
23135         * lib/vma-iter.c: Include <sys/mman.h>.
23136         (vma_iterate): Add an implementation based on mquery().
23137         * lib/resource-ext.h (get_rusage_as): Update comments.
23138         * lib/get-rusage-as.c: Likewise.
23139         * lib/get-rusage-data.c: Likewise.
23140
23141 2011-01-26  Karl Berry  <karl@gnu.org>
23142
23143         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
23144         variables to make it easier to override the makeinfo program used.
23145
23146 2011-01-26  Eric Blake  <eblake@redhat.com>
23147
23148         fcntl: work around Haiku F_DUPFD bugs
23149         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
23150         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
23151         cloexec bit on duplication.
23152         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
23153
23154 2011-01-26  Bruno Haible  <bruno@clisp.org>
23155
23156         Enable memory leak tests on AIX.
23157         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
23158         * tests/test-fprintf-posix3.c (main): Likewise.
23159
23160 2011-01-26  Bruno Haible  <bruno@clisp.org>
23161
23162         Tests for module 'get-rusage-data'.
23163         * modules/get-rusage-data-tests: New file.
23164         * tests/test-get-rusage-data.c: New file.
23165
23166         New module 'get-rusage-data'.
23167         * lib/resource-ext.h (get_rusage_data): New declaration.
23168         * lib/get-rusage-data.c: New file.
23169         * modules/get-rusage-data: New file.
23170
23171 2011-01-25  Bruno Haible  <bruno@clisp.org>
23172
23173         get-rusage-as: Allow for easier testing.
23174         * lib/resource-ext.h (get_rusage_as): Add comment.
23175         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
23176         (main): New function for interactive testing.
23177
23178 2011-01-25  Bruno Haible  <bruno@clisp.org>
23179
23180         vma-iter: Treat Haiku like BeOS.
23181         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
23182         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
23183
23184 2011-01-25  Eric Blake  <eblake@redhat.com>
23185
23186         c-stack: fix regression on cygwin when libsigsegv is present
23187         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
23188
23189 2011-01-24  Bruno Haible  <bruno@clisp.org>
23190
23191         vma-iter: Avoid empty intervals.
23192         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
23193         on an empty interval.
23194
23195 2011-01-24  Jim Meyering  <meyering@redhat.com>
23196
23197         u64: remove unnecessary #include
23198         * lib/u64.h: Don't include <stddef.h>.  It was not used.
23199
23200 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23201
23202         Allow the user to avoid the HAVE_RAW_DECL_* macros.
23203         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
23204
23205 2011-01-23  Bruno Haible  <bruno@clisp.org>
23206
23207         New module 'vma-iter'.
23208         * lib/vma-iter.h: New file.
23209         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
23210         * modules/vma-iter: New file.
23211         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
23212         for get_rusage_as_via_iterator.
23213         (vma_iterate_callback): New function.
23214         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
23215         * modules/get-rusage-as (Depends-on): Add vma-iter.
23216
23217 2011-01-23  Bruno Haible  <bruno@clisp.org>
23218
23219         uninorm: Tweak includes.
23220         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
23221         Reported by Jim Meyering.
23222
23223 2011-01-23  Bruno Haible  <bruno@clisp.org>
23224
23225         get-rusage-as: Improve on NetBSD.
23226         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
23227         /proc, like on FreeBSD.
23228
23229 2011-01-23  Jim Meyering  <meyering@redhat.com>
23230
23231         xreadlink.h: remove unnecessary #include
23232         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
23233
23234         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
23235         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
23236
23237 2011-01-23  Bruno Haible  <bruno@clisp.org>
23238
23239         get-rusage-as: Fix bug.
23240         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
23241         original limit when aborting the first loop.
23242
23243 2011-01-23  Bruno Haible  <bruno@clisp.org>
23244
23245         wctype: Ensure valid C syntax.
23246         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
23247         unconditionally, instead of gl_NEXT_HEADERS conditionally.
23248
23249 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
23250
23251         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
23252         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
23253         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
23254         as they are needed only for configure's test case.
23255         This removes two unnecessary symbols from config.h.
23256
23257         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
23258         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
23259         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
23260         AC_CHECK_HEADERS_ONCE on a header that we also invoke
23261         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
23262         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
23263         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
23264         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
23265         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23266         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23267         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
23268         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23269         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23270         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23271         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
23272         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23273         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
23274         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23275
23276 2011-01-21  Eric Blake  <eblake@redhat.com>
23277
23278         maintainer-makefile: work with older git for submodule check
23279         * top/maint.mk (public-submodule-commit): Rewrite to avoid
23280         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
23281         Reported by Matthias Bolte.
23282
23283         bootstrap: minor portability fixes
23284         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
23285         (usage): Omit leading capital and trailing . on help phrases, per
23286         GNU Coding Standards.
23287         (check_versions, top level): Prefix messages with script name.
23288
23289 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
23290
23291         bootstrap: support --no-git option
23292         * build-aux/bootstrap: Add --no-git option, to be used when
23293         --gnulib-srcdir points to the exact desired checkout.
23294
23295 2011-01-21  Eric Blake  <eblake@redhat.com>
23296
23297         strerror_r-posix: work with glibc 2.13
23298         * lib/strerror_r.c (strerror_r): Fix return type.
23299
23300 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23301             Bruno Haible  <bruno@clisp.org>
23302
23303         uN_strstr: New unit tests.
23304         * modules/unistr/u8-strstr-tests: New file.
23305         * modules/unistr/u16-strstr-tests: New file.
23306         * modules/unistr/u32-strstr-tests: New file.
23307         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
23308         * tests/unistr/test-u8-strstr.c: New file.
23309         * tests/unistr/test-u16-strstr.c: New file.
23310         * tests/unistr/test-u32-strstr.c: New file.
23311
23312 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23313             Bruno Haible  <bruno@clisp.org>
23314
23315         Make uN_strstr functions O(n) worst-case.
23316         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
23317         16-bit and 32-bit unit cases, use the unibyte algorithm from
23318         lib/mbsstr.c.
23319         * lib/unistr/u8-strstr.c: Include <string.h>.
23320         (UNIT_IS_UINT8_T): New macro.
23321         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
23322         (U_STRLEN, U_STRNLEN): New macros.
23323         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
23324         (U_STRLEN, U_STRNLEN): New macros.
23325         * modules/unistr/u8-strstr (Depends-on): Add strstr.
23326         (configure.ac): Update required libunistring version.
23327         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
23328         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
23329         malloca.
23330         (configure.ac): Update required libunistring version.
23331         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
23332         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
23333         malloca.
23334         (configure.ac): Update required libunistring version.
23335
23336 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23337             Bruno Haible  <bruno@clisp.org>
23338
23339         Prepare for faster uN_strstr functions.
23340         * lib/str-kmp.h: Support definable UNITs.
23341         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
23342         needle_len argument.
23343         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
23344         * lib/mbscasestr.c (mbscasestr): Likewise.
23345
23346 2011-01-21  Pádraig Brady <P@draigBrady.com>
23347
23348         malloca-tests: make faster by unsetting MALLOC_PERTURB_
23349         * tests/test-malloca.c (main): Unset the environment variable
23350         to greatly speed up the test.
23351         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
23352         * modules/malloca-tests: Depend on unsetenv.
23353
23354 2011-01-21  Pádraig Brady <P@draigBrady.com>
23355
23356         ignore-value: remove stdint dependency
23357         * lib/ignore-value.h: Remove <stdint.h>
23358         * modules/ignore-value: Remove stdint dependency.
23359
23360 2011-01-21  Jim Meyering  <meyering@redhat.com>
23361
23362         maint.mk: adjust variable name to be consistent with other gl_ vars
23363         * top/maint.mk (gl_public_submodule_commit): Rename the variable
23364         to be lower case.
23365
23366 2011-01-20  Jim Meyering  <meyering@redhat.com>
23367
23368         maint.mk: make "check" depend on public-submodule-commit by default
23369         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
23370
23371 2011-01-20  Bruno Haible  <bruno@clisp.org>
23372
23373         mbfile, mbiter: Complete change from 2008-12-21.
23374         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
23375         * m4/mbiter.m4 (gl_MBITER): Likewise.
23376
23377 2011-01-20  Jim Meyering  <meyering@redhat.com>
23378
23379         init.sh: insert space between each function name and "()"
23380         * tests/init.sh: Make it a little easier to see that a function's
23381         name is "warn_", and not "warn" when looking at the first part of
23382         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
23383
23384 2011-01-20  Jim Meyering  <meyering@redhat.com>
23385
23386         mountlist: clean up code formatting
23387         * lib/mountlist.c (read_file_system_list): Split a long line,
23388         correct bracing style, use NULL in place of "(struct statfs *)0",
23389         don't parenthesize return value, add spaces around "=" and after
23390         ";-in-for-stmt".
23391
23392 2011-01-14  Markus Duft <mduft@gentoo.org>
23393
23394         mountlist: add support for Interix
23395         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
23396         Apply statvfs to all entries of /dev/fs.
23397         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
23398         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
23399
23400 2011-01-20  Jim Meyering  <meyering@redhat.com>
23401
23402         maint.mk: improve the public-submodule-commit rule
23403         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
23404         to suppress printing of its commands... unless V=1.
23405         Add git submodule's --quiet option to suppress printing of e.g.,
23406         "Entering gnulib" output.
23407         "cd" into $(srcdir) before running git submodule.
23408
23409 2011-01-20  Bruno Haible  <bruno@clisp.org>
23410
23411         include_next: Fix bug introduced on 2011-01-18.
23412         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
23413         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
23414         ac_cv_header_... variable if the second argument is not 'check'.
23415         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
23416         gl_NEXT_HEADERS_INTERNAL.
23417
23418 2011-01-20  Bruno Haible  <bruno@clisp.org>
23419
23420         Allow the user to avoid the GNULIB_TEST_* macros.
23421         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
23422         Suggested by Paul Eggert.
23423
23424 2011-01-14  Jim Meyering  <meyering@redhat.com>
23425
23426         bootstrap: avoid failure when there is no .gitmodules file
23427         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
23428         has been assigned to, even when its value is the empty string.
23429         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
23430         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
23431         Reported by John W. Eaton <jwe@gnu.org>.
23432
23433 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
23434
23435         assume <ctype.h>, ..., <time.h> exist
23436         For years gnulib has been assuming the existence of the headers
23437         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
23438         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
23439         them, since they don't appear to be needed.
23440         * README (Portability guidelines): Document this.
23441         * lib/flock.c: Assume <fcntl.h> exists.
23442         * lib/regex_internal.h: Assume <locale.h> exists.
23443         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
23444         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
23445         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
23446         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
23447         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
23448         * m4/regex.m4 (gl_REGEX): Likewise.
23449         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
23450         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
23451         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
23452         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
23453         * tests/test-argp.c: Likewise.
23454         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
23455
23456         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
23457         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
23458         AA_APPLE_UNIVERSAL_BUILD.  See
23459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
23460         * NEWS: Document this.
23461
23462 2011-01-19  Eric Blake  <eblake@redhat.com>
23463
23464         c-stack: assume stack overflow if SA_SIGINFO unsupported
23465         * lib/c-stack.c (SIGACTION_WORKS): Rename...
23466         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
23467         sigaction will work.
23468         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
23469         behavior match Linux.
23470         * tests/test-c-stack.c (main): Prefer NULL for pointers.
23471
23472         stdbool-tests: accommodate Haiku
23473         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
23474
23475         binary-io: fix O_TEXT on Haiku
23476         * modules/binary-io (Depends-on): Add fcntl-h.
23477         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
23478         than blindly undefining O_TEXT.
23479         Reported by Scott McCreary.
23480
23481 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23482
23483         include_next: do not check for standard headers like stddef.h
23484
23485         I found this problem when modifying Emacs to use gnulib.
23486         I noticed that it added HAVE_STDDEF_H to config.h, even though
23487         gnulib always assumes <stddef.h> exists as per README and this
23488         symbol is unnecessary.
23489         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
23490         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
23491         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
23492         faster for headers like stddef.h that are known to exist.
23493         (gl_CHECK_NEXT_HEADERS): Use it.
23494         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
23495         rather than gl_CHECK_NEXT_HEADERS.
23496         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
23497         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
23498
23499 2011-01-18  Eric Blake  <eblake@redhat.com>
23500
23501         ansi-c++-opt: skip C++ dependency style if C++ is unused
23502         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
23503         tests when we know C++ compilation is not desired.
23504         Reported by Scott McCreary.
23505
23506 2011-01-18  Bruno Haible  <bruno@clisp.org>
23507
23508         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
23509         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
23510         (main): Perform test also when getrlimit and setrlimit don't exist or
23511         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
23512         limiting the address space size using setrlimit, compare the address
23513         space size before and after the the test.
23514         * tests/test-dprintf-posix2.c: Likewise.
23515         * tests/test-fprintf-posix3.sh: Update skip messages.
23516         * tests/test-dprintf-posix2.sh: Likewise.
23517         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
23518         * modules/dprintf-posix-tests (Depends-on): Likewise.
23519         Reported by Bruce Korb <bkorb@gnu.org> and
23520         Gary V. Vaughan <gary@gnu.org>.
23521
23522 2011-01-18  Bruno Haible  <bruno@clisp.org>
23523
23524         get-rusage-as: Improvement for Cygwin.
23525         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
23526         areas that are merely reserved.
23527
23528 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23529
23530         strftime: remove dependencies on multibyte modules
23531
23532         strftime depended on mbrlen, mbsinit, and wchar, but these modules
23533         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
23534         only if __osf__ is defined, and I suspect OSF doesn't need these
23535         other modules.  If my guess is wrong, we'll need to come up with a
23536         variant of strftime that doesn't need the multibyte modules.
23537
23538         I discovered this problem when attempting modify Emacs to use the
23539         strftime module.  With the previous gnulib, this caused Emacs to
23540         need 31 new files, ranging from lib/config.charset to
23541         m4/wint_t.m4.  This was overkill and I expect would be offputting
23542         to the Emacs maintainers.  After this change, only 6 new files are
23543         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
23544         stdbool.m4, and tm_gmtoff.m4.
23545
23546         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
23547         Suggested by Bruno Haible in
23548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
23549         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
23550         and do not check for wchar.h.
23551         * modules/strftime (Files): Remove m4/mbstate_t.m4.
23552         (Depends-on): Remove mbrlen, mbsinit, wchar.
23553
23554 2011-01-18  Bruno Haible  <bruno@clisp.org>
23555
23556         Tests for module 'get-rusage-as'.
23557         * modules/get-rusage-as-tests: New file.
23558         * tests/test-get-rusage-as.c: New file.
23559
23560         New module 'get-rusage-as'.
23561         * modules/get-rusage-as: New file.
23562         * lib/resource-ext.h: New file.
23563         * lib/get-rusage-as.c: New file.
23564
23565 2011-01-17  Eric Blake  <eblake@redhat.com>
23566
23567         sigaction: relax license from LGPLv3+ to LGPLv2+
23568         * modules/sigaction (License): Relax to LGPLv2+.
23569
23570 2011-01-14  Bruno Haible  <bruno@clisp.org>
23571
23572         filemode: Make function declarations usable in C++ mode.
23573         * lib/filemode.h: Enclose function declarations in extern "C" block.
23574         Reported by John W. Eaton <jwe@gnu.org>.
23575
23576 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
23577
23578         save-cwd: no longer include "xgetcwd.h"
23579         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
23580         This avoids a compilation failure in projects that use save-cwd
23581         without also using the xgetcwd module.
23582
23583 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23584
23585         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
23586         This is so that a program like Emacs, which needs only dtoastr,
23587         does not have to bother with distributing and compiling ftoastr
23588         and ldtoastr.
23589         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
23590         * modules/dtoastr, modules/ldtoastr: New files.
23591         * modules/ftoastr: Now works just for 'float'.
23592         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
23593         (Makefile.am): Remove ftoastr.h (not needed and no effect),
23594         dtoastr.c, ldtoastr.c.
23595
23596 2011-01-11  Jim Meyering  <meyering@redhat.com>
23597
23598         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
23599         There is no need to work around the lack of the fchdir function,
23600         since gnulib can now provide a replacement when required.
23601         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
23602         * modules/save-cwd (Depends-on): Add fchdir.
23603
23604 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23605
23606         openat, save-cwd: avoid xmalloc
23607
23608         This removes a direct (but undocumented) dependency of openat on
23609         xalloc, along with an indirect dependency via save-cwd.  It also
23610         removes a dependency of save-cwd on xgetcwd, and thereby
23611         indirectly on xalloc.  This change causes the openat substitute
23612         to fall back on save_cwd when memory is tight, and for save_cwd to
23613         fail instead of dying when memory is tight, but that's good enough.
23614         Problem and initial idea for fix reported by Bastien Roucaries in
23615         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
23616
23617         * lib/openat-proc.c: Include stdlib.h (for malloc), not
23618         xalloc.h (for xmalloc).
23619         (openat_proc_name): Use malloc, not xmalloc.
23620         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
23621         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
23622
23623         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
23624         This avoids heap allocation for file names whose lengths are in
23625         the range 512..1023, with the upper bound increasing to at most
23626         4031 depending on the platform's PATH_MAX.  (We do not want
23627         pathmax.h here as it might supply a non-constant PATH_MAX.)
23628         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
23629         Perhaps they should be moved to malloca.h?
23630         (OPENAT_BUFFER_SIZE): Use them.
23631
23632 2011-01-10  Bruno Haible  <bruno@clisp.org>
23633
23634         doc: Update users.txt.
23635         * users.txt: Add recutils.
23636
23637 2011-01-09  Karl Berry  <karl@gnu.org>
23638
23639         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
23640
23641         * doc/configmake.texi: New file.
23642         * doc/gnulib.texi: Include it.
23643         * modules/configmake: Move documentation from here.
23644
23645 2011-01-09  Bruno Haible  <bruno@clisp.org>
23646
23647         Update to Unicode 6.0.0.
23648         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
23649         (get_lbp): Update for Unicode 6.0.0.
23650         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
23651         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
23652         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
23653         U+11001, U+11038..U+11046. Remove U+06DE.
23654         (uc_width): Fix bounds of planes.
23655         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23656         lib/uniwidth/width.c.
23657         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
23658         trailing whitespace removed.
23659         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
23660         without comments, but with the original copyright notice.
23661         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
23662         * lib/unicase/ignorable.h: Likewise.
23663         * lib/unicase/tocasefold.h: Likewise.
23664         * lib/unicase/tolower.h: Likewise.
23665         * lib/unicase/totitle.h: Likewise.
23666         * lib/unicase/toupper.h: Likewise.
23667         * lib/unictype/bidi_of.h: Likewise.
23668         * lib/unictype/blocks.h: Likewise.
23669         * lib/unictype/categ_C.h: Likewise.
23670         * lib/unictype/categ_Cn.h: Likewise.
23671         * lib/unictype/categ_L.h: Likewise.
23672         * lib/unictype/categ_Ll.h: Likewise.
23673         * lib/unictype/categ_Lm.h: Likewise.
23674         * lib/unictype/categ_Lo.h: Likewise.
23675         * lib/unictype/categ_Lu.h: Likewise.
23676         * lib/unictype/categ_M.h: Likewise.
23677         * lib/unictype/categ_Mc.h: Likewise.
23678         * lib/unictype/categ_Me.h: Likewise.
23679         * lib/unictype/categ_Mn.h: Likewise.
23680         * lib/unictype/categ_N.h: Likewise.
23681         * lib/unictype/categ_Nd.h: Likewise.
23682         * lib/unictype/categ_No.h: Likewise.
23683         * lib/unictype/categ_P.h: Likewise.
23684         * lib/unictype/categ_Po.h: Likewise.
23685         * lib/unictype/categ_S.h: Likewise.
23686         * lib/unictype/categ_Sc.h: Likewise.
23687         * lib/unictype/categ_Sk.h: Likewise.
23688         * lib/unictype/categ_Sm.h: Likewise.
23689         * lib/unictype/categ_So.h: Likewise.
23690         * lib/unictype/categ_of.h: Likewise.
23691         * lib/unictype/combining.h: Likewise.
23692         * lib/unictype/ctype_alnum.h: Likewise.
23693         * lib/unictype/ctype_alpha.h: Likewise.
23694         * lib/unictype/ctype_graph.h: Likewise.
23695         * lib/unictype/ctype_lower.h: Likewise.
23696         * lib/unictype/ctype_print.h: Likewise.
23697         * lib/unictype/ctype_punct.h: Likewise.
23698         * lib/unictype/ctype_upper.h: Likewise.
23699         * lib/unictype/decdigit.h: Likewise.
23700         * lib/unictype/digit.h: Likewise.
23701         * lib/unictype/numeric.h: Likewise.
23702         * lib/unictype/pr_alphabetic.h: Likewise.
23703         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23704         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23705         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23706         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23707         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23708         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23709         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23710         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23711         * lib/unictype/pr_case_ignorable.h: Likewise.
23712         * lib/unictype/pr_cased.h: Likewise.
23713         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
23714         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
23715         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
23716         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
23717         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
23718         * lib/unictype/pr_combining.h: Likewise.
23719         * lib/unictype/pr_composite.h: Likewise.
23720         * lib/unictype/pr_currency_symbol.h: Likewise.
23721         * lib/unictype/pr_decimal_digit.h: Likewise.
23722         * lib/unictype/pr_deprecated.h: Likewise.
23723         * lib/unictype/pr_format_control.h: Likewise.
23724         * lib/unictype/pr_grapheme_base.h: Likewise.
23725         * lib/unictype/pr_grapheme_extend.h: Likewise.
23726         * lib/unictype/pr_grapheme_link.h: Likewise.
23727         * lib/unictype/pr_id_continue.h: Likewise.
23728         * lib/unictype/pr_id_start.h: Likewise.
23729         * lib/unictype/pr_ideographic.h: Likewise.
23730         * lib/unictype/pr_lowercase.h: Likewise.
23731         * lib/unictype/pr_math.h: Likewise.
23732         * lib/unictype/pr_numeric.h: Likewise.
23733         * lib/unictype/pr_other_alphabetic.h: Likewise.
23734         * lib/unictype/pr_other_id_continue.h: Likewise.
23735         * lib/unictype/pr_other_math.h: Likewise.
23736         * lib/unictype/pr_punctuation.h: Likewise.
23737         * lib/unictype/pr_sentence_terminal.h: Likewise.
23738         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23739         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23740         * lib/unictype/pr_unified_ideograph.h: Likewise.
23741         * lib/unictype/pr_uppercase.h: Likewise.
23742         * lib/unictype/pr_xid_continue.h: Likewise.
23743         * lib/unictype/pr_xid_start.h: Likewise.
23744         * lib/unictype/scripts.h: Likewise.
23745         * lib/unictype/scripts_byname.gperf: Likewise.
23746         * lib/unictype/sy_java_ident.h: Likewise.
23747         * lib/unigbrk/gbrkprop.h: Likewise.
23748         * lib/unilbrk/lbrkprop1.h: Likewise.
23749         * lib/unilbrk/lbrkprop2.h: Likewise.
23750         * lib/uninorm/decomposition-table2.h: Likewise.
23751         * lib/uniwbrk/wbrkprop.h: Likewise.
23752         * tests/unicase/test-cased.c: Likewise.
23753         * tests/unicase/test-ignorable.c: Likewise.
23754         * tests/unicase/test-uc_tolower.c: Likewise.
23755         * tests/unicase/test-uc_totitle.c: Likewise.
23756         * tests/unicase/test-uc_toupper.c: Likewise.
23757         * tests/unictype/test-categ_C.c: Likewise.
23758         * tests/unictype/test-categ_Cn.c: Likewise.
23759         * tests/unictype/test-categ_L.c: Likewise.
23760         * tests/unictype/test-categ_Ll.c: Likewise.
23761         * tests/unictype/test-categ_Lm.c: Likewise.
23762         * tests/unictype/test-categ_Lo.c: Likewise.
23763         * tests/unictype/test-categ_Lu.c: Likewise.
23764         * tests/unictype/test-categ_M.c: Likewise.
23765         * tests/unictype/test-categ_Mc.c: Likewise.
23766         * tests/unictype/test-categ_Me.c: Likewise.
23767         * tests/unictype/test-categ_Mn.c: Likewise.
23768         * tests/unictype/test-categ_N.c: Likewise.
23769         * tests/unictype/test-categ_Nd.c: Likewise.
23770         * tests/unictype/test-categ_No.c: Likewise.
23771         * tests/unictype/test-categ_P.c: Likewise.
23772         * tests/unictype/test-categ_Po.c: Likewise.
23773         * tests/unictype/test-categ_S.c: Likewise.
23774         * tests/unictype/test-categ_Sc.c: Likewise.
23775         * tests/unictype/test-categ_Sk.c: Likewise.
23776         * tests/unictype/test-categ_Sm.c: Likewise.
23777         * tests/unictype/test-categ_So.c: Likewise.
23778         * tests/unictype/test-ctype_alnum.c: Likewise.
23779         * tests/unictype/test-ctype_alpha.c: Likewise.
23780         * tests/unictype/test-ctype_graph.c: Likewise.
23781         * tests/unictype/test-ctype_lower.c: Likewise.
23782         * tests/unictype/test-ctype_print.c: Likewise.
23783         * tests/unictype/test-ctype_punct.c: Likewise.
23784         * tests/unictype/test-ctype_upper.c: Likewise.
23785         * tests/unictype/test-decdigit.h: Likewise.
23786         * tests/unictype/test-digit.h: Likewise.
23787         * tests/unictype/test-numeric.h: Likewise.
23788         * tests/unictype/test-pr_alphabetic.c: Likewise.
23789         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23790         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23791         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23792         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23793         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23794         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23795         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23796         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23797         * tests/unictype/test-pr_case_ignorable.c: Likewise.
23798         * tests/unictype/test-pr_cased.c: Likewise.
23799         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
23800         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
23801         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
23802         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
23803         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
23804         * tests/unictype/test-pr_combining.c: Likewise.
23805         * tests/unictype/test-pr_composite.c: Likewise.
23806         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23807         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23808         * tests/unictype/test-pr_deprecated.c: Likewise.
23809         * tests/unictype/test-pr_format_control.c: Likewise.
23810         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23811         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23812         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23813         * tests/unictype/test-pr_id_continue.c: Likewise.
23814         * tests/unictype/test-pr_id_start.c: Likewise.
23815         * tests/unictype/test-pr_ideographic.c: Likewise.
23816         * tests/unictype/test-pr_lowercase.c: Likewise.
23817         * tests/unictype/test-pr_math.c: Likewise.
23818         * tests/unictype/test-pr_numeric.c: Likewise.
23819         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23820         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23821         * tests/unictype/test-pr_other_math.c: Likewise.
23822         * tests/unictype/test-pr_punctuation.c: Likewise.
23823         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23824         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23825         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23826         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23827         * tests/unictype/test-pr_uppercase.c: Likewise.
23828         * tests/unictype/test-pr_xid_continue.c: Likewise.
23829         * tests/unictype/test-pr_xid_start.c: Likewise.
23830         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23831         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23832         changes.
23833         * lib/unictype/categ_Cc.h: Likewise.
23834         * lib/unictype/categ_Cf.h: Likewise.
23835         * lib/unictype/categ_Co.h: Likewise.
23836         * lib/unictype/categ_Cs.h: Likewise.
23837         * lib/unictype/categ_Lt.h: Likewise.
23838         * lib/unictype/categ_Nl.h: Likewise.
23839         * lib/unictype/categ_Pc.h: Likewise.
23840         * lib/unictype/categ_Pd.h: Likewise.
23841         * lib/unictype/categ_Pe.h: Likewise.
23842         * lib/unictype/categ_Pf.h: Likewise.
23843         * lib/unictype/categ_Pi.h: Likewise.
23844         * lib/unictype/categ_Ps.h: Likewise.
23845         * lib/unictype/categ_Z.h: Likewise.
23846         * lib/unictype/categ_Zl.h: Likewise.
23847         * lib/unictype/categ_Zp.h: Likewise.
23848         * lib/unictype/categ_Zs.h: Likewise.
23849         * lib/unictype/ctype_blank.h: Likewise.
23850         * lib/unictype/ctype_cntrl.h: Likewise.
23851         * lib/unictype/ctype_digit.h: Likewise.
23852         * lib/unictype/ctype_space.h: Likewise.
23853         * lib/unictype/ctype_xdigit.h: Likewise.
23854         * lib/unictype/mirror.h: Likewise.
23855         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23856         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23857         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23858         * lib/unictype/pr_bidi_control.h: Likewise.
23859         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23860         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23861         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23862         * lib/unictype/pr_bidi_pdf.h: Likewise.
23863         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23864         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23865         * lib/unictype/pr_dash.h: Likewise.
23866         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23867         * lib/unictype/pr_diacritic.h: Likewise.
23868         * lib/unictype/pr_extender.h: Likewise.
23869         * lib/unictype/pr_hex_digit.h: Likewise.
23870         * lib/unictype/pr_hyphen.h: Likewise.
23871         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23872         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23873         * lib/unictype/pr_ignorable_control.h: Likewise.
23874         * lib/unictype/pr_iso_control.h: Likewise.
23875         * lib/unictype/pr_join_control.h: Likewise.
23876         * lib/unictype/pr_left_of_pair.h: Likewise.
23877         * lib/unictype/pr_line_separator.h: Likewise.
23878         * lib/unictype/pr_logical_order_exception.h: Likewise.
23879         * lib/unictype/pr_non_break.h: Likewise.
23880         * lib/unictype/pr_not_a_character.h: Likewise.
23881         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23882         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23883         * lib/unictype/pr_other_id_start.h: Likewise.
23884         * lib/unictype/pr_other_lowercase.h: Likewise.
23885         * lib/unictype/pr_other_uppercase.h: Likewise.
23886         * lib/unictype/pr_paired_punctuation.h: Likewise.
23887         * lib/unictype/pr_paragraph_separator.h: Likewise.
23888         * lib/unictype/pr_pattern_syntax.h: Likewise.
23889         * lib/unictype/pr_pattern_white_space.h: Likewise.
23890         * lib/unictype/pr_private_use.h: Likewise.
23891         * lib/unictype/pr_quotation_mark.h: Likewise.
23892         * lib/unictype/pr_radical.h: Likewise.
23893         * lib/unictype/pr_soft_dotted.h: Likewise.
23894         * lib/unictype/pr_space.h: Likewise.
23895         * lib/unictype/pr_titlecase.h: Likewise.
23896         * lib/unictype/pr_variation_selector.h: Likewise.
23897         * lib/unictype/pr_white_space.h: Likewise.
23898         * lib/unictype/pr_zero_width.h: Likewise.
23899         * lib/unictype/sy_c_ident.h: Likewise.
23900         * lib/unictype/sy_c_whitespace.h: Likewise.
23901         * lib/unictype/sy_java_whitespace.h: Likewise.
23902         * lib/uninorm/composition-table.gperf: Likewise.
23903         * lib/uninorm/decomposition-table1.h: Likewise.
23904         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
23905         LB8.
23906         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23907         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23908         * modules/unictype/*: Bump version number of expected libunistring
23909         version.
23910
23911 2011-01-09  Bruno Haible  <bruno@clisp.org>
23912
23913         Update to Unicode 5.2.0.
23914         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
23915         trailing whitespace removed.
23916
23917 2011-01-09  Bruno Haible  <bruno@clisp.org>
23918
23919         New Unicode character properties, from Unicode 5.2.0.
23920         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
23921         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
23922         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
23923         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
23924         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
23925         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
23926         uc_is_property_cased, uc_is_property_case_ignorable,
23927         uc_is_property_changes_when_lowercased,
23928         uc_is_property_changes_when_uppercased,
23929         uc_is_property_changes_when_titlecased,
23930         uc_is_property_changes_when_casefolded,
23931         uc_is_property_changes_when_casemapped): New declarations.
23932         * lib/unictype/pr_byname.gperf: Add the new properties.
23933         * modules/unictype/property-byname (Depends-on): Depend on the new
23934         properties modules.
23935         * modules/unictype/property-all (Depends-on): Likewise.
23936         * MODULES.html.sh (Unicode string functions): Add
23937         unictype/property-case-ignorable, unictype/property-cased,
23938         unictype/property-changes-when-casefolded,
23939         unictype/property-changes-when-casemapped,
23940         unictype/property-changes-when-lowercased,
23941         unictype/property-changes-when-titlecased,
23942         unictype/property-changes-when-uppercased.
23943
23944         New module 'unictype/property-changes-when-casemapped'.
23945         * modules/unictype/property-changes-when-casemapped: New file.
23946         * lib/unictype/pr_changes_when_casemapped.c: New file.
23947         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23948         generated by gen-uni-tables.
23949         * modules/unictype/property-changes-when-casemapped-tests: New file.
23950         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23951         automatically generated by gen-uni-tables.
23952
23953         New module 'unictype/property-changes-when-casefolded'.
23954         * modules/unictype/property-changes-when-casefolded: New file.
23955         * lib/unictype/pr_changes_when_casefolded.c: New file.
23956         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23957         generated by gen-uni-tables.
23958         * modules/unictype/property-changes-when-casefolded-tests: New file.
23959         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23960         automatically generated by gen-uni-tables.
23961
23962         New module 'unictype/property-changes-when-titlecased'.
23963         * modules/unictype/property-changes-when-titlecased: New file.
23964         * lib/unictype/pr_changes_when_titlecased.c: New file.
23965         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23966         generated by gen-uni-tables.
23967         * modules/unictype/property-changes-when-titlecased-tests: New file.
23968         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23969         automatically generated by gen-uni-tables.
23970
23971         New module 'unictype/property-changes-when-uppercased'.
23972         * modules/unictype/property-changes-when-uppercased: New file.
23973         * lib/unictype/pr_changes_when_uppercased.c: New file.
23974         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23975         generated by gen-uni-tables.
23976         * modules/unictype/property-changes-when-uppercased-tests: New file.
23977         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23978         automatically generated by gen-uni-tables.
23979
23980         New module 'unictype/property-changes-when-lowercased'.
23981         * modules/unictype/property-changes-when-lowercased: New file.
23982         * lib/unictype/pr_changes_when_lowercased.c: New file.
23983         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23984         generated by gen-uni-tables.
23985         * modules/unictype/property-changes-when-lowercased-tests: New file.
23986         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23987         automatically generated by gen-uni-tables.
23988
23989         New module 'unictype/property-case-ignorable'.
23990         * modules/unictype/property-case-ignorable: New file.
23991         * lib/unictype/pr_case_ignorable.c: New file.
23992         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23993         by gen-uni-tables.
23994         * modules/unictype/property-case-ignorable-tests: New file.
23995         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23996         generated by gen-uni-tables.
23997
23998         New module 'unictype/property-cased'.
23999         * modules/unictype/property-cased: New file.
24000         * lib/unictype/pr_cased.c: New file.
24001         * lib/unictype/pr_cased.h: New file, automatically generated by
24002         gen-uni-tables.
24003         * modules/unictype/property-cased-tests: New file.
24004         * tests/unictype/test-pr_cased.c: New file, automatically generated by
24005         gen-uni-tables.
24006
24007 2011-01-09  Bruno Haible  <bruno@clisp.org>
24008
24009         Update to Unicode 5.2.0.
24010         * lib/gen-uni-tables.c (output_predicate, output_category,
24011         output_combclass, output_bidi_category, output_decimal_digit_test,
24012         output_decimal_digit, output_digit_test, output_digit,
24013         output_numeric_test, output_numeric, output_mirror, output_scripts,
24014         output_scripts_byname, output_blocks, output_ident_category): Fix
24015         comment header.
24016         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
24017         get_wbp.
24018         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
24019         items.
24020         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
24021         Changes_When_Lowercased, Changes_When_Uppercased,
24022         Changes_When_Titlecased, Changes_When_Casefolded,
24023         Changes_When_Casemapped.
24024         (is_property_alphabetic, is_property_default_ignorable_code_point):
24025         Update for Unicode 5.2.0.
24026         (is_property_cased, is_property_case_ignorable,
24027         is_property_changes_when_lowercased,
24028         is_property_changes_when_uppercased,
24029         is_property_changes_when_titlecased,
24030         is_property_changes_when_casefolded,
24031         is_property_changes_when_casemapped): New functions.
24032         (output_properties): Output also the properties cased, case_ignorable,
24033         changes_when_lowercased, changes_when_uppercased,
24034         changes_when_titlecased, changes_when_casefolded,
24035         changes_when_casemapped.
24036         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
24037         Unicode TR#11 revision 17 -> 19.
24038         (LBP_CP): New enumeration value.
24039         (LBP_*): Adjust values accordingly.
24040         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
24041         TR#14 revision 22 -> 24.
24042         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
24043         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
24044         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
24045         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
24046         is_WBP_MIDLETTER.
24047         (output_composition_tables): Allow for 24 bits instead of 16 bits in
24048         the code1 and code2 of each composition rule.
24049         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
24050         * lib/unicase/ignorable.h: Likewise.
24051         * lib/unicase/tocasefold.h: Likewise.
24052         * lib/unicase/tolower.h: Likewise.
24053         * lib/unicase/totitle.h: Likewise.
24054         * lib/unicase/toupper.h: Likewise.
24055         * lib/unictype/bidi_of.h: Likewise.
24056         * lib/unictype/blocks.h: Likewise.
24057         * lib/unictype/categ_C.h: Likewise.
24058         * lib/unictype/categ_Cf.h: Likewise.
24059         * lib/unictype/categ_Cn.h: Likewise.
24060         * lib/unictype/categ_L.h: Likewise.
24061         * lib/unictype/categ_Ll.h: Likewise.
24062         * lib/unictype/categ_Lm.h: Likewise.
24063         * lib/unictype/categ_Lo.h: Likewise.
24064         * lib/unictype/categ_Lu.h: Likewise.
24065         * lib/unictype/categ_M.h: Likewise.
24066         * lib/unictype/categ_Mc.h: Likewise.
24067         * lib/unictype/categ_Mn.h: Likewise.
24068         * lib/unictype/categ_N.h: Likewise.
24069         * lib/unictype/categ_Nd.h: Likewise.
24070         * lib/unictype/categ_Nl.h: Likewise.
24071         * lib/unictype/categ_No.h: Likewise.
24072         * lib/unictype/categ_P.h: Likewise.
24073         * lib/unictype/categ_Pd.h: Likewise.
24074         * lib/unictype/categ_Po.h: Likewise.
24075         * lib/unictype/categ_S.h: Likewise.
24076         * lib/unictype/categ_Sc.h: Likewise.
24077         * lib/unictype/categ_So.h: Likewise.
24078         * lib/unictype/categ_of.h: Likewise.
24079         * lib/unictype/combining.h: Likewise.
24080         * lib/unictype/ctype_alnum.h: Likewise.
24081         * lib/unictype/ctype_alpha.h: Likewise.
24082         * lib/unictype/ctype_graph.h: Likewise.
24083         * lib/unictype/ctype_lower.h: Likewise.
24084         * lib/unictype/ctype_print.h: Likewise.
24085         * lib/unictype/ctype_punct.h: Likewise.
24086         * lib/unictype/ctype_upper.h: Likewise.
24087         * lib/unictype/decdigit.h: Likewise.
24088         * lib/unictype/digit.h: Likewise.
24089         * lib/unictype/numeric.h: Likewise.
24090         * lib/unictype/pr_alphabetic.h: Likewise.
24091         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24092         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24093         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24094         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24095         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24096         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24097         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24098         * lib/unictype/pr_combining.h: Likewise.
24099         * lib/unictype/pr_composite.h: Likewise.
24100         * lib/unictype/pr_currency_symbol.h: Likewise.
24101         * lib/unictype/pr_dash.h: Likewise.
24102         * lib/unictype/pr_decimal_digit.h: Likewise.
24103         * lib/unictype/pr_deprecated.h: Likewise.
24104         * lib/unictype/pr_diacritic.h: Likewise.
24105         * lib/unictype/pr_extender.h: Likewise.
24106         * lib/unictype/pr_grapheme_base.h: Likewise.
24107         * lib/unictype/pr_grapheme_extend.h: Likewise.
24108         * lib/unictype/pr_grapheme_link.h: Likewise.
24109         * lib/unictype/pr_id_continue.h: Likewise.
24110         * lib/unictype/pr_id_start.h: Likewise.
24111         * lib/unictype/pr_ideographic.h: Likewise.
24112         * lib/unictype/pr_ignorable_control.h: Likewise.
24113         * lib/unictype/pr_logical_order_exception.h: Likewise.
24114         * lib/unictype/pr_lowercase.h: Likewise.
24115         * lib/unictype/pr_numeric.h: Likewise.
24116         * lib/unictype/pr_other_alphabetic.h: Likewise.
24117         * lib/unictype/pr_punctuation.h: Likewise.
24118         * lib/unictype/pr_sentence_terminal.h: Likewise.
24119         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24120         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24121         * lib/unictype/pr_unified_ideograph.h: Likewise.
24122         * lib/unictype/pr_uppercase.h: Likewise.
24123         * lib/unictype/pr_xid_continue.h: Likewise.
24124         * lib/unictype/pr_xid_start.h: Likewise.
24125         * lib/unictype/pr_zero_width.h: Likewise.
24126         * lib/unictype/scripts.h: Likewise.
24127         * lib/unictype/scripts_byname.gperf: Likewise.
24128         * lib/unictype/sy_java_ident.h: Likewise.
24129         * lib/unigbrk/gbrkprop.h: Likewise.
24130         * lib/unilbrk/lbrkprop1.h: Likewise.
24131         * lib/unilbrk/lbrkprop2.h: Likewise.
24132         * lib/unilbrk/lbrktables.h: Likewise.
24133         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
24134         LBP_CP. Implement rule LB30.
24135         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
24136         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
24137         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
24138         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
24139         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
24140         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
24141         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
24142         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
24143         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
24144         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
24145         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
24146         bits instead of 16 bits in the code1 and code2 of each composition
24147         rule.
24148         (uc_composition): Update for Unicode 5.2.0.
24149         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
24150         * lib/uninorm/decomposition-table2.h: Likewise.
24151         * lib/uniwbrk/wbrkprop.h: Likewise.
24152         * tests/unicase/test-cased.c: Likewise.
24153         * tests/unicase/test-ignorable.c: Likewise.
24154         * tests/unicase/test-uc_tolower.c: Likewise.
24155         * tests/unicase/test-uc_totitle.c: Likewise.
24156         * tests/unicase/test-uc_toupper.c: Likewise.
24157         * tests/unictype/test-categ_C.c: Likewise.
24158         * tests/unictype/test-categ_Cf.c: Likewise.
24159         * tests/unictype/test-categ_Cn.c: Likewise.
24160         * tests/unictype/test-categ_L.c: Likewise.
24161         * tests/unictype/test-categ_Ll.c: Likewise.
24162         * tests/unictype/test-categ_Lm.c: Likewise.
24163         * tests/unictype/test-categ_Lo.c: Likewise.
24164         * tests/unictype/test-categ_Lu.c: Likewise.
24165         * tests/unictype/test-categ_M.c: Likewise.
24166         * tests/unictype/test-categ_Mc.c: Likewise.
24167         * tests/unictype/test-categ_Mn.c: Likewise.
24168         * tests/unictype/test-categ_N.c: Likewise.
24169         * tests/unictype/test-categ_Nd.c: Likewise.
24170         * tests/unictype/test-categ_Nl.c: Likewise.
24171         * tests/unictype/test-categ_No.c: Likewise.
24172         * tests/unictype/test-categ_P.c: Likewise.
24173         * tests/unictype/test-categ_Pd.c: Likewise.
24174         * tests/unictype/test-categ_Po.c: Likewise.
24175         * tests/unictype/test-categ_S.c: Likewise.
24176         * tests/unictype/test-categ_Sc.c: Likewise.
24177         * tests/unictype/test-categ_So.c: Likewise.
24178         * tests/unictype/test-ctype_alnum.c: Likewise.
24179         * tests/unictype/test-ctype_alpha.c: Likewise.
24180         * tests/unictype/test-ctype_graph.c: Likewise.
24181         * tests/unictype/test-ctype_lower.c: Likewise.
24182         * tests/unictype/test-ctype_print.c: Likewise.
24183         * tests/unictype/test-ctype_punct.c: Likewise.
24184         * tests/unictype/test-ctype_upper.c: Likewise.
24185         * tests/unictype/test-decdigit.h: Likewise.
24186         * tests/unictype/test-digit.h: Likewise.
24187         * tests/unictype/test-numeric.h: Likewise.
24188         * tests/unictype/test-pr_alphabetic.c: Likewise.
24189         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
24190         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
24191         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
24192         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
24193         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
24194         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
24195         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
24196         * tests/unictype/test-pr_combining.c: Likewise.
24197         * tests/unictype/test-pr_composite.c: Likewise.
24198         * tests/unictype/test-pr_currency_symbol.c: Likewise.
24199         * tests/unictype/test-pr_dash.c: Likewise.
24200         * tests/unictype/test-pr_decimal_digit.c: Likewise.
24201         * tests/unictype/test-pr_deprecated.c: Likewise.
24202         * tests/unictype/test-pr_diacritic.c: Likewise.
24203         * tests/unictype/test-pr_extender.c: Likewise.
24204         * tests/unictype/test-pr_grapheme_base.c: Likewise.
24205         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
24206         * tests/unictype/test-pr_grapheme_link.c: Likewise.
24207         * tests/unictype/test-pr_id_continue.c: Likewise.
24208         * tests/unictype/test-pr_id_start.c: Likewise.
24209         * tests/unictype/test-pr_ideographic.c: Likewise.
24210         * tests/unictype/test-pr_ignorable_control.c: Likewise.
24211         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
24212         * tests/unictype/test-pr_lowercase.c: Likewise.
24213         * tests/unictype/test-pr_numeric.c: Likewise.
24214         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
24215         * tests/unictype/test-pr_punctuation.c: Likewise.
24216         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
24217         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
24218         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
24219         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
24220         * tests/unictype/test-pr_uppercase.c: Likewise.
24221         * tests/unictype/test-pr_xid_continue.c: Likewise.
24222         * tests/unictype/test-pr_xid_start.c: Likewise.
24223         * tests/unictype/test-pr_zero_width.c: Likewise.
24224         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
24225         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
24226         changed behaviour: line breaking is now disallowed between a letter
24227         or '=' and '('.
24228         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
24229         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
24230         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
24231         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
24232         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24233         lib/uniwidth/width.c.
24234         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
24235         without comments, but with the original copyright notice.
24236         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
24237         changes.
24238         * lib/unictype/categ_Cc.h: Likewise.
24239         * lib/unictype/categ_Co.h: Likewise.
24240         * lib/unictype/categ_Cs.h: Likewise.
24241         * lib/unictype/categ_Lt.h: Likewise.
24242         * lib/unictype/categ_Me.h: Likewise.
24243         * lib/unictype/categ_Pc.h: Likewise.
24244         * lib/unictype/categ_Pe.h: Likewise.
24245         * lib/unictype/categ_Pf.h: Likewise.
24246         * lib/unictype/categ_Pi.h: Likewise.
24247         * lib/unictype/categ_Ps.h: Likewise.
24248         * lib/unictype/categ_Sk.h: Likewise.
24249         * lib/unictype/categ_Sm.h: Likewise.
24250         * lib/unictype/categ_Z.h: Likewise.
24251         * lib/unictype/categ_Zl.h: Likewise.
24252         * lib/unictype/categ_Zp.h: Likewise.
24253         * lib/unictype/categ_Zs.h: Likewise.
24254         * lib/unictype/ctype_blank.h: Likewise.
24255         * lib/unictype/ctype_cntrl.h: Likewise.
24256         * lib/unictype/ctype_digit.h: Likewise.
24257         * lib/unictype/ctype_space.h: Likewise.
24258         * lib/unictype/ctype_xdigit.h: Likewise.
24259         * lib/unictype/mirror.h: Likewise.
24260         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24261         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24262         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24263         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24264         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24265         * lib/unictype/pr_bidi_control.h: Likewise.
24266         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24267         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24268         * lib/unictype/pr_bidi_pdf.h: Likewise.
24269         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24270         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24271         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24272         * lib/unictype/pr_format_control.h: Likewise.
24273         * lib/unictype/pr_hex_digit.h: Likewise.
24274         * lib/unictype/pr_hyphen.h: Likewise.
24275         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24276         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24277         * lib/unictype/pr_iso_control.h: Likewise.
24278         * lib/unictype/pr_join_control.h: Likewise.
24279         * lib/unictype/pr_left_of_pair.h: Likewise.
24280         * lib/unictype/pr_line_separator.h: Likewise.
24281         * lib/unictype/pr_math.h: Likewise.
24282         * lib/unictype/pr_non_break.h: Likewise.
24283         * lib/unictype/pr_not_a_character.h: Likewise.
24284         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24285         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24286         * lib/unictype/pr_other_id_continue.h: Likewise.
24287         * lib/unictype/pr_other_id_start.h: Likewise.
24288         * lib/unictype/pr_other_lowercase.h: Likewise.
24289         * lib/unictype/pr_other_math.h: Likewise.
24290         * lib/unictype/pr_other_uppercase.h: Likewise.
24291         * lib/unictype/pr_paired_punctuation.h: Likewise.
24292         * lib/unictype/pr_paragraph_separator.h: Likewise.
24293         * lib/unictype/pr_pattern_syntax.h: Likewise.
24294         * lib/unictype/pr_pattern_white_space.h: Likewise.
24295         * lib/unictype/pr_private_use.h: Likewise.
24296         * lib/unictype/pr_quotation_mark.h: Likewise.
24297         * lib/unictype/pr_radical.h: Likewise.
24298         * lib/unictype/pr_soft_dotted.h: Likewise.
24299         * lib/unictype/pr_space.h: Likewise.
24300         * lib/unictype/pr_titlecase.h: Likewise.
24301         * lib/unictype/pr_variation_selector.h: Likewise.
24302         * lib/unictype/pr_white_space.h: Likewise.
24303         * lib/unictype/sy_c_ident.h: Likewise.
24304         * lib/unictype/sy_c_whitespace.h: Likewise.
24305         * lib/unictype/sy_java_whitespace.h: Likewise.
24306         * modules/uni*/*: Bump version number of expected libunistring version.
24307         Reported by Simon Josefsson.
24308
24309 2011-01-09  Karl Heuer  <kwzh@gnu.org>
24310
24311         useless-if-before-free: fix typo in --help and make the internal,
24312         automatic version date update process work once again.
24313         --help output contained a NUL character instead of the
24314         backslash-zero that was intended.  Also, the "must lie within
24315         the first 8 lines" line is on line 9, and hence not getting
24316         automatically updated.
24317         * build-aux/useless-if-before-free: Fix the former by adding a
24318         backslash, and the latter by condensing the three lines of what-it-does
24319         to a single line, leaving one line of slack for the future.
24320
24321 2011-01-09  Bruno Haible  <bruno@clisp.org>
24322
24323         uniwidth/width: Fix width of U+1D173..U+1D17A.
24324         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
24325         symbolic_width, output_width_property_test): New functions.
24326         (main): Invoke output_nonspacing_property, output_width_property_test.
24327         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
24328         U+1D173..U+1D17A.
24329         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
24330         1.
24331         * modules/uniwidth/*: Bump version number of expected libunistring
24332         version.
24333         * modules/unilbrk/*: Likewise.
24334
24335 2011-01-08  Bruno Haible  <bruno@clisp.org>
24336
24337         uninorm tests: Preserve copyright of Unicode data file.
24338         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
24339         Mention modifications.
24340
24341 2011-01-08  Bruno Haible  <bruno@clisp.org>
24342
24343         gen-uni-tables: Prepare for Unicode 5.2.0.
24344         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
24345         (debug_output_lbp, output_lbp): Update.
24346
24347 2011-01-08  Bruno Haible  <bruno@clisp.org>
24348
24349         unilbrk: Clarify gen-uni-tables.c code.
24350         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
24351         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
24352         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
24353
24354 2011-01-07  Bruno Haible  <bruno@clisp.org>
24355
24356         strtod: Restore errno when successfully parsing Infinity or NaN.
24357         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
24358         restore the original errno.
24359
24360 2011-01-07  Bruno Haible  <bruno@clisp.org>
24361
24362         remove test: Avoid failure on HP-UX 11.
24363         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
24364
24365 2011-01-07  Bruno Haible  <bruno@clisp.org>
24366
24367         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
24368         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
24369         error code.
24370
24371 2011-01-07  Pádraig Brady <P@draigBrady.com>
24372
24373         ignore-value: fixup comments, and add Eric Blake
24374         as an author since he rewrote the macros.
24375         * lib/ignore-value.h (ignore_value):  State that
24376         we now support aggregates.  Also specify exactly
24377         when the GCC warn_unused_result feature was added.
24378
24379 2011-01-06  Eric Blake  <eblake@redhat.com>
24380
24381         ignore-value: support aggregate types
24382         * lib/ignore-value.h (ignore_value): Provide separate gcc
24383         definition.
24384         * modules/ignore-value-tests: New test module.
24385         * tests/test-ignore-value.c: New test.
24386
24387         maint.mk: improve sc_prohibit_strcmp regex
24388         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
24389         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
24390         definition of STRNEQ.
24391
24392         signal: work around Haiku issue with SIGBUS
24393         * lib/siglist.h: Add comment.
24394         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
24395         strsignal's favoring of SIGSEGV.
24396         * tests/test-signal.c (main): Avoid test failure.
24397         * doc/posix-headers/signal.texi (signal.h): Document the issue.
24398         Reported by Scott McCreary.
24399
24400         maint.mk: add pre-release check to ensure submodule commits are public
24401         * top/maint.mk (public-submodule-commit): New rule.
24402         (submodule-checks): New variable.
24403         (alpha beta stable): Depend on the variable.
24404
24405 2011-01-05  Pádraig Brady <P@draigBrady.com>
24406         and Jim Meyering  <meyering@redhat.com>
24407
24408         ignore-value: make ignore_value more generic; deprecate ignore_ptr
24409         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
24410         (ATTRIBUTE_DEPRECATED): Define.
24411         (_ignore_case): New function.
24412         (ignore_value): New macro, to replace the old function.
24413         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
24414         * modules/ignore-value (Depends-on): Add stdint.
24415
24416 2011-01-04  Eric Blake  <eblake@redhat.com>
24417
24418         doc: regenerate INSTALL
24419         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
24420         @firstparagraphindent support, now that autoconf dropped it.
24421         (INSTALL_PRELUDE): Reinstate old macro.
24422         * doc/install.texi: Resync from autoconf.
24423         * doc/INSTALL: Reflect recent autoconf update.
24424         * doc/INSTALL.ISO: Likewise.
24425         * doc/INSTALL.UTF-8: Likewise.
24426         Reported by Karl Berry.
24427
24428 2011-01-04  Bruce Korb  <address@hidden>
24429
24430         git-version-gen: avoid a sub-shell
24431         * build-aux/git-version-gen: Redirect stderr in `...` via
24432         "exec 2>...", rather than via an added sub-shell.
24433
24434 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
24435
24436         git-version-gen: use (...) rather than sh -c '...'
24437         * build-aux/git-version-gen: Rather than hard-coding a shell's name
24438         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
24439
24440 2011-01-03  Jim Meyering  <meyering@redhat.com>
24441
24442         git-version-gen: convert leading TABs to spaces
24443         * build-aux/git-version-gen: Expand leading TABs.
24444
24445         git-version-gen: handle failed "git rev-list"
24446         * build-aux/git-version-gen: Rather than leaking a "fatal" error
24447         from git and proceeding as if it had succeeded but printed no SHA1
24448         checksums, suppress the diagnostic and handle the failure.
24449         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
24450
24451         git-version-gen: include command name in one more diagnostic
24452         * build-aux/git-version-gen: When the required .tarball-version file
24453         was missing or unreadable, you might see the diagnostic from "cat",
24454         but no trace of the name of the invoking script.  Now, you still see
24455         the diagnostic from cat, but also get one from "git-version-gen: ".
24456         Inspired by a patch from Bruce Korb.
24457
24458         update-copyright: adjust test to match changed code
24459         * tests/test-update-copyright.sh: Change test's expected output
24460         to match new actual output.
24461
24462 2011-01-02  Bruno Haible  <bruno@clisp.org>
24463
24464         getlogin_r: Avoid test failure on HP-UX 11.
24465         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
24466         ERANGE when the second argument is zero.
24467         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
24468         portability problem.
24469
24470 2011-01-02  Bruce Korb  <bkorb@gnu.org>
24471
24472         * build-aux/update-copyright: doc Simon's changes
24473
24474 2011-01-02  Simon Josefsson  <simon@josefsson.org>
24475
24476         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
24477         environment variable.
24478
24479 2011-01-02  Bruno Haible  <bruno@clisp.org>
24480
24481         unigbrk: Avoid gcc warnings.
24482         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
24483         unused variable.
24484         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
24485         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
24486         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
24487         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
24488         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
24489         Change type of first argument to 'const char *'.
24490         (main): Remove unused variable.
24491         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
24492         type of first argument to 'const char *'.
24493         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
24494         Likewise.
24495         (main): Change type of variable 's'.
24496         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
24497         to 'int'.
24498
24499 2011-01-02  Bruno Haible  <bruno@clisp.org>
24500
24501         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
24502         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
24503         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
24504         bug.
24505         * lib/pwrite.c: Undo 2010-12-31 patch.
24506         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
24507
24508 2011-01-02  Bruno Haible  <bruno@clisp.org>
24509
24510         pread: Fix test whether it works.
24511         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
24512
24513 2011-01-02  Bruno Haible  <bruno@clisp.org>
24514
24515         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
24516         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
24517         ends in "6". Don't require a specific month name. Try also the locale
24518         names found on HP-UX 11 and Solaris 7.
24519
24520 2011-01-02  Bruno Haible  <bruno@clisp.org>
24521
24522         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
24523         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
24524         C linkage.
24525         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
24526
24527 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24528
24529         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
24530         for consistency, since the "cluster" term is not used elsewhere.
24531         * lib/unigbrk.in.h: Update name.
24532         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
24533         * lib/unigbrk/u16-grapheme-next.c: Update name.
24534         * lib/unigbrk/u16-grapheme-prev.c: Update name.
24535         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
24536         * lib/unigbrk/u32-grapheme-next.c: Update name.
24537         * lib/unigbrk/u32-grapheme-prev.c: Update name.
24538         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
24539         * lib/unigbrk/u8-grapheme-next.c: Update name.
24540         * lib/unigbrk/u8-grapheme-prev.c: Update name.
24541         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
24542         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
24543         Suggested by Bruno Haible.
24544
24545 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24546
24547         Remove module 'u8-grapheme-len' as too redundant with
24548         'u8-grapheme-next'.
24549         * modules/unigbrk/u8-grapheme-len: Delete file.
24550         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
24551         * lib/unigbrk.in.h: Remove prototype for deleted function.
24552         * lib/unigbrk/u8-grapheme-len.c: Delete file.
24553         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
24554
24555         Remove module 'u16-grapheme-len' as too redundant with
24556         'u16-grapheme-next'.
24557         * modules/unigbrk/u16-grapheme-len: Delete file.
24558         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
24559         * lib/unigbrk.in.h: Remove prototype for deleted function.
24560         * lib/unigbrk/u16-grapheme-len.c: Delete file.
24561         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
24562
24563         Remove module 'u32-grapheme-len' as too redundant with
24564         'u32-grapheme-next'.
24565         * modules/unigbrk/u32-grapheme-len: Delete file.
24566         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
24567         * lib/unigbrk.in.h: Remove prototype for deleted function.
24568         * lib/unigbrk/u32-grapheme-len.c: Delete file.
24569         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
24570
24571         Suggested by Bruno Haible.
24572
24573 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24574
24575         * unigbrk.in.h: Fix typo: "ben" => "been".
24576         Reported by Bruno Haible.
24577
24578 2011-01-01  Jim Meyering  <meyering@redhat.com>
24579
24580         maint: update almost all copyright ranges to include 2011
24581         Run the new "make update-copyright" rule.
24582
24583 2011-01-01  Jim Meyering  <meyering@redhat.com>
24584
24585         maint: update-copyright: exempt doc/INSTALL*
24586         * Makefile (update-copyright): Also exclude doc/INSTALL*,
24587         since they are generated.  Suggested by Bruno Haible.
24588
24589 2011-01-01  Jim Meyering  <meyering@redhat.com>
24590
24591         maint: refine the update-copyright rule
24592         * Makefile (update-copyright): Also exclude any file that includes
24593         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
24594         code that merely generates the comment.
24595
24596 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24597
24598         New module 'u8-grapheme-len'.
24599         * modules/unigbrk/u8-grapheme-len: New file.
24600         * modules/unigbrk/u8-grapheme-len-tests: New file.
24601         * lib/unigbrk.in.h: Add prototype for new function.
24602         * lib/unigbrk/u8-grapheme-len.c: New file.
24603         * tests/unigbrk/test-u8-grapheme-len.c: New file.
24604
24605         New module 'u16-grapheme-len'.
24606         * modules/unigbrk/u16-grapheme-len: New file.
24607         * modules/unigbrk/u16-grapheme-len-tests: New file.
24608         * lib/unigbrk.in.h: Add prototype for new function.
24609         * lib/unigbrk/u16-grapheme-len.c: New file.
24610         * tests/unigbrk/test-u16-grapheme-len.c: New file.
24611
24612         New module 'u32-grapheme-len'.
24613         * modules/unigbrk/u32-grapheme-len: New file.
24614         * modules/unigbrk/u32-grapheme-len-tests: New file.
24615         * lib/unigbrk.in.h: Add prototype for new function.
24616         * lib/unigbrk/u32-grapheme-len.c: New file.
24617         * tests/unigbrk/test-u32-grapheme-len.c: New file.
24618
24619         New module 'u8-grapheme-next'.
24620         * modules/unigbrk/u8-grapheme-next: New file.
24621         * modules/unigbrk/u8-grapheme-next-tests: New file.
24622         * lib/unigbrk.in.h: Add prototype for new function.
24623         * lib/unigbrk/u8-grapheme-next.c: New file.
24624         * tests/unigbrk/test-u8-grapheme-next.c: New file.
24625
24626         New module 'u16-grapheme-next'.
24627         * modules/unigbrk/u16-grapheme-next: New file.
24628         * modules/unigbrk/u16-grapheme-next-tests: New file.
24629         * lib/unigbrk.in.h: Add prototype for new function.
24630         * lib/unigbrk/u16-grapheme-next.c: New file.
24631         * tests/unigbrk/test-u16-grapheme-next.c: New file.
24632
24633         New module 'u32-grapheme-next'.
24634         * modules/unigbrk/u32-grapheme-next: New file.
24635         * modules/unigbrk/u32-grapheme-next-tests: New file.
24636         * lib/unigbrk.in.h: Add prototype for new function.
24637         * lib/unigbrk/u32-grapheme-next.c: New file.
24638         * tests/unigbrk/test-u32-grapheme-next.c: New file.
24639
24640         New module 'u8-grapheme-prev'.
24641         * modules/unigbrk/u8-grapheme-prev: New file.
24642         * modules/unigbrk/u8-grapheme-prev-tests: New file.
24643         * lib/unigbrk.in.h: Add prototype for new function.
24644         * lib/unigbrk/u8-grapheme-prev.c: New file.
24645         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
24646
24647         New module 'u16-grapheme-prev'.
24648         * modules/unigbrk/u16-grapheme-prev: New file.
24649         * modules/unigbrk/u16-grapheme-prev-tests: New file.
24650         * lib/unigbrk.in.h: Add prototype for new function.
24651         * lib/unigbrk/u16-grapheme-prev.c: New file.
24652         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
24653
24654         New module 'u32-grapheme-prev'.
24655         * modules/unigbrk/u32-grapheme-prev: New file.
24656         * modules/unigbrk/u32-grapheme-prev-tests: New file.
24657         * lib/unigbrk.in.h: Add prototype for new function.
24658         * lib/unigbrk/u32-grapheme-prev.c: New file.
24659         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
24660
24661         New module 'u8-grapheme-breaks'.
24662         * modules/unigbrk/u8-grapheme-breaks: New file.
24663         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
24664         * lib/unigbrk.in.h: Add prototype for new function.
24665         * lib/unigbrk/u8-grapheme-breaks.c: New file.
24666         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
24667
24668         New module 'u16-grapheme-breaks'.
24669         * modules/unigbrk/u16-grapheme-breaks: New file.
24670         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
24671         * lib/unigbrk.in.h: Add prototype for new function.
24672         * lib/unigbrk/u16-grapheme-breaks.c: New file.
24673         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
24674
24675         New module 'u32-grapheme-breaks'.
24676         * modules/unigbrk/u32-grapheme-breaks: New file.
24677         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
24678         * lib/unigbrk.in.h: Add prototype for new function.
24679         * lib/unigbrk/u32-grapheme-breaks.c: New file.
24680         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
24681
24682         New module 'ulc-grapheme-breaks'.
24683         * modules/unigbrk/ulc-grapheme-breaks: New file.
24684         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
24685         * m4/locale-ar.m4: New file.
24686         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
24687         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
24688         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
24689
24690 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24691
24692         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
24693         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
24694         modified how this file was generated before I initially submitted
24695         the module, but failed to regenerate it.  This meant that several
24696         of the level2 entries were wrong.
24697         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
24698         Remove the division-by-2 that is folded into the table now that
24699         gbrkprop.h has been regenerated properly.  Now -1 entries are
24700         handled correctly.
24701
24702         New module 'unigbrk/uc-gbrk-prop-tests'.
24703         * modules/unigbrk/uc-gbrk-prop-tests: New file.
24704         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
24705         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
24706         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
24707
24708 2011-01-01  Bruno Haible  <bruno@clisp.org>
24709
24710         Avoid use of hexadecimal escapes.
24711         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
24712         instead of hexadecimal escapes.
24713
24714 2011-01-01  Jim Meyering  <meyering@redhat.com>
24715
24716         maint: new rule to update copyright year ranges
24717         * Makefile (update-copyright): New rule.
24718
24719         maint: indent with TABs in Makefile
24720         * Makefile: Expand leading sequences of spaces to TABs
24721
24722         version-etc: update the copyright year it reports
24723         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
24724
24725 2010-12-31  Bruno Haible  <bruno@clisp.org>
24726
24727         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
24728         * lib/isfinite.c (zerof, zerod, zerol): New variables.
24729         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
24730         zero.
24731
24732 2010-12-31  Bruno Haible  <bruno@clisp.org>
24733
24734         pwrite: Work around HP-UX 11.11 bug.
24735         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
24736         works and set REPLACE_PWRITE if not.
24737         * lib/pwrite.c (pwrite): Add an implementation that uses the system
24738         function.
24739         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
24740
24741 2010-12-31  Bruno Haible  <bruno@clisp.org>
24742
24743         pread: Work around HP-UX 11 bugs.
24744         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
24745         and set REPLACE_PREAD if not.
24746         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
24747
24748 2010-12-31  Eric Blake  <eblake@redhat.com>
24749
24750         nl_langinfo: fix YESEXPR on Irix 6.5
24751         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
24752         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
24753         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
24754         it.
24755
24756 2010-12-31  Bruno Haible  <bruno@clisp.org>
24757
24758         iconv: Document HP-UX 11 bug.
24759         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
24760
24761 2010-12-31  Bruno Haible  <bruno@clisp.org>
24762
24763         ldexpl: Fix link error on HP-UX 11.
24764         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
24765         LDEXPL_LIBM, using $ISNANL_LIBM.
24766
24767 2010-12-31  Eric Blake  <eblake@redhat.com>
24768
24769         ftello: avoid compilation failure with SunStudio c89
24770         * lib/ftello.c (ftello): Use lseek, not llseek.
24771
24772         tests: avoid failing coreutils tests on cygwin
24773         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
24774         (create_exe_shims_): Return 0 when skipping.
24775
24776 2010-12-31  Bruno Haible  <bruno@clisp.org>
24777
24778         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
24779         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
24780
24781 2010-12-31  Bruno Haible  <bruno@clisp.org>
24782
24783         waitpid: Fix link error in C++ mode.
24784         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
24785
24786 2010-12-31  Bruno Haible  <bruno@clisp.org>
24787
24788         isnan: Use GCC built-ins when possible.
24789         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
24790         __builtin_isnan.
24791         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
24792         (isnan): Define using GCC built-ins for GCC >= 4.0.
24793
24794 2010-12-31  Bruno Haible  <bruno@clisp.org>
24795
24796         isnand: Fix mistake.
24797         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
24798         __builtin_isnand.
24799
24800 2010-12-31  Bruno Haible  <bruno@clisp.org>
24801
24802         open: Avoid C++ error on HP-UX 11.
24803         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
24804
24805 2010-12-31  Bruno Haible  <bruno@clisp.org>
24806
24807         time_r: Add missing declarations on HP-UX 11.
24808         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
24809         instead of HAVE_LOCALTIME_R.
24810         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
24811         HAVE_LOCALTIME_R always.
24812         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
24813         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
24814         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
24815         HAVE_LOCALTIME_R.
24816         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
24817         * doc/posix-functions/localtime_r.texi: Likewise.
24818
24819 2010-12-29  Eric Blake  <eblake@redhat.com>
24820
24821         mountlist: tweak previous commit
24822         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
24823         Reported by Paul Eggert.
24824
24825         mountlist: fix local drive detection on cygwin
24826         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
24827         that works for cygwin.
24828
24829 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24830
24831         ftoastr, snprintf: ftoastr + snprintf module
24832         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
24833         since the snprintf module now should be good enough here.
24834         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
24835         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
24836         and gl_MODULE_INDICATOR([snprintf]), but the former enables
24837         GNULIB_SNPRINTF only for the test directory, and the latter
24838         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
24839         seems to suffice by itself.
24840
24841 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
24842
24843         alloca: one step towards thread-safety
24844         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
24845         need for a static variable.  All callers changed.  This does not
24846         make the alloca replacement thread-safe, but it's one step.
24847
24848         tests: minor indenting change
24849         * tests/init.sh: Sync from coreutils housekeeping patch
24850         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
24851         to keep lines within 80 columns.
24852
24853 2010-12-28  Jim Meyering  <meyering@redhat.com>
24854
24855         regex: don't infloop on persistent failing calloc
24856         * lib/regexec.c (build_trtable): Return failure indication upon
24857         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
24858         In glibc, this was fixed for version 2.13:
24859         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
24860
24861 2010-12-28  Bruno Haible  <bruno@clisp.org>
24862             Paul Eggert <eggert@cs.ucla.edu>
24863
24864         linkat: Make implementation robust against system behaviour variations.
24865         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
24866         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
24867         way, and to -2 if it needs a generic runtime test.
24868         * lib/linkat.c (solaris_optimized_link_immediate,
24869         solaris_optimized_link_follow): New functions.
24870         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
24871         (check_same_link): Use it.
24872
24873 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
24874
24875         New module 'unigbrk/base'.
24876         * modules/unigbrk/base: New file.
24877         * lib/unigbrk.in.h: New file.
24878
24879         New module 'unigbrk/uc-gbrk-prop'.
24880         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
24881         * modules/unigbrk/uc-gbrk-prop: New file.
24882         * lib/unigbrk/gbrkprop.h: New file.
24883         * lib/unigbrk/uc-gbrk-prop.c: New file.
24884
24885         New module 'unigbrk/uc-is-grapheme-break'.
24886         * modules/unigbrk/uc-is-grapheme-break: New file.
24887         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
24888         * lib/unigbrk/uc-is-grapheme-break.c: New file.
24889         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
24890         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
24891         * tests/unigbrk/GraphemeBreakTest.txt: New file.
24892
24893         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
24894
24895 2010-12-27  Bruno Haible  <bruno@clisp.org>
24896
24897         linkat test: Avoid failure on Solaris 11 2010-11.
24898         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
24899
24900 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24901
24902         utimens: work around glibc rounding bug on more platforms
24903         * lib/utimens.c (fdutimens): Work around rounding bug even if
24904         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
24905         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
24906
24907 2010-12-27  Bruno Haible  <bruno@clisp.org>
24908
24909         select tests: Improve comments.
24910         * tests/test-select.c (do_select): Add comments.
24911
24912 2010-12-27  Bruno Haible  <bruno@clisp.org>
24913
24914         select tests: Safer way of handling timeout.
24915         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
24916         at every invocation.
24917
24918 2010-12-27  Bruno Haible  <bruno@clisp.org>
24919
24920         select tests: Use 'bool' where appropriate.
24921         * tests/test-select.c (connect_to_socket): Change argument type to
24922         'bool'.
24923
24924 2010-12-27  Bruno Haible  <bruno@clisp.org>
24925
24926         select tests: Use existing modules.
24927         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
24928         (configure.ac): Don't test for unistd.h.
24929         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
24930         declared in <unistd.h>.
24931
24932 2010-12-27  Bruno Haible  <bruno@clisp.org>
24933
24934         mbrtowc: Work around a Solaris 7 bug.
24935         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
24936         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
24937         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
24938         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
24939         MBRTOWC_NULL_ARG1_BUG.
24940         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
24941         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
24942         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24943         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24944
24945 2010-12-27  Jim Meyering  <meyering@redhat.com>
24946
24947         read-file.c: tweak syntax
24948         * lib/read-file.c (fread_file): Remove space after "*" in function
24949         definitions.
24950
24951 2010-12-27  Bruno Haible  <bruno@clisp.org>
24952
24953         times test: Avoid gcc warnings on OSF/1.
24954         * tests/test-times.c (main): Cast printf arguments from clock_t to
24955         'long int'.
24956
24957 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24958
24959         utimens: work around glibc rounding bug on older Linux kernels
24960         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24961         on Linux with a glibc whose utimes might not work, then work
24962         around a longstanding glibc bug involving rounding rather than
24963         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24964         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24965
24966 2010-12-26  Bruno Haible  <bruno@clisp.org>
24967
24968         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24969         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24970         _GL_CXXALIAS_SYS.
24971         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24972
24973 2010-12-26  Bruno Haible  <bruno@clisp.org>
24974
24975         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24976         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24977         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24978         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24979         looking for the declaration.
24980         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24981         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24982         problem.
24983         * doc/posix-functions/inet_pton.texi: Likewise.
24984
24985 2010-12-26  Bruno Haible  <bruno@clisp.org>
24986
24987         arpa_inet: Use the common idioms with C++ support.
24988         * lib/arpa_inet.in.h: Include c++defs.h.
24989         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24990         support.
24991         * modules/arpa_inet (Depends-on): Add c++defs.
24992         (Makefile.am): Substitute the contents of c++defs.h.
24993         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24994         * modules/arpa_inet-c++-tests: New file.
24995         * tests/test-arpa_inet-c++.cc: New file.
24996
24997 2010-12-25  Bruno Haible  <bruno@clisp.org>
24998
24999         Fix more C++ link errors on Solaris 8.
25000         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
25001         $(LIB_EACCESS).
25002         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
25003         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
25004         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
25005         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
25006         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
25007
25008 2010-12-25  Bruno Haible  <bruno@clisp.org>
25009
25010         printf-posix: Fix link error when a non-GCC compiler is used.
25011         * lib/stdio.in.h (printf): When not using GCC, override printf
25012         correctly.
25013         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25014
25015 2010-12-25  Bruno Haible  <bruno@clisp.org>
25016
25017         strerror_r-posix: Update doc.
25018         * doc/posix-functions/strerror_r.texi: Update doc about the return
25019         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
25020
25021 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25022
25023         utimens: simplify the logic of the previous change
25024         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
25025         This should not affect whether the test succeeds or fails.
25026
25027         utimens: configure better on hosts with NFS clock skew
25028         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
25029         uses the clock of the local host.  It might use the clock of the
25030         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
25031         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
25032
25033 2010-12-25  Bruno Haible  <bruno@clisp.org>
25034
25035         ptsname test: Avoid failure on Solaris.
25036         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
25037         open a pseudo-terminal; don't use BSD-style ptys.
25038         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
25039
25040 2010-12-25  Bruno Haible  <bruno@clisp.org>
25041
25042         ptsname: Avoid ERANGE failure on some systems.
25043         * lib/ptsname.c (buffer): Increase size.
25044
25045 2010-12-25  Bruno Haible  <bruno@clisp.org>
25046
25047         rename, renameat: Avoid test failures at NFS mounted locations.
25048         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
25049         so that subsequent mkdir calls succeed.
25050
25051 2010-12-25  Bruno Haible  <bruno@clisp.org>
25052
25053         iswblank: Fix C++ link error on Solaris 8.
25054         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
25055         _GL_FUNCDECL_SYS.
25056
25057 2010-12-25  Bruno Haible  <bruno@clisp.org>
25058
25059         unistd: Fix C++ link error on Solaris 8.
25060         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
25061
25062 2010-12-25  Bruno Haible  <bruno@clisp.org>
25063
25064         readlink doc: Mention an old glibc bug.
25065         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
25066
25067 2010-12-25  Bruno Haible  <bruno@clisp.org>
25068
25069         fcntl-h: Fix for use of C++ on glibc systems.
25070         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25071         also on glibc systems in C++ mode.
25072         Reported by Gary V. Vaughan <gary@gnu.org>.
25073
25074 2010-12-25  Bruno Haible  <bruno@clisp.org>
25075
25076         roundl-ieee: Make it work on OSF/1 5.1 with cc.
25077         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
25078
25079 2010-12-25  Bruno Haible  <bruno@clisp.org>
25080
25081         truncl-ieee: Make it work on OSF/1 5.1 with cc.
25082         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
25083         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
25084         test whether truncl works according to ISO C 99 with IEC 60559.
25085         * m4/truncl-ieee.m4: New file.
25086         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
25087         m4/signbit.m4.
25088         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
25089
25090 2010-12-25  Bruno Haible  <bruno@clisp.org>
25091
25092         ceill-ieee: Make it work on OSF/1 5.1 with cc.
25093         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
25094         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
25095         test whether ceill works according to ISO C 99 with IEC 60559.
25096         * m4/ceill-ieee.m4: New file.
25097         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
25098         m4/signbit.m4.
25099         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
25100
25101 2010-12-25  Bruno Haible  <bruno@clisp.org>
25102
25103         Ensure all prerequisites of <wchar.h> are included.
25104         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
25105         before <wchar.h>.
25106         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25107         gl_MBRLEN_NUL_RETVAL): Likewise.
25108         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25109         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
25110         AC_FUNC_MBRTOWC): Likewise.
25111         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25112         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
25113         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25114         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
25115         Likewise.
25116         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25117         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
25118         (gl_WCHAR_H): Improve comments.
25119         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25120
25121 2010-12-25  Bruno Haible  <bruno@clisp.org>
25122
25123         strtok_r: Fix C syntax error in autoconf macro.
25124         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
25125         characters in test program.
25126
25127 2010-12-24  Bruno Haible  <bruno@clisp.org>
25128
25129         ceil, trunc, round: Fix gcc warnings.
25130         * lib/ceil.c (MIN): Undefine before redefining.
25131         * lib/trunc.c (MIN): Likewise.
25132         * lib/round.c (MIN): Likewise.
25133         Include <math.h> first.
25134
25135 2010-12-24  Bruno Haible  <bruno@clisp.org>
25136
25137         select tests: Avoid failures on OSF/1 5.1.
25138         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
25139         failure of closing the last socket; it may fail with ECONNRESET.
25140
25141 2010-12-24  Eric Blake  <eblake@redhat.com>
25142
25143         stdint: avoid HP-UX 10.20 preprocessor bug
25144         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
25145         than #if.
25146         * tests/test-floor2.c (main): Likewise.
25147         Reported by Peter O'Gorman.
25148
25149         pipe: make obsoletion transition easier
25150         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
25151         * modules/pipe (Files): Include revived file.
25152         (Include): Drop reference, to mirror getdate's behavior.
25153
25154 2010-12-24  Bruno Haible  <bruno@clisp.org>
25155
25156         sys_socket: Hide mismatch of declarations on NonStop Kernel.
25157         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
25158         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
25159         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25160
25161 2010-12-24  Bruno Haible  <bruno@clisp.org>
25162
25163         gethostname: Ensure declaration on NonStop Kernel.
25164         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
25165         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25166
25167 2010-12-24  Bruno Haible  <bruno@clisp.org>
25168
25169         sys_select: Ensure all necessary types on NonStop Kernel.
25170         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
25171         include <sys/time.h>.
25172         * doc/posix-headers/sys_select.texi: Mention that it's missing on
25173         NonStop Kernel.
25174         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25175
25176 2010-12-24  Bruno Haible  <bruno@clisp.org>
25177
25178         sys_select: Remove unneeded include.
25179         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
25180         have <sys/select.h>.
25181
25182 2010-12-24  Bruno Haible  <bruno@clisp.org>
25183
25184         gethostname: Provide a fallback for HOST_NAME_MAX.
25185         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
25186         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
25187         instead.
25188         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25189
25190 2010-12-24  Bruno Haible  <bruno@clisp.org>
25191
25192         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
25193         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
25194         (SA_RESTART): Likewise.
25195         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25196
25197 2010-12-24  Bruno Haible  <bruno@clisp.org>
25198
25199         signal: Define NSIG.
25200         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
25201         * tests/test-signal.c (nsig): New variable.
25202         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25203
25204 2010-12-24  Bruno Haible  <bruno@clisp.org>
25205
25206         rename, renameat: Avoid test failures on OSF/1 5.1.
25207         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
25208         alternative error codes.
25209         * tests/test-renameat.c (main): Likewise.
25210
25211 2010-12-24  Bruno Haible  <bruno@clisp.org>
25212
25213         *printf: Detect large precisions bug on Solaris 10/SPARC.
25214         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
25215         by Paul Eggert.
25216         * tests/test-snprintf-posix.h (test_function): Add this test code here
25217         too.
25218         * tests/test-sprintf-posix.h (test_function): Likewise.
25219         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25220         * tests/test-vasprintf-posix.c (test_function): Likewise.
25221         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
25222         around by gnulib.
25223         * doc/posix-functions/printf.texi: Likewise.
25224         * doc/posix-functions/snprintf.texi: Likewise.
25225         * doc/posix-functions/sprintf.texi: Likewise.
25226         * doc/posix-functions/vfprintf.texi: Likewise.
25227         * doc/posix-functions/vprintf.texi: Likewise.
25228         * doc/posix-functions/vsnprintf.texi: Likewise.
25229         * doc/posix-functions/vsprintf.texi: Likewise.
25230         * doc/posix-functions/dprintf.texi: Undo last commit.
25231         * doc/posix-functions/vdprintf.texi: Likewise.
25232
25233 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25234
25235         tests: port test-fdutimensat.c to Solaris 8
25236         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
25237         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
25238         On Solaris 8, it fails with errno == ENOSYS, because there is no
25239         futimens (so it can't use the fd), and there is no lutimens (so it
25240         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
25241
25242         vsnprintf: make more consistent with snprintf; doc fixes
25243
25244         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
25245         the byte count return problem was promoted from the snprintf-posix
25246         to the snprintf module.
25247         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
25248         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
25249         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
25250         * tests/test-snprintf.c (main): Check the byte count returned.
25251         * tests/test-vsnprintf.c (main): Likewise.
25252
25253 2010-12-23  Eric Blake  <eblake@redhat.com>
25254
25255         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
25256         * modules/sigpipe (License): Relax license.
25257
25258 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
25259
25260         doc: document Solaris printf bug with large float precisions
25261         * doc/posix-functions/dprintf.texi (dprintf):
25262         * doc/posix-functions/fprintf.texi (fprintf):
25263         * doc/posix-functions/printf.texi (printf):
25264         * doc/posix-functions/snprintf.texi (snprintf):
25265         * doc/posix-functions/sprintf.texi (sprintf):
25266         * doc/posix-functions/vdprintf.texi (vdprintf):
25267         * doc/posix-functions/vfprintf.texi (vfprintf):
25268         * doc/posix-functions/vprintf.texi (vprintf):
25269         * doc/posix-functions/vsnprintf.texi (vsnprintf):
25270         * doc/posix-functions/vsprintf.texi (vsprintf):
25271         Mention that these functions mishandle large floating point
25272         precisions on Solaris 10.  The same bug is also present in Solaris
25273         8, and I assume earlier.  This causes "cd gnulib-tests; make
25274         check" to fail on Solaris 8 (and I assume, later) when building
25275         the latest coreutils, in test-vasprintf-posix's call to
25276         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
25277         the wide flavors (e.g., wprintf) so this patch just updates the
25278         documentation for the narrow ones.
25279
25280         test-posixtm.c: add two tests
25281         * tests/test-posixtm.c: Add two tests, to highlight the
25282         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
25283         around this bug; this is merely to document it.
25284
25285 2010-12-22  Bruno Haible  <bruno@clisp.org>
25286
25287         getlogin_r: Work around portability problem on OSF/1.
25288         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
25289         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
25290         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
25291         test for a truncated result.
25292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
25293         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
25294         * modules/getlogin_r (Depends-on): Add memchr.
25295         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
25296
25297 2010-12-22  Bruno Haible  <bruno@clisp.org>
25298
25299         ptsname: Avoid test failure on OSF/1 5.1.
25300         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
25301         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
25302         (same_slave): New function.
25303         (main): Use it to compare ptsname's result with the expected file name.
25304
25305 2010-12-22  Bruno Haible  <bruno@clisp.org>
25306
25307         Port extended stdio modules to HP NonStop Kernel.
25308         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
25309         macros.
25310         * lib/fbufmode.c: Update comments.
25311         * lib/fflush.c: Likewise.
25312         * lib/fpurge.c: Likewise.
25313         * lib/freadable.c: Likewise.
25314         * lib/freadahead.c: Likewise.
25315         * lib/freading.c: Likewise.
25316         * lib/freadptr.c: Likewise.
25317         * lib/freadseek.c: Likewise.
25318         * lib/fseeko.c: Likewise.
25319         * lib/fseterr.c: Likewise.
25320         * lib/fwritable.c: Likewise.
25321         * lib/fwriting.c: Likewise.
25322         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25323
25324 2010-12-22  Bruno Haible  <bruno@clisp.org>
25325
25326         ttyname_r: Work around bug on OSF/1 5.1.
25327         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
25328         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
25329         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
25330         present.
25331         * lib/ttyname_r.c (ttyname_r): Update comments.
25332
25333 2010-12-22  Bruno Haible  <bruno@clisp.org>
25334
25335         round: Implement result sign according to IEEE 754.
25336         * lib/round.c (MIN, MINUS_ZERO): New macros.
25337         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
25338         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
25339         * tests/test-round-ieee.c (main): Likewise.
25340         * tests/test-roundl-ieee.c (main): Likewise.
25341
25342         trunc: Implement result sign according to IEEE 754.
25343         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
25344         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
25345         * tests/test-trunc2.c: Include minus-zero.h.
25346         (MINUS_ZERO): New macro.
25347         (trunc_reference): Keep in sync with lib/trunc.c.
25348         * tests/test-truncf2.c: Include minus-zero.h.
25349         (MINUS_ZERO): New macro.
25350         (truncf_reference): Keep in sync with lib/trunc.c.
25351         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
25352         * tests/test-trunc-ieee.c (main): Likewise.
25353         * tests/test-truncl-ieee.c (main): Likewise.
25354
25355         ceil: Implement result sign according to IEEE 754.
25356         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
25357         (FUNC): Return -0.0 for -1 < x < 0.
25358         * tests/test-ceil2.c: Include minus-zero.h.
25359         (MINUS_ZERO): New macro.
25360         (ceil_reference): Keep in sync with lib/ceil.c.
25361         * tests/test-ceilf2.c: Include minus-zero.h.
25362         (MINUS_ZERO): New macro.
25363         (ceilf_reference): Keep in sync with lib/ceil.c.
25364         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
25365         * tests/test-ceil-ieee.c (main): Likewise.
25366         * tests/test-ceill-ieee.c (main): Likewise.
25367
25368         floor: Implement result sign according to IEEE 754.
25369         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
25370         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
25371         * tests/test-floorf2.c (floorf_reference): Likewise.
25372         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
25373         * tests/test-floor-ieee.c (main): Likewise.
25374         * tests/test-floorl-ieee.c (main): Likewise.
25375
25376 2010-12-22  Bruno Haible  <bruno@clisp.org>
25377
25378         getaddrinfo: Update doc.
25379         * doc/posix-functions/gai_strerror.texi: Return type is also different
25380         on AIX and HP-UX.
25381
25382 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
25383
25384         getaddrinfo, inet_ntop: Update doc for Solaris.
25385         * doc/posix-functions/gai_strerror.texi: Return type is also an
25386         issue on Solaris 9 and earlier.
25387         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
25388         on Solaris 10 and earlier.
25389
25390 2010-12-21  Bruno Haible  <bruno@clisp.org>
25391
25392         New module 'roundl-ieee'.
25393         * modules/roundl-ieee: New file.
25394         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
25395         test whether roundl works according to ISO C 99 with IEC 60559.
25396         * m4/roundl-ieee.m4: New file.
25397         * modules/roundl-ieee-tests: New file.
25398         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
25399         * tests/test-roundl.c (main): Remove signbit tests.
25400         * modules/roundl-tests (Depends-on): Remove signbit.
25401         * doc/posix-functions/roundl.texi: Mention the new module.
25402
25403 2010-12-21  Bruno Haible  <bruno@clisp.org>
25404
25405         New module 'truncl-ieee'.
25406         * modules/truncl-ieee: New file.
25407         * modules/truncl-ieee-tests: New file.
25408         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
25409         * tests/test-truncl.c (main): Remove signbit tests.
25410         * modules/truncl-tests (Depends-on): Remove signbit.
25411         * doc/posix-functions/truncl.texi: Mention the new module.
25412
25413 2010-12-21  Bruno Haible  <bruno@clisp.org>
25414
25415         New module 'ceill-ieee'.
25416         * modules/ceill-ieee: New file.
25417         * modules/ceill-ieee-tests: New file.
25418         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
25419         * tests/test-ceill.c (main): Remove signbit tests.
25420         * modules/ceill-tests (Depends-on): Remove signbit.
25421         * doc/posix-functions/ceill.texi: Mention the new module.
25422
25423 2010-12-21  Bruno Haible  <bruno@clisp.org>
25424
25425         New module 'floorl-ieee'.
25426         * modules/floorl-ieee: New file.
25427         * modules/floorl-ieee-tests: New file.
25428         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
25429         * tests/test-floorl.c (main): Remove signbit tests.
25430         * modules/floorl-tests (Depends-on): Remove signbit.
25431         * doc/posix-functions/floorl.texi: Mention the new module.
25432
25433 2010-12-21  Bruno Haible  <bruno@clisp.org>
25434
25435         New module 'round-ieee'.
25436         * modules/round-ieee: New file.
25437         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
25438         whether round works according to ISO C 99 with IEC 60559.
25439         * m4/round-ieee.m4: New file.
25440         * modules/round-ieee-tests: New file.
25441         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
25442         * tests/test-round1.c (main): Remove signbit tests.
25443         * modules/round-tests (Depends-on): Remove 'signbit'.
25444         * doc/posix-functions/round.texi: Mention the new module.
25445
25446 2010-12-21  Bruno Haible  <bruno@clisp.org>
25447
25448         New module 'trunc-ieee'.
25449         * modules/trunc-ieee: New file.
25450         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
25451         whether trunc works according to ISO C 99 with IEC 60559.
25452         * m4/trunc-ieee.m4: New file.
25453         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
25454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
25455         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
25456         * modules/trunc-ieee-tests: New file.
25457         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
25458         * tests/test-trunc1.c (main): Remove signbit tests.
25459         * modules/trunc-tests (Depends-on): Remove 'signbit'.
25460         * doc/posix-functions/trunc.texi: Mention the new module.
25461
25462 2010-12-21  Bruno Haible  <bruno@clisp.org>
25463
25464         New module 'ceil-ieee'.
25465         * modules/ceil-ieee: New file.
25466         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
25467         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
25468         ISO C 99 with IEC 60559.
25469         * m4/ceil-ieee.m4: New file.
25470         * modules/ceil (Files): Add lib/ceil.c.
25471         (Depends-on): Add 'float'.
25472         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
25473         * lib/math.in.h (ceil): New declaration.
25474         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
25475         REPLACE_CEIL.
25476         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
25477         * modules/ceil-ieee-tests: New file.
25478         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
25479         * tests/test-math-c++.cc: Check the signature of 'ceil'.
25480         * doc/posix-functions/ceil.texi: Mention the new module.
25481
25482 2010-12-21  Bruno Haible  <bruno@clisp.org>
25483
25484         New module 'floor-ieee'.
25485         * modules/floor-ieee: New file.
25486         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
25487         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
25488         ISO C 99 with IEC 60559.
25489         * m4/floor-ieee.m4: New file.
25490         * modules/floor (Files): Add lib/floor.c.
25491         (Depends-on): Add 'float'.
25492         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
25493         * lib/math.in.h (floor): New declaration.
25494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
25495         REPLACE_FLOOR.
25496         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
25497         * modules/floor-ieee-tests: New file.
25498         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
25499         * tests/test-math-c++.cc: Check the signature of 'floor'.
25500         * doc/posix-functions/floor.texi: Mention the new module.
25501
25502 2010-12-21  Bruno Haible  <bruno@clisp.org>
25503
25504         New module 'roundf-ieee'.
25505         * modules/roundf-ieee: New file.
25506         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
25507         test whether roundf works according to ISO C 99 with IEC 60559.
25508         * m4/roundf-ieee.m4: New file.
25509         * modules/roundf-ieee-tests: New file.
25510         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
25511         * tests/test-roundf1.c (main): Remove signbit tests.
25512         * modules/roundf-tests (Depends-on): Remove 'signbit'.
25513         * doc/posix-functions/roundf.texi: Mention the new module.
25514
25515 2010-12-21  Bruno Haible  <bruno@clisp.org>
25516
25517         New module 'truncf-ieee'.
25518         * modules/truncf-ieee: New file.
25519         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
25520         test whether truncf works according to ISO C 99 with IEC 60559.
25521         * m4/truncf-ieee.m4: New file.
25522         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
25523         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
25524         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
25525         * modules/truncf-ieee-tests: New file.
25526         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
25527         * tests/test-truncf1.c (main): Remove signbit tests.
25528         * modules/truncf-tests (Depends-on): Remove 'signbit'.
25529         * doc/posix-functions/truncf.texi: Mention the new module.
25530
25531 2010-12-21  Bruno Haible  <bruno@clisp.org>
25532
25533         New module 'ceilf-ieee'.
25534         * modules/ceilf-ieee: New file.
25535         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
25536         test whether ceilf works according to ISO C 99 with IEC 60559.
25537         * m4/ceilf-ieee.m4: New file.
25538         * modules/ceilf-ieee-tests: New file.
25539         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
25540         * tests/test-ceilf1.c (main): Remove signbit tests.
25541         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
25542         * doc/posix-functions/ceilf.texi: Mention the new module.
25543
25544 2010-12-21  Bruno Haible  <bruno@clisp.org>
25545
25546         New module 'floorf-ieee'.
25547         * modules/floorf-ieee: New file.
25548         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
25549         test whether floorf works according to ISO C 99 with IEC 60559.
25550         * m4/floorf-ieee.m4: New file.
25551         * modules/floorf-ieee-tests: New file.
25552         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
25553         * tests/test-floorf1.c (main): Remove signbit tests.
25554         * modules/floorf-tests (Depends-on): Remove 'signbit'.
25555         * doc/posix-functions/floorf.texi: Mention the new module.
25556
25557 2010-12-21  Bruno Haible  <bruno@clisp.org>
25558
25559         Support for minus zero in autoconf macros.
25560         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
25561         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
25562         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
25563         * tests/minus-zero.h: Update comments.
25564
25565 2010-12-21  Bruno Haible  <bruno@clisp.org>
25566
25567         Tests for module 'ceil'.
25568         * modules/ceil-tests: New file.
25569         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
25570         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
25571
25572 2010-12-21  Bruno Haible  <bruno@clisp.org>
25573
25574         Tests for module 'floor'.
25575         * modules/floor-tests: New file.
25576         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
25577         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
25578
25579 2010-12-21  Bruno Haible  <bruno@clisp.org>
25580
25581         math: Fix indentation.
25582         * lib/math.in.h (floorf): Fix indentation.
25583
25584 2010-12-21  Bruno Haible  <bruno@clisp.org>
25585
25586         Fix cross-compilation guesses on Solaris.
25587         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
25588         not match "solaris2.10".
25589         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25590         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
25591         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
25592
25593 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
25594
25595         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
25596         This fixes a problem observed with the latest coreutils snapshot
25597         that caused a test to fail on Solaris 8.  src/csplit.c's call
25598         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
25599         earlier, instead of returning the number of bytes that would have
25600         been generated; this causes csplit to incorrectly report memory
25601         exhaustion.
25602         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
25603         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
25604         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
25605         comments to match.
25606         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
25607         Fix typo in matching older versions of Solaris: "solaris2.10"
25608         is matched by the shell pattern "solaris2.[0-9]*".  This matters
25609         only for guessing while cross-compiling.
25610         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
25611
25612 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25613
25614         ftoastr: fix comment again
25615         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25616         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
25617         Also, simplify example a bit by using flags = 0.
25618
25619 2010-12-20  Bruno Haible  <bruno@clisp.org>
25620
25621         round*, trunc*: Update documentation regarding glibc.
25622         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
25623         * doc/posix-functions/round.texi: Likewise.
25624         * doc/posix-functions/roundl.texi: Likewise.
25625         * doc/posix-functions/truncf.texi: Likewise.
25626         * doc/posix-functions/trunc.texi: Likewise.
25627         * doc/posix-functions/truncl.texi: Likewise.
25628
25629 2010-12-20  Bruno Haible  <bruno@clisp.org>
25630
25631         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
25632         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
25633         * doc/posix-functions/round.texi: Likewise.
25634         * doc/posix-functions/roundl.texi: Likewise.
25635
25636 2010-12-20  Bruno Haible  <bruno@clisp.org>
25637
25638         ttyname_r: Add missing declaration on HP-UX 11.
25639         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
25640         HAVE_TTYNAME_R.
25641         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
25642         declared. Set HAVE_TTYNAME_R always.
25643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25644         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
25645         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
25646         HAVE_TTYNAME_R.
25647         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
25648
25649 2010-12-20  Bruno Haible  <bruno@clisp.org>
25650
25651         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
25652         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
25653         * doc/posix-functions/getlogin_r.texi: Likewise.
25654         * tests/test-getlogin.c: Include <errno.h>.
25655         (main): Avoid test failure on HP-UX 11.11.
25656         * tests/test-getlogin_r.c (main): Likewise.
25657
25658 2010-12-20  Bruno Haible  <bruno@clisp.org>
25659
25660         getlogin_r: Add missing declaration on HP-UX 11.
25661         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
25662         declared also when it exists as a function.
25663         * doc/posix-functions/getlogin_r.texi: Document this workaround.
25664
25665 2010-12-20  Bruno Haible  <bruno@clisp.org>
25666
25667         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
25668         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
25669         through wcrtomb.
25670
25671 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25672
25673         ftoastr: fix comment
25674         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25675         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
25676
25677 2010-12-19  Bruno Haible  <bruno@clisp.org>
25678
25679         isnan: Ensure it is a macro.
25680         * lib/math.in.h (isnan): Define as a macro if not already a macro.
25681         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
25682         Solaris.
25683
25684 2010-12-19  Bruno Haible  <bruno@clisp.org>
25685
25686         ldexpl test: Fix link error on OSF/1 5.1.
25687         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
25688
25689 2010-12-19  Bruno Haible  <bruno@clisp.org>
25690
25691         wctype: Make it work in C++ mode on OSF/1 5.1.
25692         * lib/wctype.in.h (iswblank): Declare but not define here.
25693         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
25694         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
25695         * modules/wctype (Files): Add lib/iswblank.c.
25696
25697 2010-12-19  Bruno Haible  <bruno@clisp.org>
25698
25699         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
25700         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
25701         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
25702
25703 2010-12-19  Bruno Haible  <bruno@clisp.org>
25704
25705         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
25706         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
25707         _POSIX_PII_SOCKET.
25708         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
25709         * doc/posix-functions/recvfrom.texi: Likewise.
25710         * doc/posix-functions/send.texi: Likewise.
25711         * doc/posix-functions/sendto.texi: Likewise.
25712
25713 2010-12-19  Bruno Haible  <bruno@clisp.org>
25714
25715         tcgetsid: Add missing declaration on OSF/1 5.1.
25716         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
25717         HAVE_TCGETSID.
25718         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
25719         Don't set HAVE_TCGETSID.
25720         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
25721         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
25722         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
25723         HAVE_TCGETSID.
25724         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
25725
25726 2010-12-19  Bruno Haible  <bruno@clisp.org>
25727
25728         stdio: Fix problem with popen() declaration on OSF/1 5.1.
25729         * lib/stdio.in.h: During the include_next statement, let recursive
25730         includes of this file include only the system header file.
25731
25732 2010-12-19  Bruno Haible  <bruno@clisp.org>
25733
25734         iconv_open: Fix regression from 2010-12-04.
25735         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
25736         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
25737
25738 2010-12-19  Bruno Haible  <bruno@clisp.org>
25739
25740         stdbool test: Avoid a gcc warning.
25741         * tests/test-stdbool.c (main): Fail if e1 is false.
25742         Reported by Jim Meyering.
25743
25744 2010-12-19  Jim Meyering  <meyering@redhat.com>
25745
25746         setenv: restore to working order
25747         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
25748         mistakenly removed.
25749         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
25750         HAVE_SETENV.
25751         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
25752         HAVE_SETENV.
25753
25754 2010-12-19  Bruno Haible  <bruno@clisp.org>
25755
25756         Document some different function declarations on OSF/1 5.1.
25757         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
25758         * doc/posix-functions/inet_ntop.texi: Likewise.
25759         * doc/posix-functions/gethostname.texi: Likewise.
25760         * lib/unistd.in.h (gethostname): Update comment.
25761
25762 2010-12-19  Bruno Haible  <bruno@clisp.org>
25763
25764         doc: Mention vasprintf-posix module.
25765         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
25766         the 'vasprintf-posix' module.
25767         * doc/glibc-functions/vasprintf.texi: Likewise.
25768
25769 2010-12-19  Bruno Haible  <bruno@clisp.org>
25770
25771         unsetenv: Add missing declaration on OSF/1 5.1.
25772         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
25773         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
25774         Don't set HAVE_UNSETENV. In the test program, set _BSD.
25775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
25776         not HAVE_UNSETENV.
25777         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
25778         HAVE_UNSETENV.
25779         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
25780
25781 2010-12-19  Bruno Haible  <bruno@clisp.org>
25782
25783         setenv: Add missing declaration on OSF/1 5.1.
25784         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
25785         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
25786         declared. Don't set HAVE_SETENV.
25787         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
25788         not HAVE_SETENV.
25789         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
25790         HAVE_SETENV.
25791         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
25792
25793 2010-12-19  Bruno Haible  <bruno@clisp.org>
25794
25795         nl_langinfo tests: Avoid gcc warning.
25796         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
25797
25798 2010-12-19  Bruno Haible  <bruno@clisp.org>
25799
25800         mknod: Avoid error in C++ mode on OSF/1 with GCC.
25801         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
25802         _GL_CXXALIAS_SYS.
25803
25804 2010-12-19  Bruno Haible  <bruno@clisp.org>
25805
25806         stdbool: Relax test.
25807         * tests/test-stdbool.c (e): Don't require that casts from a variable's
25808         address to 'bool' work in static initializer, for compilers other than
25809         GCC.
25810
25811 2010-12-19  Bruno Haible  <bruno@clisp.org>
25812
25813         ftello: Add missing declaration on OSF/1 5.1.
25814         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
25815         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
25816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
25817         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
25818         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
25819
25820 2010-12-19  Bruno Haible  <bruno@clisp.org>
25821
25822         fseeko: Add missing declaration on OSF/1 5.1.
25823         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
25824         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
25825         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
25826         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
25827         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
25828
25829 2010-12-19  Bruno Haible  <bruno@clisp.org>
25830
25831         fchdir: Add missing declaration on OSF/1 5.1.
25832         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
25833         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
25834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
25835         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
25836         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
25837
25838 2010-12-19  Bruno Haible  <bruno@clisp.org>
25839
25840         relocatable-prog-wrapper: Separate from relocatable-prog.
25841         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
25842         uninstall-relocwrapper rule here.
25843         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
25844         Reported by Ian Beckwith <ianb@erislabs.net>.
25845
25846 2010-12-19  Bruno Haible  <bruno@clisp.org>
25847
25848         unistr/u8-mbsnlen: Add missing dependency.
25849         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
25850         Reported by Ian Beckwith <ianb@erislabs.net>.
25851
25852 2010-12-19  Bruno Haible  <bruno@clisp.org>
25853
25854         iconv: Make it possible again to use this module without 'iconv-h'.
25855         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
25856         if it is not defined.
25857         Reported by Ian Beckwith <ianb@erislabs.net>.
25858
25859 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25860
25861         acl: port to Solaris 8 when copying from tmpfs to ufs
25862         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
25863         error number.  Problem observed on Solaris 8 with latest
25864         coreutils, with "mv A B", where A is on a tmpfs file system and B
25865         is on a ufs file system.  This caused coreutils' mv/part-symlink
25866         test to fail.
25867
25868         tests: set fail=0 at start
25869         * tests/init.sh (setup_): Move fail=0 initialization here ...
25870         (mktempd_): ... from here, so that tests can rely on fail being
25871         set to 0 initially.  This fixes a problem in coreutils; see:
25872         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
25873
25874 2010-12-18  Bruno Haible  <bruno@clisp.org>
25875
25876         memmem-simple: Stylistic changes.
25877         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
25878         Fix preprocessor directive indentation.
25879
25880 2010-12-15  Pádraig Brady <P@draigBrady.com>
25881
25882         memmem, memmem-simple: reorganize and expand empty needle check
25883         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
25884         functional checks to memmem-simple so that one has a fully functional
25885         memmem by using just this module.
25886         Restrict the performance only check to the memmem module.
25887         Also expand the empty needle check to ensure the correct
25888         pointer is returned, not just a non NULL pointer.
25889         * doc/glibc-functions/memmem.texi: Rearrange the portability
25890         documentation to correlate with the rearranged checks.
25891         Clarify exactly how the memmem and memmem-simple modules
25892         relate to each other.
25893
25894 2010-12-15  Pádraig Brady <P@draigBrady.com>
25895             Bruno Haible  <bruno@clisp.org>
25896
25897         Improve cross-compilation guesses for uClibc.
25898         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
25899         that uClibc does not have the glibc bug.
25900         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
25901         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
25902
25903 2010-12-14  Eric Blake  <eblake@redhat.com>
25904
25905         configmake: provide fallbacks for oldest supported autotools
25906         * m4/configmake.m4: New file.
25907         * modules/configmake (Files): Ship it.
25908         (configure.ac): Use it to guarantee fallbacks.
25909
25910 2010-12-13  Pádraig Brady <P@draigBrady.com>
25911
25912         read-file: Improve handling of large files
25913         * lib/read-file.c (fread_file): Minimize realloc()s
25914         for regular files, and better manage sizes around SIZE_MAX.
25915
25916 2010-12-13  Eric Blake  <eblake@redhat.com>
25917
25918         cloexec, fcntl: relax license
25919         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
25920         consent from all contributors.
25921         * modules/fcntl (License): Likewise.
25922
25923 2010-12-10  Bruno Haible  <bruno@clisp.org>
25924
25925         Tests for module 'pipe-posix'.
25926         * modules/pipe-posix-tests: New file.
25927         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
25928
25929 2010-12-10  Bruno Haible  <bruno@clisp.org>
25930
25931         pipe-posix: Make it work in C++ mode.
25932         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
25933         (pipe): Use common idiom, not a macro definition.
25934         * lib/pipe.c: New file.
25935         * m4/pipe.m4: New file.
25936         * modules/pipe-posix (Description): Enhance.
25937         (Files): Add lib/pipe.c, m4/pipe.m4.
25938         (configure.ac): Invoke gl_FUNC_PIPE.
25939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
25940         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
25941         * tests/test-unistd-c++.cc: Check the signature of pipe.
25942
25943 2010-12-10  Bruno Haible  <bruno@clisp.org>
25944
25945         Rename module 'pipe' to 'spawn-pipe'.
25946         * modules/spawn-pipe: New file, renamed from modules/pipe.
25947         (Files, configure.ac, Makefile.am): Update.
25948         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25949         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25950         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25951         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25952         "spawn-pipe.h" instead of "pipe.h".
25953         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25954         to gl_SPAWN_PIPE.
25955         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25956         (Files, Makefile.am): Update.
25957         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25958         Update.
25959         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25960         Include "spawn-pipe.h" instead of "pipe.h".
25961         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25962         * lib/javacomp.c: Likewise.
25963         * lib/javaversion.c: Likewise.
25964         * lib/pipe-filter-gi.c: Likewise.
25965         * lib/pipe-filter-ii.c: Likewise.
25966         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25967         * modules/javacomp (Depends-on): Likewise.
25968         * modules/javaversion (Depends-on): Likewise.
25969         * modules/pipe-filter-gi (Depends-on): Likewise.
25970         * modules/pipe-filter-ii (Depends-on): Likewise.
25971         * MODULES.html.sh (Executing programs): Update.
25972         * NEWS: Mention the change.
25973
25974 2010-12-10  Eric Blake  <eblake@redhat.com>
25975
25976         pipe-posix: new module
25977         * modules/pipe-posix: New file.
25978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25979         (gl_UNISTD_H): Check for declaration.
25980         * modules/unistd (Makefile.am): Substitute it.
25981         * lib/unistd.in.h (pipe): Provide it for mingw.
25982         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25983         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25984
25985 2010-12-07  Bruno Haible  <bruno@clisp.org>
25986
25987         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25988         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25989         u8_strcmp_gnu.
25990         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25991
25992 2010-12-06  Bruno Haible  <bruno@clisp.org>
25993
25994         Update internal documentation.
25995         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25996
25997 2010-12-04  Bruno Haible  <bruno@clisp.org>
25998
25999         Put more information about failed tests into the test return codes.
26000         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
26001         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
26002         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
26003         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
26004         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
26005         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26006         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26007         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26008         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
26009         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26010         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
26011         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26012         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
26013         * m4/stdint.m4 (gl_STDINT_H): Likewise.
26014         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
26015         returns a bit mask.
26016         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
26017         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
26018         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
26019         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
26020         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26021         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26022         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26023         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26024         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26025         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26026         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26027         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26028         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26029         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26030         * m4/link.m4 (gl_FUNC_LINK): Likewise.
26031         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
26032         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
26033         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
26034         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26035         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
26036         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26037         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26038         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
26039         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
26040         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26041         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26042         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
26043         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26044         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26045         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
26046         gl_PRINTF_PRECISION): Likewise.
26047         * m4/regex.m4 (gl_REGEX): Likewise.
26048         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26049         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
26050         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
26051         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26052         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26053         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26054         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
26055         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
26056         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26057         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
26058         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
26059         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26060         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26061         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
26062         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
26063         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26064         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26065         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26067         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
26068         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
26069         enumerated value.
26070         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
26071
26072 2010-12-04  Bruno Haible  <bruno@clisp.org>
26073
26074         Update for Solaris 11 2010-11.
26075         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
26076         Express, released in November 2010.
26077
26078 2010-12-04  Bruno Haible  <bruno@clisp.org>
26079
26080         nproc: Relax license.
26081         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
26082         and Paul Eggert.
26083         Requested by Ludovic Courtès <ludo@gnu.org>.
26084
26085 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
26086
26087         utimecmp: fine-grained src to nearby coarse-grained dest
26088
26089         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
26090         and the source is on a file system with higher-resolution time
26091         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
26092         not work, and the time stamps are close together, the algorithm to
26093         determine the exact resolution from the read-back mtime was buggy:
26094         it had a "!=" where it should have had an "==".  This bug has been
26095         in the code ever since it was introduced to gnulib.
26096         Problem reported by Dan Jacobson in
26097         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
26098
26099 2010-11-30  Bruno Haible  <bruno@clisp.org>
26100
26101         strerror_r-posix: Fix autoconf test.
26102         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
26103
26104 2010-11-28  Bruno Haible  <bruno@clisp.org>
26105             Paul Eggert  <eggert@cs.ucla.edu>
26106
26107         Tests for module 'getdomainname'.
26108         * modules/getdomainname-tests: New file.
26109         * tests/test-getdomainname.c: New file, based on
26110         tests/test-gethostname.c.
26111
26112 2010-11-28  Bruno Haible  <bruno@clisp.org>
26113             Paul Eggert  <eggert@cs.ucla.edu>
26114
26115         getdomainname: Use the system function when possible.
26116         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
26117         (getdomainname): Replace if needed. Provide the declaration if it is
26118         missing. Don't use _GL_CXXALIAS_SYS_CAST.
26119         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
26120         (getdomainname): When the system has getdomainname, call the system
26121         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
26122         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
26123         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
26124         found in libnsl. Look for the declaration also in <netdb.h>. Replace
26125         the function if its second argument is of type 'int' or if it is found
26126         in libnsl.
26127         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
26128         <sys/systeminfo.h> and sysinfo().
26129         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
26130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26131         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
26132         HAVE_GETDOMAINNAME.
26133         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
26134         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
26135         * doc/glibc-functions/getdomainname.texi: Document the problems with
26136         the getdomainname declaration.
26137
26138 2010-11-28  Bruno Haible  <bruno@clisp.org>
26139
26140         sys_socket: Ensure ss_family field on AIX.
26141         * lib/sys_socket.in.h (ss_family): New macro definition.
26142         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
26143         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
26144         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26145         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
26146         * modules/sys_socket (Makefile.am): Substitute
26147         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
26148         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
26149
26150 2010-11-27  Bruno Haible  <bruno@clisp.org>
26151
26152         readline: Improve configure output.
26153         * m4/readline.m4 (gl_FUNC_READLINE): Make the
26154         "checking for readline..." result understandable.
26155
26156 2010-11-27  Bruno Haible  <bruno@clisp.org>
26157
26158         *printf-posix: Detect a bug on Solaris 10/x86.
26159         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
26160         for floating-point output.
26161         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
26162         directive.
26163         * tests/test-snprintf-posix.h (test_function): Likewise.
26164         * tests/test-sprintf-posix.h (test_function): Likewise.
26165         * tests/test-vasprintf-posix.c (test_function): Likewise.
26166         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
26167         * doc/posix-functions/printf.texi: Likewise.
26168         * doc/posix-functions/snprintf.texi: Likewise.
26169         * doc/posix-functions/sprintf.texi: Likewise.
26170         * doc/posix-functions/vfprintf.texi: Likewise.
26171         * doc/posix-functions/vprintf.texi: Likewise.
26172         * doc/posix-functions/vsnprintf.texi: Likewise.
26173         * doc/posix-functions/vsprintf.texi: Likewise.
26174         * doc/glibc-functions/obstack_printf.texi: Likewise.
26175         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
26176
26177 2010-11-27  Bruno Haible  <bruno@clisp.org>
26178
26179         Fix link error when module libunistring-optional is in use.
26180         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
26181         * modules/striconveha-tests (Makefile.am): Likewise.
26182
26183 2010-11-27  Bruno Haible  <bruno@clisp.org>
26184
26185         regex: Mention link dependencies.
26186         * modules/regex (Link): New section.
26187         * modules/rpmatch (Link): Likewise.
26188         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
26189
26190 2010-11-27  Bruno Haible  <bruno@clisp.org>
26191
26192         ftoastr: Fix compilation error on Solaris.
26193         * lib/ftoastr.c: Include <config.h>.
26194
26195 2010-11-27  Bruno Haible  <bruno@clisp.org>
26196
26197         getloadavg: Update documentation.
26198         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
26199
26200 2010-11-27  Bruno Haible  <bruno@clisp.org>
26201
26202         sys_socket: Fix test whether the functions are declared.
26203         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
26204         not <sys/select.h>.
26205
26206 2010-11-27  Bruno Haible  <bruno@clisp.org>
26207
26208         getpass: Make sure to get system declaration on some platforms.
26209         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
26210         gl_USE_SYSTEM_EXTENSIONS.
26211         * modules/getpass (Depends-on): Add extensions.
26212
26213 2010-11-26  Bruno Haible  <bruno@clisp.org>
26214
26215         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
26216         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
26217         'iconv' module is present.
26218         (ICONV_CONST): New macro.
26219         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
26220         ICONV_CONST.
26221         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
26222         set ICONV_CONST.
26223         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
26224         here.
26225         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
26226         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
26227         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
26228         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
26229         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
26230         present.
26231
26232 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26233
26234         ftoastr: comment fix
26235         * lib/ftoastr.c: "little" -> "little or no" in comment
26236
26237 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
26238
26239         stdint: port to GCC 4.3 + OSX + Octave
26240         On this platform, stdint.h is buggy and defines int64_t to long
26241         long int.  The replacement defined it to long int, causing
26242         problems with C++ style name mangling.  Instead, trust the system
26243         definition if INT64_MAX is defined, and likewise for the unsigned
26244         variant.   Problem reported by Jarno Rajahalme in
26245         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
26246         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
26247         and don't mess with int64_t and INT64_MAX in this case.
26248         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
26249
26250 2010-11-24  Bruno Haible  <bruno@clisp.org>
26251
26252         doc: Corrections regarding MacOS X 10.4 and 10.5.
26253         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
26254         MacOS X.
26255         Reported by Simon Josefsson.
26256
26257 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
26258
26259         Uninstall ".bin" files installed by relocwrapper.
26260         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
26261         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
26262         unless it is already there.
26263
26264 2010-11-21  Bruno Haible  <bruno@clisp.org>
26265
26266         Update for NetBSD 5.0.
26267         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
26268         NetBSD; the test fails on NetBSD 5.0.
26269         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
26270         about NetBSD.
26271
26272 2010-11-21  Bruno Haible  <bruno@clisp.org>
26273
26274         Update for HP-UX 11.23 and HP-UX 11.31.
26275         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
26276         HP-UX.
26277
26278 2010-11-21  Bruno Haible  <bruno@clisp.org>
26279
26280         Update for MacOS X 10.5.
26281         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
26282         MacOS X; the test fails on MacOS X 10.5.8.
26283         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
26284         about MacOS X.
26285
26286 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
26287
26288         bootstrap: add bootstrap_sync option.
26289         See discussion at
26290         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
26291         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
26292         * build-aux/bootstrap: Accept --bootstrap-sync to update
26293         bootstrap if it is not identical to the local gnulib's
26294         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
26295         enable this by default.  Accept --no-bootstrap-sync to disable
26296         it.
26297
26298 2010-11-20  Bruno Haible  <bruno@clisp.org>
26299
26300         Ensure that <features.h> is included before __GLIBC__ is tested.
26301         * lib/printf-parse.h: Include <features.h>.
26302         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
26303         Reported by Mike Frysinger <vapier@gentoo.org>.
26304
26305         Ensure that <features.h> is included before __GLIBC__ is tested.
26306         * lib/wchar.in.h: Include <features.h>.
26307         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
26308         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
26309         Reported by Mike Frysinger <vapier@gentoo.org>.
26310
26311         Ensure that <features.h> is included before __GLIBC__ is tested.
26312         * lib/arpa_inet.in.h: Include <features.h>.
26313         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
26314         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
26315         Reported by Mike Frysinger <vapier@gentoo.org>.
26316
26317         Ensure that <features.h> is included before __GLIBC__ is tested.
26318         * build-aux/link-warning.h: Include <features.h>.
26319         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
26320         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
26321         Reported by Mike Frysinger <vapier@gentoo.org>.
26322
26323         Ensure that <features.h> is included before __GLIBC__ is tested.
26324         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
26325         Reported by Mike Frysinger <vapier@gentoo.org>.
26326
26327 2010-11-20  Bruno Haible  <bruno@clisp.org>
26328
26329         memmem: Fix autoconf test.
26330         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
26331
26332 2010-11-20  Bruno Haible  <bruno@clisp.org>
26333
26334         Port to uClibc.
26335         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
26336         * lib/fcntl.in.h: Likewise.
26337         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
26338         * lib/mbrtowc.c (mbrtowc): Likewise.
26339         * lib/relocatable.c (find_shared_library_fullname): Likewise.
26340         * lib/strerror_r.c: Likewise.
26341         * lib/unistr/u8-strnlen.c: Likewise.
26342         * lib/vasnprintf.c (decimal_point_char): Likewise.
26343         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26344         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26345         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26346         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
26347         * tests/test-sigaction.c (handler, main): Likewise.
26348         * lib/freading.h: Treat uClibc like a non-glibc platform.
26349         * lib/freading.c: Likewise.
26350         * lib/gettext.h: Likewise.
26351         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
26352         Likewise.
26353         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
26354         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
26355         * lib/propername.c (proper_name_utf8): Likewise.
26356         * lib/spawn.in.h: Likewise.
26357         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
26358         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
26359         mem_cd_iconveh_internal): Likewise.
26360         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
26361         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
26362         strstr, strcasestr): Likewise.
26363         * lib/unicodeio.c (unicode_to_mb): Likewise.
26364         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
26365         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
26366         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
26367         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
26368         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
26369         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
26370         * lib/unistr/u8-stpncpy.c: Likewise.
26371         * lib/vasnprintf.c (VASNPRINTF): Likewise.
26372         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
26373         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26374         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26375         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
26376         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
26377         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
26378         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
26379         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
26380         Likewise.
26381         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26382         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
26383         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
26384         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26385         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26386         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26387         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
26388         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
26389         * tests/test-getopt.h (OPTIND_MIN): Likewise.
26390         * tests/test-striconveha.c (main): Likewise.
26391         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26392         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
26393         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
26394         * doc/posix-functions/getline.texi: Likewise.
26395         Reported by Mike Frysinger <vapier@gentoo.org>.
26396
26397 2010-11-20  Bruno Haible  <bruno@clisp.org>
26398
26399         nproc: Fix condition.
26400         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
26401         HAVE_PTHREAD_AFFINITY_NP.
26402
26403 2010-11-20  Bruno Haible  <bruno@clisp.org>
26404
26405         Fix a comment.
26406         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
26407
26408 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
26409
26410         ftoastr: don't assume snprintf
26411         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
26412         Implement a subset of snprintf here, by using sprintf safely.
26413         * modules/ftoastr (Depends-on): Remove snprintf.
26414
26415 2010-11-19  Jim Meyering  <meyering@redhat.com>
26416
26417         test-rename.h: fix compilation failure
26418         * tests/test-rename.h (test_rename): Add omitted "}".
26419
26420 2010-11-17  Jim Meyering  <meyering@redhat.com>
26421
26422         maint.mk: add a URL discussing the no-@acronym policy
26423         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
26424
26425 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
26426
26427         ftoastr: depend on snprintf, improve comments
26428         * lib/ftoastr.c: Also mention Loitsch's draft.
26429         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
26430         needed in the current implementation, but it might simplify
26431         speeding up the code later.
26432         * modules/ftoastr: Depend on snprintf; this improves portability.
26433         Suggested by Bruno Haible in the same email.
26434
26435         ftoastr: port to hosts lacking strtof and strtold
26436         Problem reported by Bruno Haible in
26437         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
26438         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
26439         environment and strtold (and presumably strtof) are not available.
26440         * modules/ftoastr (Files): Add m4/c-strtod.m4.
26441         (configure.ac): Require gl_C99_STRTOLD.
26442
26443 2010-11-18  Bruno Haible  <bruno@clisp.org>
26444
26445         c-strtold: Avoid link error on AIX 7.
26446         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
26447         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
26448         (gl_C_STRTOLD): Test whether strtold_l exists.
26449         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26450
26451 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26452
26453         intprops: new macro INT_BITS_STRLEN_BOUND
26454         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
26455         ftoastr.h.  This exposes an internal of intprops.h that was formerly
26456         not exposed.  Also, it uses a slightly tighter bound than before;
26457         though this makes no practical difference, we might as well be as
26458         tight as we easily can.
26459
26460         ftoastr: new module, for lossless conversion of floats to short strings
26461         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
26462         * modules/ftoastr: New files.
26463
26464 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
26465
26466         bootstrap: port to Solaris sed
26467         * build-aux/bootstrap (get_version): Port to Solaris sed.
26468         See Ralf Wildenhues's note in
26469         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
26470
26471 2010-11-14  Jim Meyering  <meyering@redhat.com>
26472
26473         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
26474         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
26475         and move definition closer to sole use.
26476
26477 2010-11-13  Jim Meyering  <meyering@redhat.com>
26478
26479         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
26480         Now we require at least autoconf-2.59, which means the work-around
26481         is no longer needed.
26482         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
26483         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26484         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
26485         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
26486         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
26487
26488 2010-11-13  Bruno Haible  <bruno@clisp.org>
26489
26490         rename, renameat: Avoid test failures at NFS mounted locations.
26491         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
26492         functions.
26493         (test_rename): Use assert_nonexistent.
26494         * tests/test-rename.c: Include <dirent.h>.
26495         * tests/test-renameat.c: Likewise.
26496         Reported by Gary V. Vaughan <gary@gnu.org>.
26497
26498         rename, renameat: Document Linux bug with NFS
26499         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
26500         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
26501         * doc/posix-functions/renameat.texi: Likewise.
26502         Suggested by Eric Blake.
26503
26504 2010-11-13  Bruno Haible  <bruno@clisp.org>
26505
26506         rename test: Add comments.
26507         * tests/test-rename.h (test_rename): Add structure and comments.
26508
26509 2010-11-13  Eric Blake  <eblake@redhat.com>
26510
26511         maintainer-makefile: cover a few more files
26512         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
26513         scripts generated within C files, for libvirt.
26514
26515 2010-11-13  Bruno Haible  <bruno@clisp.org>
26516
26517         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
26518         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
26519         character, return the number of bytes that belong together, not always
26520         1.
26521         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26522         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26523         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26524         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
26525         number of bytes of an invalid character.
26526         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
26527         (main): Invoke it.
26528         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
26529         results.
26530         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
26531         malformed byte sequences.
26532         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
26533         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
26534         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
26535         Reported by Ben Pfaff and Paolo Bonzini.
26536
26537 2010-11-13  Bruno Haible  <bruno@clisp.org>
26538
26539         openat: Work around glibc bug with fchownat() and empty file names.
26540         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
26541         (gl_FUNC_FCHOWNAT): Invoke it.
26542         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
26543         * doc/posix-functions/fchownat.texi: Document the glibc bug.
26544         Reported by Gary V. Vaughan <gary@gnu.org>.
26545
26546 2010-11-13  Bruno Haible  <bruno@clisp.org>
26547
26548         openat: Ensure autoconf macro ordering.
26549         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
26550         gl_USE_SYSTEM_EXTENSIONS.
26551         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
26552
26553 2010-11-13  Bruno Haible  <bruno@clisp.org>
26554
26555         Update comments.
26556         * lib/unistr/u8-check.c: Update file name in comments.
26557         * lib/unistr/u8-mblen.c: Likewise.
26558         * lib/unistr/u8-prev.c: Likewise.
26559         * lib/unistr/u8-strmblen.c: Likewise.
26560         * lib/unistr/u8-strmbtouc.c: Likewise.
26561
26562 2010-11-13  Jim Meyering  <meyering@redhat.com>
26563
26564         tests: avoid test failure on Solaris 10 due to lack of PATH export
26565         * tests/test-update-copyright.sh: Don't forget to export PATH.
26566
26567         init.sh: ensure that IFS is defined, just in case...
26568         * tests/init.sh (setup_): Ensure that IFS is defined,
26569         so that saving and restoring it works as expected.  This
26570         appears to be useful at least for an old version of dash
26571         from a long time ago (RH 6).  See here for details:
26572         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
26573
26574         maint.mk: tighten "test a == b" check
26575         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
26576         test to files that contain something like #!/bin/sh.
26577         Without this, coreutils would get two false positives in
26578         the comments of C source files.
26579
26580 2010-11-12  Eric Blake  <eblake@redhat.com>
26581
26582         bootstrap: fix typo in previous attempt
26583         * build-aux/bootstrap (buildreq): Correct the grouping.
26584         Reported by Paul Eggert.
26585
26586         maintainer-makefile: prohibit test x == x
26587         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
26588         Based on a report by Matthias Bolte.
26589
26590         bootstrap: allow FreeBSD gzip
26591         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
26592         which has no '.' and goes to stderr.
26593         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
26594         Reported by Matthias Bolte.
26595
26596         maintainer-makefile: check for i18n setup
26597         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
26598         will likely work.
26599
26600 2010-11-12  Bruno Haible  <bruno@clisp.org>
26601
26602         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
26603         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
26604         * lib/nanosleep.c (nanosleep): Likewise.
26605
26606 2010-11-11  Bruno Haible  <bruno@clisp.org>
26607
26608         fcntl-h: Fix for use of C++ on glibc systems.
26609         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26610         also on glibc systems in C++ mode.
26611         Reported by Gary V. Vaughan <gary@gnu.org>.
26612
26613 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26614
26615         mknod: avoid false failure with dash
26616         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
26617
26618 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26619
26620         unlink: Fix "is it should" typo in diagnostic.
26621         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
26622         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
26623
26624 2010-11-11  Bruno Haible  <bruno@clisp.org>
26625
26626         Tests for module 'strerror_r-posix'.
26627         * modules/strerror_r-posix-tests: New file.
26628         * tests/test-strerror_r.c: New file.
26629         * tests/test-string-c++.cc: Check the signature of strerror_r.
26630
26631         New module 'strerror_r-posix'.
26632         * lib/string.in.h (strerror_r): New declaration.
26633         * lib/strerror_r.c: New file.
26634         * m4/strerror_r.m4: New file.
26635         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
26636         of strerror_r.
26637         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
26638         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26639         * modules/strerror_r-posix: New file.
26640         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
26641         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26642         * doc/posix-functions/strerror_r.texi: Mention the new module and the
26643         portability problems.
26644
26645 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
26646
26647         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
26648         line is also considered for output. Quoted function name in shell
26649         command, so temporary files for functions like MyClass::operator()
26650         are removed correctly without errors.
26651
26652 2010-11-09  Bruno Haible  <bruno@clisp.org>
26653
26654         * doc/posix-functions/strerror.texi: List more failing platforms.
26655
26656         * doc/posix-functions/strerror.texi: Add a comment.
26657
26658 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
26659
26660         fdopendir: fix bug on MacOS X when low on file descriptors
26661
26662         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
26663         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
26664         All callers changed.
26665         (fdopendir): Invoke save_cwd at the top level, not after using
26666         multiple dup() calls to use up file descriptors.  Then retry
26667         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
26668         less than the maximum number of open file descriptors, because
26669         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
26670         on Mac OS X 10.6.4 for tar 1.24
26671         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
26672         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
26673         and for tar 1.25
26674         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
26675
26676 2010-11-07  Bruno Haible  <bruno@clisp.org>
26677
26678         vasnprintf: Support I flag on glibc systems.
26679         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
26680         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
26681         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
26682         snprintf function.
26683         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
26684         glibc systems.
26685         * tests/test-vasnprintf-posix3.c: New file.
26686         * modules/vasnprintf-posix-tests (Files): Add it.
26687         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
26688
26689 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26690
26691         [html] Fix copy/paste bug: Use unique name for compiler warnings.
26692         * MODULES.html.sh: For compiler warnings, use name
26693         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
26694
26695 2010-11-05  Eric Blake  <eblake@redhat.com>
26696
26697         ceil, floor: avoid spurious failure with icc
26698         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
26699         [denormals-as-zero] when optimizing without -mieee-fp option.
26700         * tests/test-floorf2.c (floorf_reference): Likewise.
26701         * tests/test-ceilf1.c (dummy): New function.
26702         (main): Use it to outsmart icc's optimization.
26703         * tests/test-floorf1.c (dummy, main): Likewise.
26704
26705         tests: require working signbit
26706         * modules/ceilf-tests (Depends-on): Add signbit.
26707         * modules/ceill-tests (Depends-on): Likewise.
26708         * modules/floorf-tests (Depends-on): Likewise.
26709         * modules/floorl-tests (Depends-on): Likewise.
26710         * modules/round-tests (Depends-on): Likewise.
26711         * modules/roundf-tests (Depends-on): Likewise.
26712         * modules/roundl-tests (Depends-on): Likewise.
26713         * modules/trunc-tests (Depends-on): Likewise.
26714         * modules/truncf-tests (Depends-on): Likewise.
26715         * modules/truncl-tests (Depends-on): Likewise.
26716
26717         strtod: work around icc bug
26718         * lib/strtod.c (minus_zero): Define to working value.
26719         (strtod): Use it to avoid icc bug.
26720
26721         copysign: enhance tests
26722         * modules/copysign-tests (Files): Add minus-zero.h.
26723         * tests/test-copysign.c (main): Also test zeros.
26724
26725 2010-11-04  Eric Blake  <eblake@redhat.com>
26726
26727         ceil, floor, round, trunc: enhance tests of -0
26728         * tests/test-ceilf1.c (main): Ensure correct sign of result.
26729         * tests/test-ceill.c (main): Likewise.
26730         * tests/test-floorf1.c (main): Likewise.
26731         * tests/test-floorl.c (main): Likewise.
26732         * tests/test-round1.c (main): Likewise.
26733         * tests/test-roundf1.c (main): Likewise.
26734         * tests/test-roundl.c (main): Likewise.
26735         * tests/test-trunc1.c (main): Likewise.
26736         * tests/test-truncf1.c (main): Likewise.
26737         * tests/test-truncl.c (main): Likewise.
26738
26739 2010-11-04  Eric Blake  <eblake@redhat.com>
26740
26741         frexp, tests: work around ICC bug with -zero
26742         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
26743         works with more compilers.
26744         * tests/minus-zero.h: New file.
26745         * modules/ceilf-tests (Files): Include it.
26746         * modules/ceill-tests (Files): Likewise.
26747         * modules/floorf-tests (Files): Likewise.
26748         * modules/floorl-tests (Files): Likewise.
26749         * modules/frexp-nolibm-tests (Files): Likewise.
26750         * modules/frexp-tests (Files): Likewise.
26751         * modules/frexpl-nolibm-tests (Files): Likewise.
26752         * modules/frexpl-tests (Files): Likewise.
26753         * modules/isnan-tests (Files): Likewise.
26754         * modules/isnand-nolibm-tests (Files): Likewise.
26755         * modules/isnand-tests (Files): Likewise.
26756         * modules/isnanf-nolibm-tests (Files): Likewise.
26757         * modules/isnanf-tests (Files): Likewise.
26758         * modules/isnanl-nolibm-tests (Files): Likewise.
26759         * modules/isnanl-tests (Files): Likewise.
26760         * modules/round-tests (Files): Likewise.
26761         * modules/roundf-tests (Files): Likewise.
26762         * modules/roundl-tests (Files): Likewise.
26763         * modules/ldexpl-tests (Files): Likewise.
26764         * modules/signbit-tests (Files): Likewise.
26765         * modules/snprintf-posix-tests (Files): Likewise.
26766         * modules/sprintf-posix-tests (Files): Likewise.
26767         * modules/strtod-tests (Files): Likewise.
26768         * modules/trunc-tests (Files): Likewise.
26769         * modules/truncf-tests (Files): Likewise.
26770         * modules/truncl-tests (Files): Likewise.
26771         * modules/vsnprintf-posix-tests (Files): Likewise.
26772         * modules/vsprintf-posix-tests (Files): Likewise.
26773         * modules/vasnprintf-posix-tests (Files): Likewise.
26774         * modules/vasprintf-posix-tests (Files): Likewise.
26775         * tests/test-ceilf1.c (main): Use it.
26776         * tests/test-ceill.c (main): Likewise.
26777         * tests/test-floorf1.c (main): Likewise.
26778         * tests/test-floorl.c (main): Likewise.
26779         * tests/test-frexp.c (main): Likewise.
26780         * tests/test-frexpl.c (main): Likewise.
26781         * tests/test-isnan.c (main): Likewise.
26782         * tests/test-isnand.h (main): Likewise.
26783         * tests/test-isnanf.h (main): Likewise.
26784         * tests/test-isnanl.h (main): Likewise.
26785         * tests/test-ldexpl.c (main): Likewise.
26786         * tests/test-round.c (main): Likewise.
26787         * tests/test-roundf.c (main): Likewise.
26788         * tests/test-roundl.c (main): Likewise.
26789         * tests/test-signbit.c (test_signbitf, test_signbitd)
26790         (test_signbitl): Likewise.
26791         * tests/test-snprintf-posix.h (test_function): Likewise.
26792         * tests/test-sprintf-posix.h (test_function): Likewise.
26793         * tests/test-strtod.c (main): Likewise.
26794         * tests/test-trunc1.c (main): Likewise.
26795         * tests/test-truncf1.c (main): Likewise.
26796         * tests/test-truncl.c (main): Likewise.
26797
26798         isnanl: work around icc bug
26799         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
26800
26801 2010-11-03  Eric Blake  <eblake@redhat.com>
26802
26803         tests: fix compiler warnings
26804         * tests/test-getopt.h (test_getopt): Fix condition.
26805         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26806         * tests/test-pipe2.c (main): Likewise.
26807         * tests/test-quotearg-simple.c (main): Avoid icc warning.
26808
26809         utimens: fix broken m4 test
26810         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
26811
26812 2010-10-28  Bruno Haible  <bruno@clisp.org>
26813
26814         posix_spawn*, getdtablesize: Relax license.
26815         * modules/posix_spawn (License): Change to LGPLv2+.
26816         * modules/posix_spawnp (License): Likewise.
26817         * modules/posix_spawn-internal (License): Likewise.
26818         * modules/posix_spawnattr_init (License): Likewise.
26819         * modules/posix_spawnattr_getflags (License): Likewise.
26820         * modules/posix_spawnattr_setflags (License): Likewise.
26821         * modules/posix_spawnattr_getpgroup (License): Likewise.
26822         * modules/posix_spawnattr_setpgroup (License): Likewise.
26823         * modules/posix_spawnattr_getschedparam (License): Likewise.
26824         * modules/posix_spawnattr_setschedparam (License): Likewise.
26825         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
26826         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
26827         * modules/posix_spawnattr_getsigdefault (License): Likewise.
26828         * modules/posix_spawnattr_setsigdefault (License): Likewise.
26829         * modules/posix_spawnattr_getsigmask (License): Likewise.
26830         * modules/posix_spawnattr_setsigmask (License): Likewise.
26831         * modules/posix_spawnattr_destroy (License): Likewise.
26832         * modules/posix_spawn_file_actions_init (License): Likewise.
26833         * modules/posix_spawn_file_actions_addclose (License): Likewise.
26834         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
26835         * modules/posix_spawn_file_actions_addopen (License): Likewise.
26836         * modules/posix_spawn_file_actions_destroy (License): Likewise.
26837         * modules/getdtablesize (License): Likewise.
26838         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
26839
26840 2010-10-26  Bruno Haible  <bruno@clisp.org>
26841
26842         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
26843         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
26844         Cygwin and mingw.
26845         Suggested by Eric Blake.
26846
26847 2010-10-26  Bruno Haible  <bruno@clisp.org>
26848
26849         stdio: Work around compilation error due to renameat() on Solaris 10.
26850         * lib/stdio.in.h: Include <unistd.h> on Solaris.
26851         * lib/renameat.c: Don't include <unistd.h> here.
26852         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
26853         Reported by Paul Eggert and Eric Blake.
26854
26855 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26856
26857         renameat: port to Solaris 10, which declares renameat in unistd.h
26858
26859         * lib/renameat.c: Include unistd.h before stdio.h, because
26860         Solaris 10 declares renameat in unistd.h.  Problem encountered
26861         when building GNU tar 1.24 on Solaris 10.
26862
26863 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26864
26865         fdopendir: fix C89 compilation
26866         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
26867         compilers.
26868
26869 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
26870
26871         inttostr: simplify by removing unnecessary redundancy
26872         * lib/anytostr.c: Don't include verify.h.
26873         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
26874         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
26875         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
26876         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
26877         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
26878         Likewise.
26879         * modules/inttostr (Depends-on): Remove 'verify'.
26880
26881 2010-10-23  Bruno Haible  <bruno@clisp.org>
26882
26883         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
26884         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
26885         Reported by Eric Blake.
26886
26887 2010-10-23  Bruno Haible  <bruno@clisp.org>
26888
26889         Tests: Fix LOCALE_JA on MirBSD 10.
26890         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
26891         to an UTF-8 locale.
26892         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
26893         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26894         Reported by Eric Blake.
26895
26896 2010-10-21  Bruno Haible  <bruno@clisp.org>
26897
26898         nl_langinfo test: Avoid test failure on NetBSD 5.
26899         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
26900         Reported by Eric Blake.
26901
26902 2010-10-21  Eric Blake  <eblake@redhat.com>
26903
26904         c-stack: work around libsigsegv 2.8 bug
26905         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
26906         overflow on at least PowerPC64.
26907
26908 2010-10-17  Bruno Haible  <bruno@clisp.org>
26909
26910         userspec: Drop redundant file.
26911         * modules/userspec (Files): Remove lib/inttostr.h.
26912
26913 2010-10-17  Bruno Haible  <bruno@clisp.org>
26914
26915         nl_langinfo tests: Silence some warnings.
26916         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
26917         Reported by Jim Meyering.
26918
26919 2010-10-17  Bruno Haible  <bruno@clisp.org>
26920
26921         Make use of GCC's attribute __alloc_size__.
26922         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
26923         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
26924         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
26925         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
26926         __alloc_size__.
26927         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26928         Suggested by Jim Meyering.
26929
26930 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
26931
26932         bootstrap: anchor .gitignore entries.
26933         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
26934         with...
26935         (insert_vc_ignore): ... this new function, which prepends `/' to
26936         all .gitignore entries before passing them to
26937         insert_sorted_if_absent.
26938
26939 2010-10-16  Bruno Haible  <bruno@clisp.org>
26940
26941         nextafter: Fix configure check.
26942         * modules/nextafter (configure.ac): Correct expected prototype.
26943
26944 2010-10-16  Bruno Haible  <bruno@clisp.org>
26945
26946         termios: Update documentation.
26947         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26948
26949 2010-10-16  Bruno Haible  <bruno@clisp.org>
26950
26951         tests: Make them compile with TinyCC.
26952         * tests/test-strstr.c (main): Remove parentheses around array
26953         initializer.
26954
26955 2010-10-15  Eric Blake  <eblake@redhat.com>
26956
26957         ignore-value: make header idempotent
26958         * lib/ignore-value.h: Add double-inclusion guards.
26959         Reported by Stefan Berger.
26960
26961 2010-10-15  Jim Meyering  <meyering@redhat.com>
26962
26963         GNUmakefile: handle "stable" target, not "major"
26964         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26965         lists in maint.mk and announce-gen.  Without this, "make stable"
26966         would fail to ensure that $(VERSION) is up to date.
26967
26968 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26969
26970         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26971         & co.
26972
26973 2010-10-14  Bruno Haible  <bruno@clisp.org>
26974
26975         vasnprintf: Don't set errno to 0.
26976         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26977         block that sets it to 0.
26978         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26979
26980 2010-10-14  Bruno Haible  <bruno@clisp.org>
26981
26982         socketlib: Fix.
26983         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26984         gl_PREREQ_SYS_H_WINSOCK2.
26985         Reported by Ian Beckwith <ianb@erislabs.net>.
26986
26987 2010-10-13  Jim Meyering  <meyering@redhat.com>
26988
26989         test-select-stdin.c: avoid warn_unused_result warnings
26990         * tests/test-select-stdin.c: Include "macros.h".
26991         ASSERT that read and fflush succeed.
26992
26993 2010-10-13  Jim Meyering  <meyering@redhat.com>
26994
26995         git-version-gen: do require git-VC'd files in cwd
26996         * build-aux/git-version-gen: Reject a git version string
26997         if there are no commits associated with the current directory.
26998         This avoids an unlikely false-positive (unrelated dir whose parent
26999         repository also contains a tag matching v*), as pointed out
27000         by Giuseppe Scrivano in
27001         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
27002
27003 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27004
27005         argv-iter: omit nonconforming declaration
27006         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
27007         enum arg_iter_err declaration, which doesn't conform to C99.
27008         Solaris 10 cc warns about this.
27009
27010 2010-10-13  Eric Blake  <eblake@redhat.com>
27011
27012         termios: fix compilation on mingw
27013         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
27014         (gl_TERMIOS_H): Adjust it on mingw.
27015         * modules/termios (Makefile.am): Substitute new key.
27016         * lib/termios.in.h (includes): Make include_next conditional.
27017         * doc/posix-headers/termios.texi (termios.h): Update
27018         documentation.
27019         Reported by Daniel P. Berrange.
27020
27021 2010-10-13  Jim Meyering  <meyering@redhat.com>
27022
27023         git-version-gen: don't require that .git/ be in the current dir
27024         * build-aux/git-version-gen: Adjust this script so that it works
27025         when run from any working directory beneath the top-level .git/-
27026         containing directory.  Inspired by a patch from Giuseppe Scrivano,
27027         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
27028
27029         test-select: avoid warn_unused_result warnings
27030         * tests/test-select.c: Include "macros.h".
27031         ASSERT that each call to read, write, and pipe succeeds.
27032         While not technically required, also check each "close".
27033         * modules/select-tests (Files): Add tests/macros.h.
27034
27035         test-symlinkat: remove declaration of unused local
27036         * tests/test-symlinkat.c (main): Remove unused local, "buf".
27037
27038         test-inttostr: avoid shadowing warnings
27039         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
27040         and use malloc rather than the stack for the same reason as
27041         mentioned in the comment justifying the other allocation.
27042
27043 2010-10-11  Bruno Haible  <bruno@clisp.org>
27044
27045         stdlib: Allow multiple gnulib generated replacements to coexist.
27046         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
27047         Reported by Sam Steingold <sds@gnu.org>.
27048
27049 2010-10-11  Jim Meyering  <meyering@redhat.com>
27050
27051         fix a documentation typo
27052         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
27053
27054 2010-10-11  Eric Blake  <eblake@redhat.com>
27055
27056         futimens: work around Solaris 11 bug
27057         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
27058         * tests/test-futimens.h (test_futimens): Enhance, rather than
27059         weaken test.
27060         * doc/posix-functions/futimens.texi (futimens): Document the bug.
27061
27062 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
27063
27064         Indentation.
27065         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
27066         higher-level operators more to the left.
27067
27068 2010-10-11  Jim Meyering  <meyering@redhat.com>
27069
27070         test-futimens: avoid unwarranted test failure on Solaris 5.11
27071         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
27072         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
27073         because it tries to dereference the NULL name argument.
27074
27075 2010-10-11  Bruno Haible  <bruno@clisp.org>
27076
27077         Indentation.
27078         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
27079         indentation.
27080
27081 2010-10-11  Jim Meyering  <meyering@redhat.com>
27082
27083         spawn.in.h: make indentation consistent with parentheses
27084         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
27085         Make indentation consistent with parentheses.
27086
27087 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
27088
27089         Fix mismatched parens in previous commit
27090         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
27091         parens.
27092
27093 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
27094
27095         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
27096
27097         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
27098         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
27099         * lib/malloca.c: Include "verify.h".
27100         (verify1): Remove, replacing with a verify call.
27101         * lib/relocwrapper.c (verify1): Likewise.
27102         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
27103         Likewise.
27104         * modules/malloca (Depends-on): Add 'verify'.
27105         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
27106         * modules/vasnprintf (Depends-on): Add 'verify'.
27107         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27108         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27109         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27110         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27111         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27112         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27113         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27114
27115         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
27116
27117         Formerly the style was sometimes 2*X - 1, because the C standard
27118         was wrongly thought to disallow ?: in integral constant expressions.
27119         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
27120         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
27121         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
27122         * lib/stdint.in.h (_verify_intmax_size): Likewise.
27123         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
27124         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
27125         verify that time_t cannot be floating.
27126
27127 2010-10-08  Eric Blake  <eblake@redhat.com>
27128
27129         time: enforce recent POSIX ruling that time_t is integral
27130         * lib/time.in.h (__time_t_must_be_integral): Detect any
27131         problematic systems, allowing the rest of gnulib to assume POSIX.
27132
27133 2010-10-08  Jim Meyering  <meyering@redhat.com>
27134
27135         fdopendir: fix a bug on systems lacking openat and /proc support
27136         OpenBSD 4.7 is one such system.  The most noticeable effect was
27137         failure of any application making nontrivial use of fts: rm, du,
27138         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
27139           ./rm: traversal failed: `a': Bad file descriptor
27140         Debugging that, you see that even though FD 6 was closed just
27141         prior to the opendir call in fd_clone_opendir, its resulting
27142         dir->dd_fd was 8, rather than the expected value of 6:
27143
27144         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
27145         93                close (fd);
27146         (gdb) n
27147         94                dir = fd_clone_opendir (dupfd);
27148         (gdb) n
27149         95                saved_errno = errno;
27150         (gdb) p dir->dd_fd
27151         $11 = 8
27152
27153         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
27154         The problem is that on OpenBSD, fd_clone_opendir has to resort
27155         to using the old-style save/restore CWD mechanism, due to its
27156         lack of openat/proc support, and *that* would steal the FD (6)
27157         that opendir was supposed to use.
27158
27159         The fix is to squirrel away the desired FD so that save_cwd uses a
27160         different one, and then free the dest FD right before calling opendir.
27161         That guarantees opendir will use the required file descriptor.
27162
27163         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
27164
27165 2010-10-08  Bruno Haible  <bruno@clisp.org>
27166
27167         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
27168         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
27169
27170 2010-10-08  Bruno Haible  <bruno@clisp.org>
27171
27172         nanosleep: Make replacement POSIX compliant.
27173         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
27174         is out of range.
27175         Reported by Jim Meyering.
27176
27177 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
27178
27179         bootstrap: add hook for altering gnulib.mk, for Bison
27180         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
27181         the Bison bootstrapping process can rewrite file names and variables
27182         in this file before later parts of 'bootstrap' use the file.
27183         Bison wants to include lib/gnulib.mk from the top-level makefile,
27184         so it needs the file names in this file to be relative to the top
27185         level, not relative to lib; plus it needs variable names to be
27186         rewritten.
27187         (slurp): Use the new function.
27188
27189         bootstrap: reformat for readability
27190         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
27191
27192 2010-10-08  Eric Blake  <eblake@redhat.com>
27193
27194         docs: update cygwin progress
27195         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
27196         1.7.7.
27197         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
27198         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
27199         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
27200         * doc/posix-functions/carg.texi (carg): Likewise.
27201         * doc/posix-functions/cargf.texi (cargf): Likewise.
27202         * doc/posix-functions/casin.texi (casin): Likewise.
27203         * doc/posix-functions/casinf.texi (casinf): Likewise.
27204         * doc/posix-functions/casinh.texi (casinh): Likewise.
27205         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
27206         * doc/posix-functions/catan.texi (catan): Likewise.
27207         * doc/posix-functions/catanf.texi (catanf): Likewise.
27208         * doc/posix-functions/catanh.texi (catanh): Likewise.
27209         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
27210         * doc/posix-functions/ccos.texi (ccos): Likewise.
27211         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
27212         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
27213         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
27214         * doc/posix-functions/cexp.texi (cexp): Likewise.
27215         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
27216         * doc/posix-functions/cimag.texi (cimag): Likewise.
27217         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
27218         * doc/posix-functions/clog.texi (clog): Likewise.
27219         * doc/posix-functions/clogf.texi (clogf): Likewise.
27220         * doc/posix-functions/conj.texi (conj): Likewise.
27221         * doc/posix-functions/conjf.texi (conjf): Likewise.
27222         * doc/posix-functions/cpow.texi (cpow): Likewise.
27223         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
27224         * doc/posix-functions/cproj.texi (cproj): Likewise.
27225         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
27226         * doc/posix-functions/creal.texi (creal): Likewise.
27227         * doc/posix-functions/crealf.texi (crealf): Likewise.
27228         * doc/posix-functions/csin.texi (csin): Likewise.
27229         * doc/posix-functions/csinf.texi (csinf): Likewise.
27230         * doc/posix-functions/csinh.texi (csinh): Likewise.
27231         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
27232         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
27233         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
27234         * doc/posix-functions/ctan.texi (ctan): Likewise.
27235         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
27236         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
27237         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
27238         * doc/posix-headers/complex.texi (complex.h): Likewise.
27239
27240 2010-10-07  Jim Meyering  <meyering@redhat.com>
27241
27242         parse-datetime: avoid compilation failure on OpenBSD 4.7
27243         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
27244         This works around a compilation failure on OpenBSD 4.7:
27245         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
27246
27247 2010-10-07  Eric Blake  <eblake@redhat.com>
27248
27249         docs: update cygwin progress
27250         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
27251         1.7.6.
27252         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
27253         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
27254         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
27255         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
27256         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
27257         Likewise.
27258         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
27259         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
27260         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
27261         Likewise.
27262         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
27263         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
27264         Likewise.
27265         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
27266         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
27267         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
27268         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
27269         Likewise.
27270         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
27271         Likewise.
27272         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
27273
27274         docs: update parse-datetime history
27275         * doc/parse-datetime.texi (Authors of parse_datetime): Better
27276         documentation of this function's history and alternatives.
27277
27278         cygwin: use more robust version check
27279         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
27280         exclude an eventual cygwin 1.9.1.
27281         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27282         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
27283         (gl_FUNC_STRCASESTR): Likewise.
27284         Reported by Bruno Haible.
27285
27286 2010-10-06  Bruno Haible  <bruno@clisp.org>
27287
27288         string, sys_select: Avoid #including large headers unless necessary.
27289         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
27290         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
27291         OSF/1, BeOS, Haiku.
27292         Reported by Jim Meyering.
27293
27294 2010-10-05  Eric Blake  <eblake@redhat.com>
27295
27296         memmem, strstr, strcasestr: fix bug with long periodic needle
27297         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
27298         periodic needle having false positive.
27299         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
27300         and cygwin 1.7.7.
27301         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
27302         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
27303         (gl_FUNC_STRCASESTR): Likewise.
27304         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27305         * tests/test-memmem.c (main): Expose the bug.
27306         * tests/test-strcasestr.c (main): Likewise.
27307         * tests/test-strstr.c (main): Likewise.
27308         * tests/test-c-strcasestr.c (main): Likewise.
27309         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
27310         * doc/posix-functions/strstr.texi (strstr): Likewise.
27311         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27312         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
27313
27314 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
27315
27316         parse-datetime: do some more renaming
27317         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
27318         parse_datetime, not get_date.  Mention the renaming.
27319         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
27320         in comments.
27321         * m4/bison.m4: Likewise.
27322
27323 2010-10-05  Eric Blake  <eblake@redhat.com>
27324
27325         parse-datetime: better name than get_date
27326         * NEWS: Reword the deprecation notice.
27327         * modules/get_date: Rename to modules/parse-datetime.
27328         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
27329         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
27330         * lib/get_date.y: Rename to lib/parse-datetime.y.
27331         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
27332         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
27333         * doc/getdate.texi: Provide fallback wrapper.
27334         * lib/getdate.h: Move guts, and wrap...
27335         * lib/parse-datetime.h: ...new file.
27336         * lib/parse-datetime.y (get_date): Rename...
27337         (parse_datetime): ...to this.
27338         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
27339         (gl_PARSE_DATETIME): ...to this.
27340         * doc/posix-functions/getdate.texi (get_date): Provide fallback
27341         documentation.
27342         * modules/getdate (Files): Provide fallback docs and header.
27343         (Notice, Depends-on): Update references.
27344         * tests/test-parse-datetime.c: Likewise.
27345         * DEPENDENCIES: Likewise.
27346         * MODULES.html.sh (Date and time <time.h>): Likewise.
27347         * doc/parse-datetime.texi (Date input formats)
27348         (Authors of parse_datetime): Likewise.
27349         * modules/parse-datetime (Files, configure.ac, Makefile.am)
27350         (Include): Likewise.
27351         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
27352         * gnulib-tool: Likewise.
27353         * m4/bison.m4 (gl_BISON): Likewise.
27354         Suggested by Bruno Haible.
27355
27356 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
27357
27358         more ports to Solaris tr, which needs [] around ranges
27359         * gnulib-tool: Solaris tr needs [] around ranges.
27360         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27361         * tests/test-pipe-filter-gi1.c (main): Likewise.
27362         * tests/test-pipe-filter-ii1.c (main): Likewise.
27363
27364 2010-10-05  Eric Blake  <eblake@redhat.com>
27365
27366         bootstrap: fix Solaris regression
27367         * build-aux/bootstrap (check_versions): Solaris tr still needs []
27368         around ranges.
27369         Reported by Pádraig Brady.
27370
27371         bootstrap: work with pkg-config
27372         * build-aux/bootstrap (check_versions): Also transliterate - in
27373         prerequisite name.
27374         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
27375         prerequisites that were already found, to avoid confusion.
27376         Reported by Justin Clift.
27377
27378         faccessat: remove unused wrappers
27379         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
27380         presence of these wrappers dragged in -lgen on Solaris.
27381         Reported by Clemens Brogi; fix suggested by Paul Eggert.
27382
27383 2010-10-05  Jim Meyering  <meyering@redhat.com>
27384
27385         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
27386         * Makefile (sc_pragma_columns): New syntax-check rule.
27387
27388 2010-10-04  Bruno Haible  <bruno@clisp.org>
27389
27390         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
27391         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
27392         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
27393         Reported by Bruce Korb and Eric Blake.
27394
27395 2010-10-04  Bruno Haible  <bruno@clisp.org>
27396
27397         threadlib: Make option --with-libpth-prefix work.
27398         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
27399         use $LIBPTH, not just -lpth.
27400
27401 2010-10-04  Bruno Haible  <bruno@clisp.org>
27402
27403         Avoid line length limitation from HP NonStop system header files.
27404         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
27405         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
27406         * lib/ctype.in.h: Likewise.
27407         * lib/dirent.in.h: Likewise.
27408         * lib/errno.in.h: Likewise.
27409         * lib/fcntl.in.h: Likewise.
27410         * lib/float.in.h: Likewise.
27411         * lib/getopt.in.h: Likewise.
27412         * lib/iconv.in.h: Likewise.
27413         * lib/inttypes.in.h: Likewise.
27414         * lib/langinfo.in.h: Likewise.
27415         * lib/locale.in.h: Likewise.
27416         * lib/math.in.h: Likewise.
27417         * lib/netdb.in.h: Likewise.
27418         * lib/netinet_in.in.h: Likewise.
27419         * lib/poll.in.h: Likewise.
27420         * lib/pthread.in.h: Likewise.
27421         * lib/pty.in.h: Likewise.
27422         * lib/sched.in.h: Likewise.
27423         * lib/se-selinux.in.h: Likewise.
27424         * lib/search.in.h: Likewise.
27425         * lib/signal.in.h: Likewise.
27426         * lib/spawn.in.h: Likewise.
27427         * lib/stdarg.in.h: Likewise.
27428         * lib/stddef.in.h: Likewise.
27429         * lib/stdint.in.h: Likewise.
27430         * lib/stdio.in.h: Likewise.
27431         * lib/stdlib.in.h: Likewise.
27432         * lib/string.in.h: Likewise.
27433         * lib/strings.in.h: Likewise.
27434         * lib/sys_file.in.h: Likewise.
27435         * lib/sys_ioctl.in.h: Likewise.
27436         * lib/sys_select.in.h: Likewise.
27437         * lib/sys_socket.in.h: Likewise.
27438         * lib/sys_stat.in.h: Likewise.
27439         * lib/sys_time.in.h: Likewise.
27440         * lib/sys_times.in.h: Likewise.
27441         * lib/sys_utsname.in.h: Likewise.
27442         * lib/sys_wait.in.h: Likewise.
27443         * lib/sysexits.in.h: Likewise.
27444         * lib/termios.in.h: Likewise.
27445         * lib/time.in.h: Likewise.
27446         * lib/unistd.in.h: Likewise.
27447         * lib/wchar.in.h: Likewise.
27448         * lib/wctype.in.h: Likewise.
27449         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
27450         * modules/ctype (Makefile.am): Likewise.
27451         * modules/dirent (Makefile.am): Likewise.
27452         * modules/errno (Makefile.am): Likewise.
27453         * modules/fcntl-h (Makefile.am): Likewise.
27454         * modules/float (Makefile.am): Likewise.
27455         * modules/getopt-posix (Makefile.am): Likewise.
27456         * modules/iconv-h (Makefile.am): Likewise.
27457         * modules/inttypes (Makefile.am): Likewise.
27458         * modules/langinfo (Makefile.am): Likewise.
27459         * modules/locale (Makefile.am): Likewise.
27460         * modules/math (Makefile.am): Likewise.
27461         * modules/netdb (Makefile.am): Likewise.
27462         * modules/netinet_in (Makefile.am): Likewise.
27463         * modules/poll-h (Makefile.am): Likewise.
27464         * modules/pthread (Makefile.am): Likewise.
27465         * modules/pty (Makefile.am): Likewise.
27466         * modules/sched (Makefile.am): Likewise.
27467         * modules/search (Makefile.am): Likewise.
27468         * modules/selinux-h (Makefile.am): Likewise.
27469         * modules/signal (Makefile.am): Likewise.
27470         * modules/spawn (Makefile.am): Likewise.
27471         * modules/stdarg (Makefile.am): Likewise.
27472         * modules/stddef (Makefile.am): Likewise.
27473         * modules/stdint (Makefile.am): Likewise.
27474         * modules/stdio (Makefile.am): Likewise.
27475         * modules/stdlib (Makefile.am): Likewise.
27476         * modules/string (Makefile.am): Likewise.
27477         * modules/strings (Makefile.am): Likewise.
27478         * modules/sys_file (Makefile.am): Likewise.
27479         * modules/sys_ioctl (Makefile.am): Likewise.
27480         * modules/sys_select (Makefile.am): Likewise.
27481         * modules/sys_socket (Makefile.am): Likewise.
27482         * modules/sys_stat (Makefile.am): Likewise.
27483         * modules/sys_time (Makefile.am): Likewise.
27484         * modules/sys_times (Makefile.am): Likewise.
27485         * modules/sys_utsname (Makefile.am): Likewise.
27486         * modules/sys_wait (Makefile.am): Likewise.
27487         * modules/sysexits (Makefile.am): Likewise.
27488         * modules/termios (Makefile.am): Likewise.
27489         * modules/time (Makefile.am): Likewise.
27490         * modules/unistd (Makefile.am): Likewise.
27491         * modules/wchar (Makefile.am): Likewise.
27492         * modules/wctype (Makefile.am): Likewise.
27493
27494 2010-10-04  Bruno Haible  <bruno@clisp.org>
27495
27496         read-file tests: Avoid a test failure on NonStop Kernel.
27497         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
27498         a regular file.
27499         Reported by Joachim Schmitz <schmitz@hp.com>.
27500
27501 2010-10-03  Bruno Haible  <bruno@clisp.org>
27502
27503         gnulib-tool: Fixes for --create-testdir with --libtool.
27504         * gnulib-tool (func_get_automake_snippet): Don't augment
27505         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
27506         an executable.
27507         (func_create_testdir): Handle module 'alloca' like func_import.
27508         Reported by Bruce Korb <bruce.korb@gmail.com>.
27509
27510 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
27511
27512         Avoid some lines longer than 80 characters.
27513         * lib/stdint.in.h: Break long comment lines.
27514         * lib/math.in.h: Likewise.
27515         (_GL_NUM_UINT_WORDS): New macro, for readability.
27516         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
27517         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
27518         * lib/stdlib.in.h: Likewise.
27519         * lib/spawn.in.h: Likewise.
27520         * lib/sys_socket.in.h: Update an URL.
27521         * lib/sys_stat.in.h: Break long line.
27522
27523 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
27524
27525         Improve pmccabe2html.
27526         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
27527         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
27528         when the sources change. Remove the line in the HTML about "Used
27529         ranges" (which implied that there might be other unused ranges),
27530         rename "Resume" to "Summary" (easier to understand for more users).
27531         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
27532         styles, and some unnecessary blank lines.
27533
27534 2010-10-03  Bruno Haible  <bruno@clisp.org>
27535             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
27536
27537         acl: Add support for ACLs on NonStop Kernel.
27538         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
27539         Check whether the function aclsort() exists.
27540         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
27541         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
27542         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27543         (acl_nontrivial [HAVE_ACLSORT]: New function.
27544         (file_has_acl): Implement for NonStop Kernel.
27545         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27546         (qset_acl): Implement for NonStop Kernel.
27547         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
27548         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27549         (main): Implement for NonStop Kernel.
27550         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
27551         Kernel. Handle this flavor.
27552         * tests/test-set-mode-acl.sh: Likewise.
27553         * tests/test-copy-acl.sh: Likewise.
27554         * tests/test-copy-file.sh: Likewise.
27555
27556 2010-10-03  Bruno Haible  <bruno@clisp.org>
27557
27558         Info about ACLs on NonStop Kernel.
27559         * doc/acl-resources.txt: Add info about NonStop Kernel.
27560         References by Joachim Schmitz <schmitz@hp.com>.
27561
27562 2010-10-02  Bruno Haible  <bruno@clisp.org>
27563
27564         Define missing EDQUOT on NonStop Kernel.
27565         * lib/errno.in.h (EDQUOT): Assign a value if missing.
27566         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
27567         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
27568         missing.
27569         * doc/posix-headers/errno.texi: Mention the NSK bug.
27570         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
27571         Reported by Joachim Schmitz <schmitz@hp.com>.
27572
27573 2010-10-02  Bruno Haible  <bruno@clisp.org>
27574
27575         Update doc for POSIX:2008.
27576         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
27577         Update URL of POSIX specification.
27578
27579 2010-10-02  Bruno Haible  <bruno@clisp.org>
27580
27581         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
27582         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
27583         from gnulib, not from Automake.
27584
27585 2010-10-02  Bruno Haible  <bruno@clisp.org>
27586
27587         New module 'system-posix'.
27588         * modules/system-posix: New file.
27589         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
27590         module is present.
27591         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27592         GNULIB_SYSTEM_POSIX.
27593         * modules/stdlib (Depends-on): Remove sys_wait.
27594         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
27595         * doc/posix-functions/system.texi: Mention the new module.
27596         * doc/posix-headers/stdlib.texi: Likewise.
27597         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
27598         define test_sys_wait_macros to a no-op.
27599         Reported by Sam Steingold <sds@gnu.org>.
27600
27601 2010-09-30  Bruno Haible  <bruno@clisp.org>
27602
27603         More renaming from 'getdate' to 'get_date'.
27604         * doc/get_date.texi: Renamed from doc/getdate.texi.
27605         * modules/get_date (Files): Update.
27606         * MODULES.html.sh (Date and time <time.h>): Update.
27607         * DEPENDENCIES: Update.
27608         * gnulib-tool: Update comment.
27609         * m4/bison.m4 (gl_BISON): Likewise.
27610         * m4/get_date.m4 (gl_GET_DATE): Likewise.
27611
27612 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
27613
27614         bootstrap: support ACLOCAL_FLAGS during aclocal
27615         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
27616         can add additional -I dir for third-party .m4 files.
27617
27618 2010-09-30  Eric Blake  <eblake@redhat.com>
27619
27620         bootstrap: use glibtoolize on MacOS
27621         * build-aux/bootstrap (check_versions): Convert libtool into
27622         libtoolize.
27623         (tool search): Move libtool check earlier, and look for
27624         glibtoolize for MacOS.
27625         (gnulib_tool_options): Auto-add --libtool when appropriate.
27626         Reported by Justin Clift.
27627
27628         poll: fix typo that broke test on MacOS
27629         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
27630         Reported by Justin Clift.
27631
27632         getdate: rename to get_date
27633         Note: getdate.h is not renamed, to minimize client impact.
27634         * modules/getdate: Mark obsolete.  Move old contents...
27635         * modules/get_date: ...to new module name.
27636         * modules/getdate-tests: Move...
27637         * modules/get_date-tests: ...here.
27638         * m4/getdate.m4: Move...
27639         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
27640         * lib/getdate.y: Move...
27641         * lib/get_date.y: ...here.
27642         * tests/test-getdate.c: Move...
27643         * tests/test-get_date.c: ...here.
27644         * doc/posix-functions/getdate.texi (getdate): Update name.
27645         * NEWS: Mention the change.
27646
27647 2010-09-29  Bruno Haible  <bruno@clisp.org>
27648
27649         Separate the module 'waitpid' from the module 'sys_wait'.
27650         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
27651         present.
27652         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
27653         gl_MODULE_INDICATOR_FOR_TESTS.
27654         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
27655         * modules/sys_wait (Depends-on): Remove waitpid.
27656         (Makefile.am): Substitute GNULIB_WAITPID.
27657         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
27658         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
27659         signature only if the 'waitpid' module is present.
27660         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
27661         * NEWS: Mention the change.
27662         * modules/grantpt (Depends-on): Add waitpid.
27663         * modules/wait-process (Depends-on): Likewise.
27664
27665 2010-09-29  Bruno Haible  <bruno@clisp.org>
27666
27667         More tests for module 'sys_wait'.
27668         * modules/sys_wait-c++-tests: New file.
27669         * tests/test-sys_wait-c++.cc: New file.
27670         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
27671         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27672
27673 2010-09-29  Bruno Haible  <bruno@clisp.org>
27674
27675         New module 'waitpid'.
27676         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
27677         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
27678         Don't include <process.h>.
27679         (waitpid): Declare only, using modern idiom.
27680         * m4/waitpid.m4: New file.
27681         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
27682         * modules/waitpid: New file.
27683         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
27684         (Makefile.am): Update.
27685         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27686
27687 2010-09-28  Bruno Haible  <bruno@clisp.org>
27688
27689         poll: Assume ANSI C.
27690         * lib/poll.c (poll): Use an ANSI C declaration.
27691
27692 2010-09-28  Bruno Haible  <bruno@clisp.org>
27693
27694         poll-h: Create poll.h on all platforms.
27695         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
27696         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
27697         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
27698         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
27699         (gl_REPLACE_POLL_H): Don't set POLL_H.
27700         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
27701         * modules/poll-h (Depends-on): Add include_next.
27702         (Makefile.am): Create poll.h unconditionally. Substitute also
27703         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
27704
27705 2010-09-28  Bruno Haible  <bruno@clisp.org>
27706
27707         Tests for module 'poll-h'.
27708         * modules/poll-h-c++-tests: New file.
27709         * tests/test-poll-h-c++.cc: New file.
27710
27711         Tests for module 'poll-h'.
27712         * modules/poll-h-tests: New file.
27713         * tests/test-poll-h.c: New file.
27714
27715 2010-09-28  Bruno Haible  <bruno@clisp.org>
27716
27717         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
27718         * modules/poll-h (Depends-on): Add 'extensions'.
27719
27720 2010-09-28  Bruno Haible  <bruno@clisp.org>
27721
27722         New module 'poll-h'.
27723         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
27724         (poll): Use modern idiom.
27725         * modules/poll-h: New file.
27726         * modules/poll (Files): Remove lib/poll.in.h.
27727         (Depends-on): Add poll-h.
27728         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
27729         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
27730         * m4/poll_h.m4: New file.
27731         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
27732         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
27733         and invoke gl_REPLACE_POLL_H.
27734         * lib/poll.c: Use common idiom.
27735         * tests/test-poll.c: Likewise.
27736         * doc/posix-headers/poll.texi: Mention the poll-h module.
27737         Suggested by Eric Blake.
27738
27739 2010-09-26  Bruno Haible  <bruno@clisp.org>
27740
27741         sys_wait: Implement WSTOPSIG.
27742         * lib/sys_wait.in.h (WSTOPSIG): New macro.
27743         Reported by Simon Josefsson.
27744
27745 2010-09-26  Simon Josefsson  <simon@josefsson.org>
27746
27747         stdlib, sys_wait: Avoid compilation error on mingw.
27748         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
27749
27750 2010-09-26  Bruno Haible  <bruno@clisp.org>
27751
27752         stdlib tests: Avoid code duplication.
27753         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
27754         * modules/sys_wait-tests (Files): Likewise.
27755         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
27756         * tests/test-stdlib.c: Include test-sys_wait.h.
27757         (main): Invoke test_sys_wait_macros.
27758         * tests/test-sys_wait.c: Include test-sys_wait.h.
27759         (main): Invoke test_sys_wait_macros.
27760
27761 2010-09-25  Simon Josefsson  <simon@josefsson.org>
27762
27763         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
27764         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
27765         sure Windows sockets are working before calling getaddrinfo.
27766         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
27767         * doc/gnulib.texi (Windows sockets): Fix typo.
27768
27769 2010-09-25  Bruno Haible  <bruno@clisp.org>
27770
27771         Tests for module 'regex-quote'.
27772         * modules/regex-quote-tests: New file.
27773         * tests/test-regex-quote.c: New file.
27774
27775         New module 'regex-quote'.
27776         * lib/regex-quote.h: New file.
27777         * lib/regex-quote.c: New file.
27778         * modules/regex-quote: New file.
27779         Suggested by Reuben Thomas <rrt@sc3d.org>.
27780
27781 2010-09-24  Bruno Haible  <bruno@clisp.org>
27782
27783         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
27784         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
27785
27786 2010-09-23  Bruno Haible  <bruno@clisp.org>
27787
27788         setenv: Relax license.
27789         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
27790         Blake.
27791         Requested by Eric Blake.
27792
27793 2010-09-22  Bruno Haible  <bruno@clisp.org>
27794
27795         termios: Relax license.
27796         * modules/termios (License): Change to LGPLv2+.
27797         Requested by Eric Blake.
27798
27799 2010-09-22  Bruno Haible  <bruno@clisp.org>
27800
27801         threadlib: Allow the package to change the default to 'no'.
27802         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
27803         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
27804         Reported by Paul Eggert.
27805
27806 2010-09-22  Pádraig Brady  <P@draigbrady.com>
27807             Bruno Haible  <bruno@clisp.org>
27808
27809         Fix endless loop in mbmemcasecoll.
27810         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
27811         byte.
27812         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
27813
27814 2010-09-22  Bruno Haible  <bruno@clisp.org>
27815
27816         Tests for module 'memcoll'.
27817         * modules/memcoll-tests: New file.
27818         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
27819
27820         memcoll, xmemcoll: Clarify size vs. length.
27821         * modules/memcoll.c (memcoll0): Clarify specification.
27822         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
27823         passed to collate_error.
27824
27825 2010-09-22  Bruno Haible  <bruno@clisp.org>
27826
27827         Tests for module 'memcasecmp'.
27828         * modules/memcasecmp-tests: New file.
27829         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
27830
27831 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27832
27833         * lib/pthread.in.h: Add split double-inclusion guard, and include
27834         system <pthread.h> if there is one.  Use @@-style as in other
27835         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
27836         pthread.h doesn't.
27837         (pthread_mutexattr_destroy, pthread_mutexattr_init):
27838         (pthread_mutexattr_settype, pthread_mutex_trylock):
27839         New static inline functions, if there's no system <pthread.h>.
27840         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
27841         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
27842         Approximate with mutexes if the system lacks spinlocks, as in
27843         MacOS.
27844         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
27845         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
27846         @@-style.  Check for spinlocks separately.
27847         (gl_PTHREAD_DEFAULTS): New macro.
27848         * modules/pthread: Redo to use a more typical style for in.h files.
27849
27850 2010-09-21  Eric Blake  <eblake@redhat.com>
27851
27852         net_if: enhance tests
27853         * tests/test-net_if.c (main): Move signature checks earlier.
27854         Print failures to stderr.
27855         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
27856         Document the bug that we do not yet fix.
27857
27858 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27859
27860         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
27861         about gnulib, not GSS.
27862
27863 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27864
27865         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
27866         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
27867         for Emacs.
27868         * build-aux/pmccabe2html: Make Makefile.am example code more
27869         cut-and-paste friendly.
27870
27871 2010-09-21  Simon Josefsson  <simon@josefsson.org>
27872
27873         * tests/test-net_if.c: New file.
27874         * modules/net_if-tests: New file.
27875
27876 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27877
27878         pthread: add pthread_spin_destroy
27879         * lib/pthread.in.h (pthread_spin_destroy): New function.
27880
27881 2010-09-19  Bruno Haible  <bruno@clisp.org>
27882
27883         gnulib-tool: Fix --help output.
27884         * gnulib-tool (func_usage): Fix help message.
27885         Reported by Reuben Thomas <rrt@sc3d.org>.
27886
27887 2010-09-18  Jim Meyering  <meyering@redhat.com>
27888
27889         maint.mk: avoid unexpanded \n in two diagnostics
27890         * top/maint.mk (sc_prohibit_always_true_header_tests):
27891         Don't use a literal \n in a halt=... assignment.  It would not be
27892         expanded, and the two \n bytes would appear in the diagnostic output
27893         rather than the desired newline.  Use halt=$$(printf ... instead.
27894         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27895
27896 2010-09-18  Bruno Haible  <bruno@clisp.org>
27897
27898         netinet_in: Doc tweak.
27899         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
27900         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27901
27902 2010-09-18  Jim Meyering  <meyering@redhat.com>
27903
27904         init.sh: correct an outdated comment
27905         * tests/init.sh (create_exe_shims_):  s/function/alias/
27906
27907         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
27908         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
27909         a file named "*.exe" is removed between the glob expansion and the
27910         processing of that oddly named file.
27911
27912 2010-09-17  Eric Blake  <eblake@redhat.com>
27913
27914         mirbsd: add some more support
27915         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
27916         in BSD family.
27917         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
27918         devices as OpenBSD.
27919         * m4/host-os.m4 (mirbsd): Add MirBSD.
27920
27921         tests: fix unportable assumption on sys/wait.h
27922         * tests/test-sys_wait.c (main): Relax test.
27923         * tests/test-stdlib.c (main): Likewise.
27924
27925         init.sh: accommodate directory with no .exes
27926         * tests/init.sh: Accomodate directory containing only scripts.
27927
27928         tests: avoid compiler warning
27929         * tests/test-stdlib.c (main): Use the variable.
27930
27931         fdutimens, fdutimensat: update signature, again
27932         * lib/utimens.h (gl_futimens): Delete, and move signature...
27933         (fdutimens): ...here.
27934         (fdutimensat): Rearrange signature.
27935         (lutimensat): Rename variable for clarity.
27936         * lib/fdutimensat.c (fdutimensat): Update signature.
27937         * lib/utimens.c (fdutimens): Likewise.
27938         (gl_futimens): Delete.
27939         (utimens, lutimens): Update callers.
27940         * lib/futimens.c (futimens): Likewise.
27941         * tests/test-fdutimensat.c: Likewise.
27942         * tests/test-utimens.c: Likewise.
27943         * tests/test-futimens.h: Update comment.
27944         * NEWS: Mention this.
27945         Suggested by Paul Eggert.
27946
27947 2010-09-17  Bruno Haible  <bruno@clisp.org>
27948
27949         Take over the maintenance of some older macros from Autoconf.
27950         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27951         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27952         GNU Autoconf.
27953         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27954         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27955
27956 2010-09-17  Eric Blake  <eblake@redhat.com>
27957
27958         fdutimensat: drop atflag validation
27959         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27960         with valid fd, to close a race scenario where futimens is
27961         unsupported and FILE was replaced by a symlink.
27962         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27963         accordingly.
27964         Suggested by Paul Eggert.
27965
27966 2010-09-16  Bruno Haible  <bruno@clisp.org>
27967
27968         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27969         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27970
27971 2010-09-16  Bruno Haible  <bruno@clisp.org>
27972
27973         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27974         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27975         login_tty exists.
27976         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27977
27978 2010-09-16  Bruno Haible  <bruno@clisp.org>
27979
27980         login_tty: Make the replacement code work on BSD systems.
27981         * lib/login_tty.c: Include <sys/ioctl.h>.
27982         (login_tty): Use ioctl TIOCSCTTY when available.
27983         * modules/login_tty (Depends-on): Add sys_ioctl.
27984         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27985
27986 2010-09-16  Bruno Haible  <bruno@clisp.org>
27987
27988         login_tty: Stricter unit test.
27989         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27990         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27991         and tcgetsid() after login_tty.
27992         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27993
27994 2010-09-16  Bruno Haible  <bruno@clisp.org>
27995
27996         New module 'tcgetsid'.
27997         * lib/tcgetsid.c: New file.
27998         * m4/tcgetsid.m4: New file.
27999         * modules/tcgetsid: New file.
28000         * modules/termios (Depends-on): Add c++defs, warn-on-use.
28001         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
28002         GNULIB_TCGETSID, HAVE_TCGETSID.
28003         * lib/termios.in.h: Include <sys/types.h>.
28004         (tcgetsid): New declaration.
28005         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
28006         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
28007         * doc/posix-functions/tcgetsid.texi: Mention the new module.
28008         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
28009
28010 2010-09-16  Bruno Haible  <bruno@clisp.org>
28011
28012         Tests for module 'termios'.
28013         * modules/termios-c++-tests: New file.
28014         * modules/termios-tests: New file.
28015         * tests/test-termios-c++.cc: New file.
28016         * tests/test-termios.c: New file.
28017
28018         New module 'termios'.
28019         * modules/termios: New file.
28020         * lib/termios.in.h: New file.
28021         * m4/termios_h.m4: New file.
28022         * doc/posix-headers/termios.texi: Mention the new module.
28023
28024 2010-09-16  Eric Blake  <eblake@redhat.com>
28025
28026         fdutimensat: add an atflag parameter
28027         * lib/fdutimensat.c (fdutimensat): Add new parameter.
28028         * lib/utimens.h (fdutimensat): Update prototype.
28029         * tests/test-fdutimensat.c: Adjust test to match.
28030         * NEWS: Document the change.
28031         Suggested by Paul Eggert.
28032
28033 2010-09-16  Bruno Haible  <bruno@clisp.org>
28034
28035         Fix typos in comments.
28036         * lib/striconveh.h: Fix typo in comment.
28037         * lib/login_tty.c (login_tty): Likewise.
28038
28039 2010-09-15  Bruno Haible  <bruno@clisp.org>
28040
28041         stdlib: clarify MirBSD WEXITSTATUS bug
28042         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
28043         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28044
28045 2010-09-15  Eric Blake  <eblake@redhat.com>
28046
28047         stdlib: work around MirBSD WEXITSTATUS bug
28048         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
28049         * modules/stdlib (Depends-on): Add sys_wait.
28050         * tests/test-sys_wait.c (main): Enhance test.
28051         * tests/test-stdlib.c (main): Likewise.
28052         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
28053
28054         docs: mention MacOS issue with WEXITSTATUS(constant)
28055         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
28056         issue.
28057         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28058
28059         strnlen: add tests
28060         * modules/strnlen-tests: New file.
28061         * tests/test-strnlen.c: Likewise.
28062
28063 2010-09-14  Bruno Haible  <bruno@clisp.org>
28064
28065         unistr/base: Avoid link errors when module 'libunistring' is also used.
28066         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
28067         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
28068         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
28069         Declare also when HAVE_LIBUNISTRING is set.
28070         Reported by Pádraig Brady <P@draigbrady.com>.
28071
28072 2010-09-14  Eric Blake  <eblake@redhat.com>
28073
28074         test-rawmemchr: make more robust
28075         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
28076         (Depends-on, configure.ac): Add needed prerequisites to use it.
28077         * modules/memchr-tests (Files, Depends-on, configure.ac):
28078         Likewise, to avoid implicit reliance on memchr module prereqs.
28079         * tests/test-memchr.c (main): Ensure proper masking.
28080         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
28081         reads.
28082
28083         memchr: detect glibc Alpha bug
28084         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
28085         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
28086         Alpha.
28087         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
28088         * tests/test-memchr.c (main): Enhance test.
28089         Reported by Nelson H. F. Beebe.
28090
28091 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28092
28093         fts, getcwd, glob: audit for dirfd returning -1
28094         * lib/fts.c (opendir): Remove #define; no longer used.
28095         (opendirat): New arg PDIR_FD.  All callers changed.
28096         (fts_build, _opendir2): Use new opendirat to avoid the need for
28097         dirfd, or for checking whether dirfd returns a negative value.
28098         Don't use opendir; always use openat followed by fdopendir.
28099         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
28100         it.
28101         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
28102         returns -1 here.
28103         * modules/fts (Depends-on): Remove dirfd.
28104         * modules/getcwd (Depends-on): Likewise.
28105
28106 2010-09-13  Eric Blake  <eblake@redhat.com>
28107
28108         float: fix broken MirBSD header
28109         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
28110         * doc/posix-headers/float.texi (float.h): Document it.
28111
28112 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28113
28114         fts: use O_NOFOLLOW to avoid race condition when opening a directory
28115         * lib/fts.c (opendirat): New arg extra_flags.
28116         (__opendir2): Use it to avoid following symlinks when opening
28117         a directory, if symlinks are not supposed to be followed.  See
28118         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
28119
28120         fdopendir: preserve argument fd before returning
28121         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
28122         (fdopendir_with_dup, fd_clone_opendir): New static functions.
28123         (fdopendir): Use them, arranging for FD to be open to the same
28124         directory that it was when it started.  (It might be temporarily
28125         closed while fdopendir is running, so this not thread- or
28126         signal-safe.)  Be careful to do the right thing even when file
28127         descriptors are scarce and dup fails with errno == EMFILE.  See
28128         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
28129
28130 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
28131
28132         regex: Pass the system regex if its only problem is 32-bit regoff_t.
28133         * NEWS: Document change.
28134         * m4/regex.m4: Disable test for regoff_t size.
28135
28136 2010-09-13  Jim Meyering  <meyering@redhat.com>
28137
28138         fts: don't operate on an invalid file descriptor after failed dup
28139         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
28140         negative file descriptor.
28141
28142 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
28143
28144         savedir: add streamsavedir, deprecate fdsavedir
28145         * NEWS: Mention deprecation of fdsavedir.
28146         * lib/savedir.c (streamsavedir): New extern function, whose name
28147         ends in "savedir" to be consistent with the others.  This differs
28148         from savedirstream in that it doesn't close its argument.  The
28149         next version of GNU tar will use this instead of fdsavedir, to
28150         avoid some race conditions and conserve file descriptors.
28151         (savedirstream): Reimplement as a wrapper around streamsavedir.
28152         (fdsavedir): Add a comment deprecating this function.  As far as
28153         I know, only GNU tar used it, and GNU tar doesn't need it any more.
28154         * lib/savedir.h (streamsavedir): New decl.
28155         (fdsavedir): Add a comment deprecating this.
28156
28157 2010-09-10  Bruno Haible  <bruno@clisp.org>
28158
28159         langinfo: Fix last commit.
28160         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
28161         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
28162         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28163
28164 2010-09-10  Bruno Haible  <bruno@clisp.org>
28165
28166         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
28167         * lib/progreloc.c (O_EXEC): Define fallback.
28168
28169 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
28170
28171         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
28172         * NEWS: Document recent changes to fcntl-h.
28173         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
28174         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
28175         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
28176         Similarly for O_SEARCH; this last was already true, but not documented.
28177         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
28178         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
28179         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
28180         Likewise.
28181         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
28182         is zero, not whether it is defined.
28183         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
28184         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
28185         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
28186
28187 2010-09-10  Bruno Haible  <bruno@clisp.org>
28188
28189         langinfo, nl_langinfo: Fix for IRIX 5.3.
28190         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
28191         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
28192         HAVE_LANGINFO_YESEXPR.
28193         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
28194         HAVE_LANGINFO_YESEXPR.
28195         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
28196         HAVE_LANGINFO_T_FMT_AMPM is 0.
28197         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
28198         HAVE_LANGINFO_YESEXPR is 0.
28199         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
28200         NOEXPR.
28201         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
28202         * doc/posix-functions/nl_langinfo.texi: Likewise.
28203         Reported by Eric Blake.
28204
28205 2010-09-10  Bruno Haible  <bruno@clisp.org>
28206
28207         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
28208         * doc/glibc-functions/login_tty.texi: Mention the include file problem
28209         on FreeBSD 8.0 and OpenBSD 4.6.
28210         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
28211         * m4/pty_h.m4 (gl_PTY_H): Likewise.
28212         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
28213         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
28214         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
28215         ac_includes_default.
28216         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28217
28218 2010-09-09  Eric Blake  <eblake@redhat.com>
28219
28220         strsignal: work around NetBSD bug
28221         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
28222         * lib/string.in.h (includes): Likewise.
28223         * doc/posix-functions/strsignal.texi (strsignal): Document the
28224         bug.
28225         Reported by Nelson H. F. Beebe.
28226
28227         gnulib-tool: work with NetBSD /bin/sh
28228         * gnulib-tool (func_cache_var, func_cache_lookup_module)
28229         (func_get_description, func_get_comment, func_get_status)
28230         (func_get_notice, func_get_applicability, func_get_filelist)
28231         (func_get_dependencies, func_get_autoconf_early_snippet)
28232         (func_get_autoconf_snippet, func_get_automake_snippet)
28233         (func_get_include_directive, func_get_link_directive)
28234         (func_get_license, func_get_maintainer, func_import): Avoid
28235         shell syntax errors from parsing syntax extensions.
28236
28237 2010-09-09  Bruno Haible  <bruno@clisp.org>
28238
28239         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
28240         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
28241         a reliable way to determine whether the 'alias' command works.
28242
28243 2010-09-08  Jim Meyering  <meyering@redhat.com>
28244
28245         init.sh: penalize a set-x-impaired shell; don't disqualify it
28246         * tests/init.sh: Too many shells corrupt application stderr when
28247         you set -x, so we can't afford to disqualify them, since at least
28248         on Irix-6.5, that would disqualify all bourne shells.
28249         Instead, use a two-pass approach.
28250         On the first pass, try to find a shell that meets the stricter
28251         condition that set -x does not corrupt stderr.
28252         If no shell meets the stricter condition, retest each candidate
28253         shell, but without that extra condition.  Finally, when
28254         VERBOSE=yes is requested and set -x might cause trouble, simply
28255         issue a warning and refrain from enabling debug output.
28256
28257 2010-09-08  Eric Blake  <eblake@redhat.com>
28258
28259         unsetenv: fix OpenBSD bug
28260         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
28261         * doc/posix-functions/unsetenv.texi (unsetenv): Update
28262         documentation.
28263         Reported by Jim Meyering.
28264
28265         strtod: work around IRIX 6.5 bug
28266         * lib/strtod.c (strtod): Reparse number on shorter string if
28267         exponent parse was invalid.
28268         * tests/test-strtod.c (main): Add check for "0x1p 2".
28269         Reported by Tom G. Christensen.
28270
28271         getopt: optimize previous patch
28272         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
28273         empty variable.  Speed up awk script.
28274         Reported by Paolo Bonzini.
28275
28276 2010-09-08  Jim Meyering  <meyering@redhat.com>
28277
28278         test.sh: disqualify shells for which set -x corrupts stderr
28279         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
28280         and OpenBSD 4.7.  They make it so with "set -x", environment settings
28281         appear in stderr output.  For example, this command:
28282             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
28283         prints "P=1" on those two systems:
28284
28285 2010-09-08  Bruno Haible  <bruno@clisp.org>
28286
28287         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
28288         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
28289         commands, because some shells ignore redirections when there is an
28290         error in the command lookup.
28291         Reported by Eric Blake.
28292
28293 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
28294
28295         * lib/regex.h: Fix a mention of `regex_compile' (should be
28296         `re_compile_pattern').
28297         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
28298         (re_set_registers): Correct name of parameter in comment.
28299
28300         * doc/regex.texi: Add documentation for missing syntax flags.
28301         Remove commented-out documentation of defunct syntax option
28302         RE_NO_EMPTY_ALTS.
28303         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
28304         Add documentation of re_set_registers.
28305         Document trick to re-use a pattern buffer by setting fastmap manually.
28306         Update documentation of struct re_pattern_buffer per public members.
28307         Uncomment documentation of equivalence class operators and
28308         collating symbol operators, since they are now implemented,
28309         Explain leftmost-longest matching in relation to alternatives.
28310         Tidy documentation of substring matching.
28311         Remove POSIX documentation, which is done better in
28312         glibc, and refer the reader there. Keep BSD API documentation, as
28313         that is not readily available elsewhere.
28314
28315 2010-09-07  Eric Blake  <eblake@redhat.com>
28316
28317         getopt: handle POSIXLY_CORRECT set but not exported
28318         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
28319         export state of POSIXLY_CORRECT, due to bash set -o posix.
28320         Reported by Dustin J. Mitchell.
28321
28322 2010-09-05  Bruno Haible  <bruno@clisp.org>
28323
28324         gnulib-tool: Highlight the changed options.
28325         * gnulib-tool (func_usage): Display the --import, --add-import,
28326         --remove-import explanations in bold font.
28327
28328 2010-09-06  Karl Berry  <karl@gnu.org>
28329
28330         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
28331
28332 2010-09-05  Bruno Haible  <bruno@clisp.org>
28333
28334         uniwidth/width: Update comment.
28335         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
28336         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
28337
28338 2010-09-05  Bruno Haible  <bruno@clisp.org>
28339
28340         isinf, isnan: Relax license.
28341         * modules/isinf (License): Change from GPL to LGPL, with consent from
28342         Ben Pfaff.
28343         * modules/isnan (License): Likewise.
28344         Requested by Ludovic Courtès.
28345
28346 2010-09-04  Bruno Haible  <bruno@clisp.org>
28347
28348         gnulib-tool: Help migration from --import to --add-import or --update.
28349         * gnulib-tool: Emit a verbose error message when --import is used
28350         without any module name.
28351
28352 2010-09-04  Bruno Haible  <bruno@clisp.org>
28353
28354         Update doc about gnulib-tool.
28355         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
28356         'gnulib-tool --update' in more detail.
28357         Reported by Eric Blake.
28358
28359 2010-09-04  Bruno Haible  <bruno@clisp.org>
28360
28361         gnulib-tool: Change --import. New options --add/remove-import.
28362         * gnulib-tool: New options --add-import, --remove-import.
28363         (func_usage): Document them.
28364         (have_associative): Define always.
28365         (func_import): In import mode, don't merge the specified settings with
28366         the cached settings. Implement remove-import mode.
28367         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
28368         Explain when to use them versus --import.
28369         (Simple update): Use --add-import instead of --import.
28370         * NEWS: Mention the change.
28371
28372 2010-09-04  Bruno Haible  <bruno@clisp.org>
28373
28374         * doc/gnulib-tool.texi (Initial import): Update paragraph about
28375         separate gnulib.mk.
28376
28377 2010-09-04  Bruno Haible  <bruno@clisp.org>
28378
28379         gnulib-tool: Don't talk about CVS any more.
28380         * gnulib-tool (func_usage, func_import): Write "version control"
28381         instead of CVS.
28382
28383 2010-09-04  Jim Meyering  <meyering@redhat.com>
28384
28385         maint.mk: avoid obscure sc_copyright_check failure in coreutils
28386         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
28387         false positives (whose names may be ill-chosen) when searching
28388         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
28389         would cause a false-positive.
28390
28391         avoid coreutils "make distcheck" failure
28392         Coreutils tests with an absolute build directory name that contains
28393         a space.  Not quoting this directory name caused a failure.
28394         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
28395         * tests/test-vc-list-files-cvs.sh: Likewise.
28396
28397 2010-09-04  Bruno Haible  <bruno@clisp.org>
28398
28399         gnulib-tool: Avoid error when run in a package without Makefile.am.
28400         * gnulib-tool: When collecting the m4dirs in a package that does not
28401         have a Makefile.am, eliminate those directories that contain no
28402         gnulib-cache.m4. Fix expression that counts these directories.
28403
28404 2010-09-04  Bruno Haible  <bruno@clisp.org>
28405
28406         update-copyright test: Improve output when perl is missing or too old.
28407         * tests/test-update-copyright.sh: Move test of Perl version down after
28408         the test whether Perl exists. Provide an explanation relating Perl's
28409         error message to Automake's SKIP: message.
28410
28411 2010-09-04  Bruno Haible  <bruno@clisp.org>
28412
28413         Don't augment PATH in TESTS_ENVIRONMENT.
28414         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
28415         set abs_aux_dir instead of augmenting PATH.
28416         * modules/vc-list-files-tests (Makefile.am): Likewise.
28417         * tests/test-update-copyright.sh: Augment PATH here.
28418         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
28419         path_prepend_.
28420         * tests/test-vc-list-files-git.sh: Likewise.
28421
28422 2010-09-04  Jim Meyering  <meyering@redhat.com>
28423
28424         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
28425         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
28426
28427 2010-09-04  Bruno Haible  <bruno@clisp.org>
28428
28429         strdup: Fix compilation error in C++ mode.
28430         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
28431         the macro.
28432
28433 2010-09-04  Bruno Haible  <bruno@clisp.org>
28434
28435         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
28436         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
28437         macro into a function.
28438         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28439
28440 2010-09-04  Bruno Haible  <bruno@clisp.org>
28441
28442         Set PATH_SEPARATOR the same way autoconf does.
28443         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
28444         the value of PATH_SEPARATOR the same way autoconf-generated configure
28445         scripts do.
28446         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
28447         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
28448
28449 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
28450
28451         Set PATH_SEPARATOR the same way autoconf does.
28452         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
28453         the same way autoconf-generated configure scripts do.
28454         * posix-modules: Likewise.
28455
28456 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
28457
28458         hash: fix safe_hasher const typo
28459         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
28460         const; otherwise, there is a type error later.
28461
28462 2010-09-02  Jim Meyering  <meyering@redhat.com>
28463
28464         test-update-copyright.sh: require perl 5.8.0
28465         * tests/test-update-copyright.sh: Require 5.8.0,
28466         which Tom G. Christensen has confirmed is adequate,
28467         while 5.6.1 is not.
28468
28469 2010-09-02  Eric Blake  <eblake@redhat.com>
28470
28471         tests: init.sh improvements for re-exec'ing with zsh
28472         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
28473         -vx through shell re-exec.
28474         Reported by Tom G. Christensen.
28475
28476         wctype: fix typo in previous commit
28477         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
28478         Reported by Ludovic Courtès.
28479
28480 2010-09-02  Jim Meyering  <meyering@redhat.com>
28481
28482         test-update-copyright.sh: skip test if Perl is too old
28483         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
28484         Reported by Tom G. Christensen.
28485
28486 2010-09-02  Bruno Haible  <bruno@clisp.org>
28487
28488         wctype: Avoid compilation error on IRIX 6.5.30.
28489         * lib/wctype.in.h (iswblank): Declare with a replacement if
28490         REPLACE_ISWBLANK is set.
28491         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
28492         declared. Set REPLACE_ISWBLANK.
28493         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
28494         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
28495         * doc/posix-headers/wctype.texi: Likewise.
28496         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28497
28498 2010-09-01  Bruno Haible  <bruno@clisp.org>
28499
28500         New module 'socketlib'.
28501         * modules/socketlib: New file.
28502         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
28503         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
28504         * modules/sockets (Depends-on): Add socketlib.
28505         Suggested by Sam Steingold <sds@gnu.org>.
28506
28507 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
28508
28509         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
28510
28511         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
28512         when one needs search access to a directory but not read access.
28513         On systems where it is available, it works in some cases where
28514         O_RDONLY does not, namely on directories that are searchable but
28515         not readable, and which need only to be searchable.  If O_SEARCH
28516         is not available, fall back to the traditional method of using
28517         O_RDONLY.
28518
28519         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
28520         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
28521         when opening a directory that needs only to be searchable.
28522         * lib/chdir-safer.c (chdir_no_follow): Likewise.
28523         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
28524         * lib/openat-proc.c (openat_proc_name): Likewise.
28525         * lib/openat.c (openat_needs_fchdir): Likewise.
28526         * lib/save-cwd.c (save_cwd): Likewise.
28527         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
28528
28529 2010-08-28  Bruno Haible  <bruno@clisp.org>
28530
28531         New module 'host-cpu-c-abi'.
28532         * modules/host-cpu-c-abi: New file.
28533         * m4/host-cpu-c-abi.m4: New file, based on part of
28534         clisp/src/m4/general.m4.
28535         Requested by Sam Steingold <sds@gnu.org>.
28536
28537 2010-08-31  Eric Blake  <eblake@redhat.com>
28538         and Jim Meyering  <meyering@redhat.com>
28539
28540         hash: factor, and guard against misbehaving hasher function
28541         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
28542         of table->hasher's return value.  Also protect against a hash value
28543         so large that adding it to table->bucket results in a NULL pointer.
28544         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
28545         Use it in place of open-coded check-and-abort.
28546
28547 2010-08-30  Bruno Haible  <bruno@clisp.org>
28548
28549         hash: silence spurious clang warning
28550         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
28551         Reported by Eric Blake.
28552
28553 2010-08-30  Eric Blake  <eblake@redhat.com>
28554
28555         strstr, memmem, strcasestr: avoid leaked shell message
28556         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
28557         FreeBSD.
28558         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28559         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28560
28561         tests: silence clang warning
28562         * tests/test-malloca.c (do_allocation): Avoid dead store.
28563
28564 2010-08-29  Bruno Haible  <bruno@clisp.org>
28565
28566         gettext: Fix recent mistake.
28567         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
28568
28569 2010-08-29  Bruno Haible  <bruno@clisp.org>
28570
28571         selinux-h: Offer a --without-selinux option.
28572         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
28573         --without-selinux was specified, skip all tests and define
28574         HAVE_SELINUX_SELINUX_H to 0.
28575         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
28576         set LIB_SELINUX to empty.
28577         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
28578         gl_LIBSELINUX. If --without-selinux was specified, replace
28579         selinux/context.h.
28580         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
28581
28582 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28583             Bruno Haible  <bruno@clisp.org>
28584
28585         Make the module 'realloc-gnu' work again on AIX and OSF/1.
28586         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
28587         of HAVE_REALLOC.
28588         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
28589         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
28590         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
28591         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28592
28593 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28594             Bruno Haible  <bruno@clisp.org>
28595
28596         Make the module 'calloc-gnu' work again on AIX and OSF/1.
28597         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
28598         HAVE_CALLOC.
28599         * lib/xmalloc.c: Update accordingly.
28600         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
28601         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
28602         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
28603
28604 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28605             Bruno Haible  <bruno@clisp.org>
28606
28607         Make the module 'malloc-gnu' work again on AIX and OSF/1.
28608         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
28609         HAVE_MALLOC.
28610         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
28611         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
28612         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28613
28614 2010-08-29  Bruno Haible  <bruno@clisp.org>
28615
28616         Update modules list.
28617         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28618         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
28619         (String handling <string.h>): Add astrxfrm.
28620         (File system functions): Add readlinkat.
28621
28622 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28623
28624         Tests for module 'realloc-gnu'.
28625         * modules/realloc-gnu-tests: New file.
28626         * tests/test-realloc-gnu.c: New file.
28627
28628         Tests for module 'calloc-gnu'.
28629         * modules/calloc-gnu-tests: New file.
28630         * tests/test-calloc-gnu.c: New file.
28631
28632         Tests for module 'malloc-gnu'.
28633         * modules/malloc-gnu-tests: New file.
28634         * tests/test-malloc-gnu.c: New file.
28635
28636 2010-08-28  Bruno Haible  <bruno@clisp.org>
28637
28638         Rename module 'realloc' -> 'realloc-gnu'.
28639         * modules/realloc-gnu: New file, copied from modules/realloc.
28640         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
28641         obsolete.
28642         * modules/mgetgroups (Depends-on): Update.
28643         * doc/posix-functions/realloc.texi: Update.
28644         * NEWS: Mention the change.
28645
28646         Rename module 'calloc' -> 'calloc-gnu'.
28647         * modules/calloc-gnu: New file, copied from modules/calloc.
28648         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
28649         obsolete.
28650         * doc/posix-functions/calloc.texi: Update.
28651         * NEWS: Mention the change.
28652
28653         Rename module 'malloc' -> 'malloc-gnu'.
28654         * modules/malloc-gnu: New file, copied from modules/malloc.
28655         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
28656         obsolete.
28657         * modules/argp (Depends-on): Update.
28658         * modules/regex (Depends-on): Update.
28659         * doc/posix-functions/malloc.texi: Update.
28660         * NEWS: Mention the change.
28661
28662 2010-08-28  Eric Blake  <eblake@redhat.com>
28663
28664         pread, pwrite: add missing dependency
28665         * modules/pread (Depends-on): Add extensions.
28666         * modules/pwrite (Depends-on): Likewise.
28667
28668 2010-08-28  Bruno Haible  <bruno@clisp.org>
28669
28670         unistr/u*-strchr: Fix tests dependencies.
28671         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
28672         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
28673         Reported by Ian Beckwith <ianb@erislabs.net>.
28674
28675 2010-08-28  Bruno Haible  <bruno@clisp.org>
28676
28677         read-file: Don't occupy too much unused memory.
28678         * lib/read-file.c (fread_file): Shrink the buffer at the end.
28679
28680 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
28681             Eric Blake  <eblake@redhat.com>
28682             Bruno Haible  <bruno@clisp.org>
28683
28684         read-file: Avoid memory reallocations with regular files.
28685         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
28686         (fread_file): With regular files, use the remaining length as the
28687         initial buffer size.  Check against overflow.
28688         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
28689         sys_stat.
28690
28691 2010-08-28  Bruno Haible  <bruno@clisp.org>
28692
28693         ftello: Relax license.
28694         * modules/ftello (License): Relax to LGPLv2+.
28695         Reported by Eric Blake.
28696
28697 2010-08-28  Bruno Haible  <bruno@clisp.org>
28698
28699         Avoid relocwrapper link errors due to gnulib replacement functions.
28700         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
28701         function.
28702         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28703
28704 2010-08-28  Bruno Haible  <bruno@clisp.org>
28705
28706         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
28707         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
28708         defined.
28709         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
28710         Suggested by Eric Blake.
28711
28712 2010-08-28  Bruno Haible  <bruno@clisp.org>
28713
28714         sys_socket, netdb: Ensure socklen_t gets defined.
28715         * modules/sys_socket (Depends-on): Add socklen.
28716         * modules/netdb (Depends-on): Likewise.
28717         * modules/getaddrinfo (Depends-on): Remove socklen.
28718         * modules/getsockopt (Depends-on): Likewise.
28719         * modules/setsockopt (Depends-on): Likewise.
28720         * tests/test-sys_socket.c: Check that socklen_t is defined.
28721         * tests/test-netdb.c: Likewise.
28722         * m4/socklen.m4: Update comments.
28723         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28724
28725 2010-08-27  Eric Blake  <eblake@redhat.com>
28726
28727         login_tty: add missing dependency
28728         * modules/login_tty (Depends-on): Add pty.
28729
28730 2010-08-26  Eric Blake  <eblake@redhat.com>
28731
28732         lib-symbol-versions: fix m4 quoting
28733         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
28734         format for AC_LINK_IFELSE.
28735
28736         glob: fix compile test
28737         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
28738
28739         btowc: fix missing file
28740         * modules/btowc (Files): Also ship locale-fr.m4.
28741
28742         lseek: fix link test
28743         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
28744         AC_LINK_IFELSE.
28745
28746         include_next: silence autoconf 2.68 warning
28747         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
28748         AC_COMPILE_IFELSE as special.
28749         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
28750         autoconf < 2.68.
28751
28752         acl: fix compilation test
28753         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
28754         AC_COMPILE_IFELSE.
28755
28756 2010-08-26  Bruno Haible  <bruno@clisp.org>
28757
28758         Modernize AC_TRY_RUN invocations.
28759         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
28760         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28761         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
28762         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
28763         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
28764         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28765         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28766         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28767         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28768         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28769         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28770         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28771         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28772         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28773         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28774         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28775         gl_MBRLEN_NUL_RETVAL): Likewise.
28776         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28777         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28778         Likewise.
28779         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28780         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28781         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28782         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28783         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
28784         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
28785         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
28786         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
28787         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
28788         Likewise.
28789         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28790         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
28791         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28792         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28793         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28794         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28795         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28796         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
28797         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28799
28800 2010-08-26  Bruno Haible  <bruno@clisp.org>
28801
28802         Modernize AC_TRY_LINK invocations.
28803         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
28804         AC_TRY_LINK.
28805         * m4/argp.m4 (gl_ARGP): Likewise.
28806         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
28807         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28808         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28809         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28810         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28811         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
28812         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
28813         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
28814         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28815         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28816         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28817         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
28818         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
28819         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28820         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28821         * m4/hostent.m4 (gl_HOSTENT): Likewise.
28822         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28823         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
28824         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28825         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
28826         Likewise.
28827         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
28828         Likewise.
28829         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
28830         Likewise.
28831         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28832         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
28833         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
28834         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
28835         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
28836         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28837         * m4/servent.m4 (gl_SERVENT): Likewise.
28838         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
28839         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
28840         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
28841         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
28842         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28843         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
28844         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28845         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28846         * modules/tsearch-tests (configure.ac): Likewise.
28847
28848 2010-08-26  Bruno Haible  <bruno@clisp.org>
28849
28850         Modernize AC_TRY_COMPILE invocations.
28851         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
28852         AC_TRY_COMPILE.
28853         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
28854         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
28855         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28856         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
28857         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28858         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28859         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28860         * m4/lock.m4 (gl_LOCK): Likewise.
28861         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
28862         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28863         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
28864         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28865         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28866         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
28867         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28868         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
28869         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28870         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28871         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28872         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28873         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
28874         extraneous semicolon.
28875
28876 2010-08-26  Jim Meyering  <meyering@redhat.com>
28877
28878         stat-time: relax license LGPL
28879         * modules/stat-time (License): Change from GPL to LGPL,
28880         with consent from all contributors, for use in libguile.
28881         Requested by Ludovic Courtès.
28882
28883 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
28884
28885         poll: return immediately on POLLHUP.
28886         * lib/poll.c (poll): Always set timeout before wait_timeout is
28887         computed.
28888
28889 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28890
28891         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
28892         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
28893         rmdir ("dir/.//"), unlinkat.
28894
28895 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28896
28897         stdbool: avoid spurious failure with modern xlc
28898         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28899
28900 2010-08-24  Bruno Haible  <bruno@clisp.org>
28901
28902         getloadavg: simplify code
28903         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
28904         gl_have_func. Update comments.
28905
28906 2010-08-24  Eric Blake  <eblake@redhat.com>
28907
28908         getloadavg: don't define SVR4 on cygwin
28909         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
28910         only define SVR4 when -lkvm is required.
28911         Reported by Yaakov Selkowitz.
28912
28913 2010-08-24  Bruno Haible  <bruno@clisp.org>
28914
28915         priv-set: fix comment
28916         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
28917
28918 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28919
28920         priv-set: fix comments
28921         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
28922         to match code, as suggested by David Bartley in:
28923         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
28924
28925 2010-08-23  Eric Blake  <eblake@redhat.com>
28926
28927         stdbool: avoid rejecting clang
28928         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28929         * tests/test-stdbool.c: Enable more tests if using the system
28930         <stdbool.h> instead of the gnulib replacement.
28931         (main): Move xlc bug test to a runtime test for all compilers.
28932         Reported by Anders Kaseorg.
28933
28934         argz: fix shell quoting issue
28935         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
28936         Reported by Charles Wilson.
28937
28938 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
28939             Erik Faye-Lund <kusmabite@gmail.com>
28940
28941         poll, select: handle ERROR_BROKEN_PIPE.
28942         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28943         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28944         * lib/select.c (win32_compute_revents): Do not mark a pipe
28945         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28946
28947 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28948
28949         fts: allow compilation with C++
28950         * lib/fts_.h: Specify extern "C" linkage with C++.
28951
28952 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28953
28954         Fix gnulib-tool sed script de-commentation for AIX sed.
28955         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28956         sed.
28957
28958 2010-08-17  Eric Blake  <eblake@redhat.com>
28959
28960         test-stddef: test for (some) offsetof bugs
28961         * tests/test-stddef.c: Enhance test to ensure correct type of
28962         offsetof.
28963         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28964         that we are not fixing at this time.
28965
28966 2010-08-15  Bruno Haible  <bruno@clisp.org>
28967
28968         stpncpy: Allow stpncpy to be defined as a macro.
28969         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28970         if it's already correctly declared.
28971         * lib/string.in.h (stpncpy): Undefine before redefining.
28972         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28973
28974 2010-08-14  Bruno Haible  <bruno@clisp.org>
28975
28976         Rename module 'memxfrm' to 'amemxfrm'.
28977         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28978         (amemxfrm): Renamed from memxfrm.
28979         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28980         (amemxfrm): Renamed from memxfrm.
28981         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28982         * NEWS: Mention the change.
28983         * MODULES.html.sh (String handling <string.h>): Update.
28984         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28985         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28986         * lib/unicase/u16-casexfrm.c: Likewise.
28987         * lib/unicase/u32-casexfrm.c: Likewise.
28988         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28989         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28990         * lib/uninorm/u16-normxfrm.c: Likewise.
28991         * lib/uninorm/u32-normxfrm.c: Likewise.
28992         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28993         memxfrm.
28994         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28995         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28996         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28997         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28998         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28999         Suggested by Paul Eggert.
29000
29001 2010-08-14  Bruno Haible  <bruno@clisp.org>
29002
29003         Tests for module 'astrxfrm'.
29004         * modules/astrxfrm-tests: New file.
29005         * tests/test-astrxfrm.c: New file.
29006
29007         New module 'astrxfrm'.
29008         * lib/astrxfrm.h: New file.
29009         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
29010         * modules/astrxfrm: New file.
29011
29012 2010-08-14  Reuben Thomas <rrt@sc3d.org>
29013
29014         regex: Tweak doc.
29015         * doc/regex.texi (Overview): Don't mention regex.c.
29016         (GNU Regular Expression Compiling): Likewise.
29017         (Match-end-of-line Operator): Mention 'not_eol'.
29018
29019 2010-08-14  Brian Gough  <bjg@gnu.org>
29020             Bruno Haible  <bruno@clisp.org>
29021
29022         git-merge-changelog: add doc relating to use with bzr and hg.
29023         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
29024
29025 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
29026
29027         pthread: fix pthread.h creation for srcdir != builddir
29028         * modules/pthread (Makefile.am): Fix the rule to work also in a
29029         non-srcdir build.
29030
29031 2010-08-13  Karl Berry  <karl@gnu.org>
29032
29033         * doc/regex.texi (Predefined Syntaxes): @smallexample.
29034         * doc/posix-*/*: force line break before @url of POSIX
29035         specifications.
29036         Suggested by Werner Lemberg.
29037
29038 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
29039
29040         strtod: fix const diagnostic
29041         * lib/strtod.c (strtod): Don't assign const char * to char *,
29042         as this elicits a warning from GCC when warnings are enabled.
29043
29044 2010-08-10  Pádraig Brady <P@draigbrady.com>
29045         and Eric Blake  <eblake@redhat.com>
29046
29047         copy-acl: ignore ENOTSUP on HP-UX
29048         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
29049         so that it is available for HP-UX.
29050         * lib/copy-acl.c (qcopy_acl): Use it.
29051         Reported by Patrick M. Callahan.
29052
29053 2010-08-10  Eric Blake  <eblake@redhat.com>
29054
29055         open, chown: relax license
29056         * modules/open (License): Change to LGPLv2+, with consent by all
29057         authors, for use in augeas.
29058         * modules/chown (License): Likewise.
29059         * modules/lchown (Likewise): Likewise.
29060         Requested by Adam Stokes.
29061
29062 2010-08-09  Karl Berry  <karl@gnu.org>
29063
29064         * build-aux/ar-lib: new file, import from Automake.
29065         * config/srclist.txt: autocheck for updates.
29066
29067 2010-08-09  Eric Blake  <eblake@redhat.com>
29068
29069         readlinkat: adjust client modules
29070         * modules/areadlinkat (Depends-on): Use readlinkat, not
29071         symlinkat.
29072         * modules/areadlinkat-with-size (Depends-on): Likewise.
29073
29074         mknod: be more vocal about danger of running tests as root
29075         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
29076         root, since that is just asking for problems.
29077         Suggested by Bruno Haible, based on a report by Rainer Tammer.
29078
29079         readlinkat: split into its own module
29080         * modules/symlinkat: Split readlinkat...
29081         * modules/readlinkat: ...into separate module.
29082         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
29083         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
29084         * lib/symlinkat.c (readlinkat): Move...
29085         * lib/readlinkat.c: ...into new file.
29086         * modules/symlinkat-tests: Split readlinkat test...
29087         * modules/readlinkat-tests: ...into separate module.
29088         * tests/test-symlinkat.c: Split...
29089         * tests/test-readlinkat.c: ...into new file.
29090         * NEWS: Document the split.
29091         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29092         * lib/unistd.in.h (readlinkat): Likewise.
29093         Suggested by Bruno Haible.
29094
29095 2010-08-08  Bruno Haible  <bruno@clisp.org>
29096
29097         memxfrm: Speed up.
29098         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
29099         that usually only one call to strxfrm is necessary for each string
29100         part.
29101         Reported by Paul Eggert <eggert@cs.ucla.edu>.
29102
29103 2010-08-07  Karl Berry  <karl@gnu.org>
29104
29105         * doc/posix-headers/limits.texi,
29106         * doc/posix-functions/malloc.texi,
29107         * doc/posix-functions/strsignal.texi: missing @item.
29108         * doc/ld-version-script.texi: spurious leading i.
29109         * doc/regex.texi (Interval Operators): no commas inside @var.
29110
29111 2010-08-01  Bruno Haible  <bruno@clisp.org>
29112
29113         Integrate the regex documentation.
29114         * doc/gnulib.texi: Define 'cn' index.
29115         (Regular expressions): New a chapter that includes regex.texi and
29116         regexprops-generic.texi.
29117         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
29118         syntax.
29119
29120         Whitespace cleanup.
29121         * doc/regex.texi: Remove trailing spaces.
29122
29123         Add regex documentation.
29124         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
29125         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
29126         Written by Kathy A. Hargreaves and Karl Berry.
29127
29128 2010-08-01  Bruno Haible  <bruno@clisp.org>
29129
29130         link: Update documentation.
29131         * doc/posix-functions/link.texi: Update regarding Solaris.
29132
29133 2010-07-31  Bruno Haible  <bruno@clisp.org>
29134
29135         Update modules list.
29136         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
29137         (String handling <string.h>): Add memcmp2, memxfrm.
29138         (Container data structures): Add xlist, xsublist, xoset.
29139         (Core language properties): Add alignof, unused-parameter.
29140         (Process control, Numeric conversion functions <stdlib.h>): Renamed
29141         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
29142         (Unibyte characters <ctype.h>): New section.
29143         (String handling <string.h>): New section.
29144         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
29145         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
29146         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
29147         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
29148         tan, tanh, tanl, y0, y1, yn.
29149         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
29150         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
29151         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
29152         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
29153         unlockpt, vdprintf, vdprintf-posix.
29154         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
29155         (File system functions): Add concat-filename, sys_file, sys_ioctl,
29156         xconcat-filename.
29157         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
29158         getdtablesize, pipe2, pipe2-safer.
29159         (Security): New section.
29160         (Networking functions): Add accept4.
29161         (Signal handling): Add sigpipe.
29162         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
29163         mbmemcasecoll.
29164         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
29165         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
29166         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
29167         pipe-filter-ii.
29168         (Misc): Add argp-version-etc, login_tty, parse-duration.
29169
29170 2010-07-31  Bruno Haible  <bruno@clisp.org>
29171
29172         Improve doc in MODULES.html.
29173         * modules/linkat (Description): Add the word "function".
29174         * modules/mkfifo (Description): Likewise.
29175         * modules/mknod (Description): Likewise.
29176         * modules/remove (Description): Likewise.
29177         * modules/renameat (Description): Likewise.
29178         * modules/stat (Description): Likewise.
29179         * modules/symlink (Description): Likewise.
29180         * modules/unlink (Description): Likewise.
29181
29182 2010-07-31  Bruno Haible  <bruno@clisp.org>
29183
29184         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
29185         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
29186         option --enable/disable-c++ instead of --enable/disable-cxx.
29187         * NEWS: Mention the change.
29188
29189 2010-07-31  Bruno Haible  <bruno@clisp.org>
29190
29191         readlink, areadlink: Relax test a bit.
29192         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
29193         alternative to ENOTDIR.
29194         * tests/test-areadlink.h (test_areadlink): Likewise.
29195         Reported by Rainer Tammer.
29196
29197 2010-07-31  Bruno Haible  <bruno@clisp.org>
29198
29199         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
29200         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
29201         character, perform the search using U_STRCHR.
29202         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
29203         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
29204         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
29205         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
29206         Suggested by Paolo Bonzini.
29207
29208 2010-07-31  Bruno Haible  <bruno@clisp.org>
29209
29210         unistr/u*-strstr: Fix dependencies.
29211         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
29212         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
29213         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
29214
29215 2010-07-31  Bruno Haible  <bruno@clisp.org>
29216
29217         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
29218         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
29219         the beginning of the loop.
29220         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
29221         cases in 'switch' statement.
29222
29223         unistr/u8-strchr: Fix several bugs.
29224         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
29225         the string. When not found, return NULL, not a pointer near the end.
29226
29227         More tests for unistr/u8-strchr.
29228         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
29229         that the function does not read past the first occurrence of the byte
29230         being searched.
29231         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
29232         * tests/unistr/test-u16-strchr.c (main): New function.
29233         * tests/unistr/test-u32-strchr.c (main): New function.
29234
29235 2010-07-31  Bruno Haible  <bruno@clisp.org>
29236
29237         posix-modules: Ignore backup files of documentation files.
29238         * posix-modules: grep only through files named *.texi.
29239
29240 2010-07-31  Bruno Haible  <bruno@clisp.org>
29241
29242         symlinkat: Fix documentation.
29243         * doc/posix-functions/readlinkat.texi: Fix module name.
29244
29245 2010-07-31  Bruno Haible  <bruno@clisp.org>
29246
29247         fchownat: Replace also when chown has the trailing slash bug.
29248         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
29249         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
29250         introduced on 2010-04-10.
29251         Reported by Rainer Tammer.
29252
29253 2010-07-31  Bruno Haible  <bruno@clisp.org>
29254
29255         linkat: Work around AIX 7.1 bug.
29256         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
29257         whether linkat handles trailing slash correctly. If not, replace linkat
29258         and define LINKAT_TRAILING_SLASH_BUG.
29259         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
29260         check whether (fd1,file1) points to a directory if file1 or file2 ends
29261         in a slash. Code taken from lib/link.c.
29262         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
29263         Reported by Rainer Tammer.
29264
29265 2010-07-31  Bruno Haible  <bruno@clisp.org>
29266
29267         Correctly determine whether pow is available in libc on AIX 7 with xlc.
29268         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
29269         This disables an xlc optimization that was causing wrong test results.
29270         Reported by Rainer Tammer.
29271
29272 2010-07-31  Bruno Haible  <bruno@clisp.org>
29273
29274         iconv: Work around AIX 6.1..7.1 bug.
29275         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
29276         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
29277         cross-compiling, guess no on all versions of AIX.
29278         Reported by Rainer Tammer.
29279
29280 2010-07-31  Bruno Haible  <bruno@clisp.org>
29281
29282         readlink: Relax test a bit.
29283         * tests/test-readlink.h (test_readlink): Allow different errno value
29284         when readlink is called with a file name that ends in / and refers to
29285         a file.
29286         Suggested by Eric Blake.
29287         Reported by Rainer Tammer.
29288
29289 2010-07-31  Bruno Haible  <bruno@clisp.org>
29290
29291         copysign: Does not require -lm on glibc systems.
29292         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
29293         gl_COMMON_DOUBLE_MATHFUNC.
29294         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
29295
29296 2010-07-31  Bruno Haible  <bruno@clisp.org>
29297
29298         duplocale: Work around AIX 7.1 bug.
29299         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
29300         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
29301         * lib/duplocale.c (rpl_duplocale): Update comment.
29302         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
29303         Reported by Rainer Tammer.
29304
29305 2010-07-30  Bruno Haible  <bruno@clisp.org>
29306
29307         dirfd: Avoid link error on AIX 7.1.
29308         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
29309         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
29310         exist, set REPLACE_DIRFD.
29311         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
29312         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
29313         * doc/posix-functions/dirfd.texi: Update.
29314         Reported by Rainer Tammer.
29315
29316 2010-07-30  Eric Blake  <eblake@redhat.com>
29317
29318         strtod: next round of AIX fixes
29319         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
29320         exponent.
29321         * tests/test-strtod.c (main): Enhance tests.
29322         * doc/posix-functions/strtod.texi (strtod): Document next bug.
29323         Reported by Rainer Tammer.
29324
29325         futimens: fix configure check
29326         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
29327         Reported by Bruno Haible.
29328
29329 2010-07-30  Bruno Haible  <bruno@clisp.org>
29330
29331         getline: Update regarding AIX.
29332         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
29333         Reported by Rainer Tammer.
29334
29335 2010-07-30  Bruno Haible  <bruno@clisp.org>
29336
29337         wcwidth: Drop replacement on AIX 7.
29338         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
29339         AIX 7.
29340         Reported by Rainer Tammer.
29341
29342 2010-07-30  Bruno Haible  <bruno@clisp.org>
29343
29344         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
29345         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
29346         a 'char *'.
29347         Reported by Rainer Tammer.
29348
29349 2010-07-30  Bruno Haible  <bruno@clisp.org>
29350
29351         unlink: Update regarding AIX.
29352         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
29353         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
29354         Reported by Rainer Tammer.
29355
29356 2010-07-30  Bruno Haible  <bruno@clisp.org>
29357
29358         symlink: Update regarding AIX.
29359         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
29360         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
29361         Reported by Rainer Tammer.
29362
29363 2010-07-30  Bruno Haible  <bruno@clisp.org>
29364
29365         strndup: Update regarding AIX.
29366         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
29367         AIX 7.
29368         Reported by Rainer Tammer.
29369
29370 2010-07-30  Bruno Haible  <bruno@clisp.org>
29371
29372         stat: Update regarding AIX.
29373         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
29374         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
29375         Reported by Rainer Tammer.
29376
29377 2010-07-30  Bruno Haible  <bruno@clisp.org>
29378
29379         truncl: Fix autoconf test.
29380         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
29381         whether truncl works.
29382         Reported by Rainer Tammer.
29383
29384 2010-07-30  Bruno Haible  <bruno@clisp.org>
29385
29386         round: Update regarding AIX.
29387         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
29388         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
29389         Reported by Rainer Tammer.
29390
29391 2010-07-30  Bruno Haible  <bruno@clisp.org>
29392
29393         rename: Update regarding AIX.
29394         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
29395         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
29396         Reported by Rainer Tammer.
29397
29398 2010-07-30  Bruno Haible  <bruno@clisp.org>
29399
29400         printf.m4: Update regarding AIX.
29401         * m4/printf.m4: Update comments regarding AIX.
29402         Reported by Rainer Tammer.
29403
29404 2010-07-30  Bruno Haible  <bruno@clisp.org>
29405
29406         iconv: Update regarding AIX.
29407         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
29408         AIX 7.
29409         Reported by Rainer Tammer.
29410
29411 2010-07-30  Bruno Haible  <bruno@clisp.org>
29412
29413         getopt: Update regarding AIX.
29414         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
29415         no on AIX.
29416         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
29417         Reported by Rainer Tammer.
29418
29419 2010-07-30  Bruno Haible  <bruno@clisp.org>
29420
29421         ldexpl; Update regarding AIX.
29422         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
29423         on AIX 7.
29424         Reported by Rainer Tammer.
29425
29426 2010-07-30  Bruno Haible  <bruno@clisp.org>
29427
29428         frexpl: Update regarding AIX.
29429         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
29430         on AIX 7.
29431         Reported by Rainer Tammer.
29432
29433 2010-07-30  Bruno Haible  <bruno@clisp.org>
29434
29435         open, fopen: Update regarding AIX.
29436         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
29437         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
29438         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
29439         * doc/posix-functions/fopen.texi: Likewise.
29440         Reported by Rainer Tammer.
29441
29442 2010-07-30  Bruno Haible  <bruno@clisp.org>
29443
29444         chown: Update doc regarding AIX.
29445         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
29446         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
29447         Reported by Rainer Tammer.
29448
29449 2010-07-30  Eric Blake  <eblake@redhat.com>
29450
29451         strtod: fix bug in replacement function on AIX
29452         * lib/strtod.c (strtod): Special case broken "0x" parse in
29453         underlying strtod.
29454         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
29455         * doc/posix-functions/strtod.texi (strtod): Likewise.
29456         Reported by Rainer Tammer.
29457
29458 2010-07-30  Bruno Haible  <bruno@clisp.org>
29459
29460         mbrlen: Fix cross-compilation guess for AIX.
29461         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
29462         guess. Leftover from 2008-12-22.
29463
29464 2010-07-30  Bruno Haible  <bruno@clisp.org>
29465
29466         mbrtowc: Fix cross-compilation guess for AIX.
29467         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
29468         guess. Leftover from 2008-12-21.
29469
29470 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
29471
29472         init.sh: work around trap limitation of some shells
29473         * tests/init.sh (setup_): Move exit trap outside of shell function.
29474
29475 2010-07-29  Eric Blake  <eblake@redhat.com>
29476
29477         strtod: aid debugging
29478         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
29479         understanding why strtod is rejected.
29480
29481 2010-07-28  Bruno Haible  <bruno@clisp.org>
29482
29483         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
29484         * lib/unistr/u8-chr.c: Include <string.h>.
29485         * tests/unistr/test-u8-chr.c: Likewise.
29486         * tests/unistr/test-u16-chr.c: Likewise.
29487         * tests/unistr/test-u32-chr.c: Likewise.
29488         * tests/unistr/test-u8-strchr.c: Likewise.
29489         * tests/unistr/test-u16-strchr.c: Likewise.
29490         * tests/unistr/test-u32-strchr.c: Likewise.
29491         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
29492         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
29493         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
29494         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
29495
29496 2010-07-28  Bruno Haible  <bruno@clisp.org>
29497
29498         Use spaces for indentation, not tabs.
29499         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
29500
29501 2010-07-27  Bruno Haible  <bruno@clisp.org>
29502
29503         mbspcasecmp: Fix function specification.
29504         * lib/string.in.h (mbspcasecmp): Fix specification comment.
29505         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
29506         Reported by Eric Blake <eblake@redhat.com>.
29507
29508 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
29509
29510         timespec: use cast and not conditional, as truncation isn't possible
29511         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
29512         instead of a conditional.  Comment about the situation in more detail.
29513         This undoes most of the 2009-10-29 patch.
29514
29515 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
29516
29517         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
29518         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
29519         * lib/unistr/u8-strchr.c: Likewise.
29520         * modules/unistr/u8-chr: Depend on memchr.
29521
29522         unistr/u*-strchr: add tests
29523         * modules/unistr/u8-strchr-tests: New file.
29524         * modules/unistr/u16-strchr-tests: New file.
29525         * modules/unistr/u32-strchr-tests: New file.
29526         * tests/unistr/test-strchr.h: New file.
29527         * tests/unistr/test-u8-strchr.c: New file.
29528         * tests/unistr/test-u16-strchr.c: New file.
29529         * tests/unistr/test-u32-strchr.c: New file.
29530
29531         unistr/u*-chr: test multibyte sequences more
29532         * tests/unistr/test-chr.h: Do complete testing of the characters in the
29533         test vector.
29534         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
29535         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
29536         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
29537
29538         unistr/u*-chr: test multibyte sequences
29539         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
29540
29541         unistr/u*-chr: prepare for multibyte tests
29542         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
29543         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
29544         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
29545         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
29546         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
29547         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
29548
29549 2010-07-18  Bruno Haible  <bruno@clisp.org>
29550
29551         unistr/u8-strchr: Optimize non-ASCII argument case.
29552         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
29553         because the first byte often matches anyway.
29554         Reported by Pádraig Brady <P@draigbrady.com>.
29555
29556 2010-07-15  Karl Berry  <karl@gnu.org>
29557
29558         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
29559
29560 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
29561
29562         getcwd: on Solaris, work better if ancestors are inaccessible
29563         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
29564         buffer and size, try again with a large buffer.  This works better
29565         on Solaris, since its getcwd succeeds even if the path to the root
29566         is inaccessible, and this is helpful in common cases such as .zfs
29567         hidden directories.  Problem reported by J Chapman Flack in
29568         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
29569         Use system getcwd if it's declared, not merely if it's partly
29570         working; use the partly-working test only to avoid needless effort
29571         if the system getcwd fails.
29572         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
29573         comment that was already obsolete and is now even more obsolete.
29574         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
29575         now might call strdup.
29576
29577 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
29578
29579         pthread: Add enough so that coreutils/src/sort.c compiles.
29580         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
29581         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
29582         gnulib. Include <sched.h> and <time.h>, as per POSIX.
29583         Include <sys/types.h>, in case it defines pthread_t.
29584         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
29585         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
29586         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
29587         (pthread_rwlockattr_t, pthread_spinlock_t):
29588         New typedefs, if HAVE_PTHREAD_T is not defined.
29589         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
29590         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
29591         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
29592         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
29593         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
29594         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
29595         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
29596         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
29597         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
29598         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
29599         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
29600         New macros.
29601         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
29602         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
29603         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
29604         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
29605         (pthread_spin_unlock): New dummy functions.
29606         (pthread_create): Return EAGAIN; don't set errno.
29607         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
29608         require AC_C_INLINE.
29609         * modules/pthread (Depends-on): Add sched, time.
29610         (pthread.h): Use AM_V_GEN.
29611
29612 2010-07-13  Bruno Haible  <bruno@clisp.org>
29613
29614         striconveh: Don't malloc memory if the result buffer is sufficient.
29615         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
29616         buffer if its size is sufficient.
29617         Reported by Ludovic Courtès <ludo@gnu.org>.
29618
29619 2010-07-13  Bruno Haible  <bruno@clisp.org>
29620
29621         strtod: Add safety check.
29622         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
29623
29624 2010-07-12  Bruno Haible  <bruno@clisp.org>
29625
29626         Unify tests that set gl_cv_func_ldexpl_no_libm.
29627         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
29628         gl_FUNC_LDEXPL.
29629         (gl_FUNC_LDEXPL): Invoke it.
29630         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29631
29632 2010-07-12  Bruno Haible  <bruno@clisp.org>
29633
29634         Unify tests that set gl_cv_func_ldexp_no_libm.
29635         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
29636         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
29637         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
29638         (configure.ac): Simply invoke gl_FUNC_LDEXP.
29639         * modules/strtod (Files): Add m4/ldexp.m4.
29640
29641 2010-07-12  Bruno Haible  <bruno@clisp.org>
29642
29643         Unify tests that set gl_cv_func_frexpl_no_libm.
29644         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
29645         gl_FUNC_FREXPL_NO_LIBM.
29646         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
29647         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29648
29649 2010-07-12  Bruno Haible  <bruno@clisp.org>
29650
29651         Unify tests that set gl_cv_func_frexp_no_libm.
29652         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
29653         gl_FUNC_FREXP_NO_LIBM.
29654         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
29655         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29656
29657 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29658
29659         memcoll: clarify sizes versus lengths, document better, and tweak perf
29660         * lib/memcoll.c (strcoll_loop, memcoll0):
29661         Improve quality of descriptive comments.  Name variables
29662         consistently as to whether they are lengths (which do not include
29663         terminating null) versus sizes (which do).
29664         * lib/xmemcoll.c (xmemcoll0): Likewise.
29665         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
29666         returned when s1size == 0; this is easier to compile and saves
29667         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
29668
29669 2010-07-12  Bruno Haible  <bruno@clisp.org>
29670
29671         Tests for module '_Exit'.
29672         * modules/_Exit-tests: New file.
29673         * tests/test-_Exit.sh: New file.
29674         * tests/test-_Exit.c: New file.
29675
29676         New module '_Exit'.
29677         * lib/stdlib.in.h (__attribute__): New macro.
29678         (_Exit): New declaration.
29679         * lib/_Exit.c: New file.
29680         * m4/_Exit.m4: New file.
29681         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
29682         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
29683         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
29684         * modules/_Exit: New file.
29685         * tests/test-stdlib-c++.cc (_Exit): Check signature.
29686         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
29687
29688 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29689
29690         strtod: make it more-accurate typically, and don't require libm
29691         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
29692         Include limits.h.  Don't include string.h.
29693         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
29694         (locale_isspace): New function, so that no casts are needed to
29695         check whether *s is a space.
29696         (ldexp): Provide an unused dummy if not available.
29697         (scale_radix_exp, parse_number, underlying_strtod): New functions.
29698         (strtod): Use them.  This implementation prefers to use the
29699         underlying strtod if available, falling back on our own code
29700         only to fix known bugs.  This is more likely to produce an
29701         accurate result.  Also, it avoids the use of libm functions.
29702         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
29703         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
29704         was absent, but it caused a test failure with coreutils.
29705         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
29706         with libm.
29707         * modules/strtod (Makefile.am, Link): libm is no longer needed.
29708         * modules/strtod-tests (Makefile.am): Likewise.
29709
29710 2010-07-11  Pádraig Brady  <P@draigBrady.com>
29711             Bruno Haible  <bruno@clisp.org>
29712
29713         unistr/u8-strchr: Optimize ASCII argument case.
29714         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
29715
29716 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29717
29718         (x)memcoll: minor tweaks
29719         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
29720         is after the type that it qualifies.
29721         (memcoll0): Likewise.
29722         * lib/memcoll.h (memcoll0): Likewise.
29723         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
29724         * lib/xmemcoll.h (xmemcoll0): Likewise.
29725         * lib/memcoll.c (memcoll0): Correct the comment.  This function
29726         differs from memcoll in that the NUL byte is part of the argument.
29727         Omit the abort-checks, as performance is a real issue here.  Plus,
29728         the checks were wrong anyway (an off-by-one error).  Omit local
29729         variable 'diff', as it's a bit clearer that way.
29730         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
29731         no longer needed.
29732
29733 2010-07-08  Chen Guo <chenguo4@yahoo.com>
29734
29735         (x)memcoll: speedup when input is known to be NUL delimited
29736         * lib/memcoll.c: Include stdlib.
29737         (memcoll0): New function.
29738         (strcoll_loop): New function, refactored for use in both memcoll
29739         and memcoll0.
29740         * lib/memcoll.h (memcoll0): Add prototype.
29741         * lib/xmemcoll.c (xmemcoll0): New function.
29742         (collate_error): New function, refactored for use in both xmemcoll
29743         and xmemcoll0.
29744         * lib/xmemcoll.h (xmemcoll0): Add prototype.
29745         * m4/memcoll.m4: add inline invocation.
29746
29747 2010-07-06  Pádraig Brady  <P@draigBrady.com>
29748
29749         * build-aux/bootstrap: Remove any local translations
29750         from the translation project synchronization directory,
29751         so that local only translations are not distributed.
29752
29753 2010-07-04  Bruno Haible  <bruno@clisp.org>
29754
29755         fsusage: Clarify which code applies to which platforms.
29756         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
29757         platform.
29758         * lib/fsusage.c (get_fs_usage): Likewise.
29759
29760 2010-07-04  Bruno Haible  <bruno@clisp.org>
29761
29762         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
29763         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
29764         Reported by Martin Lambers <marlam@marlam.de>.
29765
29766 2010-07-04  Jim Meyering  <meyering@redhat.com>
29767
29768         hash: once again explicitly disallow insertion of NULL
29769         * lib/hash.c (hash_insert0): Reinstate just-removed test:
29770         inserting a NULL pointer cannot work with these functions.
29771         Add a comment with details.
29772         This reverts part of the 2010-07-01 commit, 5bef1a35
29773         "hash: extend module to deal with non-pointer keys".
29774
29775 2010-07-01  Bruno Haible  <bruno@clisp.org>
29776
29777         stdbool: Update doc.
29778         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
29779         Info from Christian Weisgerber <naddy@mips.inka.de>.
29780
29781 2010-07-01  Jim Meyering  <meyering@redhat.com>
29782
29783         hash: extend module to deal with non-pointer keys
29784         * lib/hash.c (hash_insert0): New interface, much like hash_insert
29785         but that allows insertion of non-pointer entries.
29786         Do not disallow an ENTRY value of NULL.
29787         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
29788         * lib/hash.h (hash_insert0): Declare.
29789
29790 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29791
29792         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
29793         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
29794         not present (i.e. with autoconf 2.59 and when using gettextize, not
29795         gnulib), require AC_GNU_SOURCE instead.
29796
29797 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
29798
29799         idpriv-drop: Fix tests.
29800         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
29801         not to the test-idpriv-droptemp program.
29802
29803 2010-06-29  Bruno Haible  <bruno@clisp.org>
29804
29805         string: Fix syntax error with g++ 2.96.
29806         * lib/string.in.h (__pure__): Remove definition.
29807         (_GL_ATTRIBUTE_PURE): New macro.
29808         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
29809         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
29810         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29811
29812 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
29813
29814         unitypes: Fix bug introduced on 2010-05-18.
29815         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
29816
29817 2010-06-22  Eric Blake  <eblake@redhat.com>
29818
29819         memmem: slight optimization
29820         * lib/str-two-way.h (critical_factorization): Update comments.
29821         Reduce work during factorization phase.
29822         Reported by Carlos Bueno <carlos@bueno.org>.
29823
29824 2010-06-21  Bruno Haible  <bruno@clisp.org>
29825
29826         Fix HAVE_CALLOC_POSIX misnomer.
29827         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
29828         !HAVE_CALLOC_POSIX.
29829         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
29830         HAVE_CALLOC_POSIX.
29831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
29832         instead of HAVE_CALLOC_POSIX.
29833         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
29834         HAVE_CALLOC_POSIX.
29835
29836         Use modern idiom for calloc() replacement.
29837         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
29838         AC_FUNC_CALLOC.
29839         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
29840         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
29841         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29842         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
29843         (gl_REPLACE_CALLOC): New macro.
29844
29845 2010-06-21  Bruno Haible  <bruno@clisp.org>
29846
29847         Fix HAVE_REALLOC_POSIX misnomer.
29848         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
29849         !HAVE_REALLOC_POSIX.
29850         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
29851         HAVE_REALLOC_POSIX.
29852         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
29853         instead of HAVE_REALLOC_POSIX.
29854         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
29855         HAVE_REALLOC_POSIX.
29856
29857         Use modern idiom for realloc() replacement.
29858         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
29859         AC_FUNC_REALLOC.
29860         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
29861         Autoconf's AC_FUNC_REALLOC.
29862         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29863         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
29864         (gl_REPLACE_REALLOC): New macro.
29865         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29866
29867 2010-06-21  Bruno Haible  <bruno@clisp.org>
29868
29869         Fix HAVE_MALLOC_POSIX misnomer.
29870         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
29871         !HAVE_MALLOC_POSIX.
29872         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
29873         HAVE_MALLOC_POSIX.
29874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
29875         instead of HAVE_MALLOC_POSIX.
29876         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
29877         HAVE_MALLOC_POSIX.
29878
29879         Use modern idiom for malloc() replacement.
29880         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
29881         AC_FUNC_MALLOC.
29882         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
29883         Autoconf's AC_FUNC_MALLOC.
29884         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29885         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
29886         (gl_REPLACE_MALLOC): New macro.
29887         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29888
29889 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
29890
29891         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
29892         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
29893         This macro takes 3 arguments, not 4.
29894
29895 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
29896
29897         ipv6: fix detection under mingw
29898         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
29899         in6_addr.
29900
29901 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
29902
29903         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
29904         that strtod() works when cross-compiling to a glibc version known
29905         to work.
29906
29907 2010-06-15  Bruno Haible  <bruno@clisp.org>
29908
29909         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
29910
29911 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
29912
29913         select: Correct timeout.
29914         * lib/select.c (rpl_select): Compute wait_timeout correctly.
29915
29916 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29917
29918         git-version-gen: init shell var to avoid env var influence
29919         * build-aux/git-version-gen (v): Init shell var to empty.
29920
29921 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
29922
29923         priv-set: Don't assume that priv.h exists merely because getppriv does.
29924         See Jan Andersen's bug report about AIX 5L in
29925         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
29926         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
29927         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
29928         * lib/priv-set.h: Likewise.
29929         * tests/test-priv-set.c: Likewise.
29930
29931 2010-06-13  Bruno Haible  <bruno@clisp.org>
29932
29933         relocatable: Make it easier to test whether to install wrappers.
29934         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
29935         RELOCATABLE_VIA_WRAPPER.
29936
29937 2010-06-13  Bruno Haible  <bruno@clisp.org>
29938
29939         gnulib-tool: Display specified modules and dependencies differently.
29940         * gnulib-tool (func_show_module_list): New function.
29941         (func_import, func_create_testdir): Invoke it.
29942         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29943
29944 2010-06-13  Bruno Haible  <bruno@clisp.org>
29945
29946         gnulib-tool: Align code of func_import and func_create_testdir.
29947         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29948         specified_modules.
29949
29950 2010-06-12  Jim Meyering  <meyering@redhat.com>
29951
29952         test-inttostr: avoid spurious failure on Solaris 9
29953         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29954         to accept "%ju".  Reported by Bruno Haible.
29955
29956 2010-06-11  Jim Meyering  <meyering@redhat.com>
29957
29958         test-sys_socket: mark variables as used more readably
29959         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29960         as "used" explicitly via (void) statement casts.  This is more
29961         readable than using them in an artificial return expression.
29962         Suggestion from Bruno Haible.
29963
29964 2010-06-11  Bruno Haible  <bruno@clisp.org>
29965
29966         Avoid some more warnings from "gcc -Wwrite-strings".
29967         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29968         to 'const char *'.
29969         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29970         * tests/test-c-strcasestr.c (main): Likewise.
29971         * tests/test-mbscasestr1.c (main): Likewise.
29972         * tests/test-mbscasestr2.c (main): Likewise.
29973         * tests/test-memmem.c (main): Likewise.
29974         * tests/test-strstr.c (main): Likewise.
29975         * tests/test-strcasestr.c (main): Likewise.
29976
29977 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29978
29979         init.sh: change framework_failure_ to fail with status 99, not 1
29980         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29981         automake's parallel-tests rule that this is an unexpected failure,
29982         even if the test is listed in XFAIL_TESTS.
29983
29984 2010-06-11  Jim Meyering  <meyering@redhat.com>
29985
29986         test-inttostr: avoid warnings about 4-6KB literal strings
29987         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29988         Include "macros.h", for its definition of ASSERT.
29989         (CK): s/assert/ASSERT/
29990         * modules/inttostr-tests (Files): Add macros.h.
29991
29992         init.sh: don't use $ME_ or skip_ before they are defined
29993         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29994         their first uses.  Also hoist their companions: warn_, fail_,
29995         framework_failure_, $stderr_fileno.  Prompted by a patch from
29996         Stefano Lattarini.
29997
29998         test-sys_socket: avoid set-but-not-used warnings from gcc
29999         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
30000         avoid warning about set-but-not-used variables.
30001
30002         test-xvasprintf: avoid 'const' discard warnings
30003         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
30004         "const" when assigning from literal strings.
30005         (test_xasprintf): Add "void" in function argument list to placate
30006         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
30007
30008         tests: avoid compilation warnings in argmatch and exclude tests...
30009         in packages that define ARGMATCH_DIE_DECL, like coreutils.
30010         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
30011         Since it always exits, declare with the "noreturn" attribute.
30012         * tests/test-argmatch.c: Likewise.
30013
30014         tests: avoid 'const' discard warnings in mbsstr tests
30015         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
30016         * tests/test-mbsstr2.c (main): Likewise.
30017
30018         test-verify: avoid warning from gcc's -Wmissing-declarations
30019         * tests/test-verify.c (function): Declare to be static.
30020
30021         test-inttostr.c: include <string.h> for use of strcmp
30022         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
30023
30024         test-linkat: avoid failed assertion on "other" architectures
30025         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
30026         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
30027         sparc: https://bugs.launchpad.net/bugs/591968
30028
30029 2010-06-11  Jim Meyering  <meyering@redhat.com>
30030
30031         printf.m4: avoid autoconf's "Expanded Before Required" warning
30032         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
30033         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
30034         autoconf warning.
30035
30036 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
30037
30038         Replacement header templates are now named with ".in", not "_".
30039         * doc/gnulib-intro.texi: Correct.
30040
30041 2010-06-10  Jim Meyering  <meyering@redhat.com>
30042
30043         inttostr-tests: depend on snprintf, not snprintf-posix
30044         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
30045         snprintf-posix, to avoid this aclocal failure:
30046           missing file gnulib-tests/vasnprintf.c
30047           configure.ac:45: error: expected source file, required through \
30048           AC_LIBSOURCES, not found
30049
30050 2010-06-10  Jim Meyering  <meyering@redhat.com>
30051
30052         inttostr: add a new function, inttostr, and tests
30053         The namesake function was not available.  The existence of the
30054         template file, inttostr.c makes its addition nontrivial.
30055         * lib/anytostr.c: Rename from inttostr.c.
30056         (anytostr): Rename from inttostr.
30057         * lib/inttostr.c: New file.
30058         * modules/inttostr (Files): Add anytostr.c.
30059         (Makefile.am): Set lib_SOURCES instead of ...
30060         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
30061         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
30062         * lib/offtostr.c: Likewise.
30063         * lib/uinttostr.c: Likewise.
30064         * lib/umaxtostr.c: Likewise.
30065         * modules/inttostr-tests: New file.
30066         * tests/test-inttostr.c: New file.  Test these functions.
30067
30068 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
30069             Bruno Haible  <bruno@clisp.org>
30070
30071         Add "Extending Gnulib" chapter to manual.
30072         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
30073         chapter.
30074         (Extending Gnulib): New chapter.
30075         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
30076         chapter.
30077
30078 2010-06-09  Bruno Haible  <bruno@clisp.org>
30079
30080         Avoid relocwrapper link errors due to gnulib replacement functions.
30081         * lib/areadlink.c: Use the system's malloc, realloc functions.
30082         (areadlink): Set errno to ENOMEM explicitly.
30083         * modules/areadlink (Depends-on): Remove malloc-posix.
30084         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30085
30086 2010-06-09  Bruno Haible  <bruno@clisp.org>
30087
30088         Avoid relocwrapper link errors due to gnulib replacement functions.
30089         * lib/canonicalize-lgpl.c: Use the system's malloc function.
30090         * lib/malloca.c: Likewise.
30091         * lib/relocatable.c: Likewise.
30092         * lib/progreloc.c: Use the system's malloc, sprintf functions.
30093         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
30094         * lib/setenv.c: Use the system's malloc, realloc functions.
30095         * lib/strerror.c: Use the system's sprintf function.
30096         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30097
30098 2010-06-04  Bruno Haible  <bruno@clisp.org>
30099
30100         Prefer documented low-level autoconf macro names.
30101         * m4/lib-link.m4: Use m4_translit instead of translit.
30102         * m4/environ.m4: Likewise.
30103         * m4/mathfunc.m4: Likewise.
30104         * m4/onceonly.m4: Likewise.
30105         * m4/stdint.m4: Likewise.
30106         Suggested by Eric Blake.
30107
30108 2010-06-04  Martin Lambers  <marlam@marlam.de>
30109             Bruno Haible  <bruno@clisp.org>
30110
30111         havelib: Allow library names with '+' characters.
30112         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30113         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
30114
30115 2010-06-09  Bruno Haible  <bruno@clisp.org>
30116
30117         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
30118         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
30119         realloc failed.
30120
30121 2010-06-08  Peter Simons  <simons@cryp.to>
30122
30123         maint.mk: make the news-check rule more configurable
30124         * top/maint.mk (news-check-lines-spec): New variable.
30125         (news-check): Use "sed -n 1,10p" in place of "head".
30126
30127 2010-06-07  Jim Meyering  <meyering@redhat.com>
30128
30129         do-release-commit-and-tag: fix typo in --help
30130         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
30131
30132         regex: avoid new dead-code warning with gcc-4.6.0
30133         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
30134         if-block containing a while-loop.  It's been unused for at least
30135         5 years.
30136
30137 2010-06-05  Bruno Haible  <bruno@clisp.org>
30138
30139         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
30140         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
30141
30142 2010-06-04  Bruno Haible  <bruno@clisp.org>
30143
30144         Update to GNU gettext 0.18.1.
30145         * modules/gettext (configure.ac): Require gettext infrastructure from
30146         version 0.18.1.
30147
30148 2010-06-03  Bruno Haible  <bruno@clisp.org>
30149
30150         Don't use AC_LIBOBJ with file names in subdirectories.
30151         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
30152         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
30153         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
30154         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
30155         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
30156         gl_LIBUNISTRING_LIBSOURCE.
30157         (Makefile.am): Augment lib_SOURCES here, conditionally.
30158         * NEWS: Drop requirement for Automake option 'subdir-objects'.
30159
30160 2010-06-03  Bruno Haible  <bruno@clisp.org>
30161
30162         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
30163         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
30164         expansion does not end with a newline.
30165         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
30166         unnecessary newline.
30167
30168 2010-06-03  Bruno Haible  <bruno@clisp.org>
30169
30170         Reduce dependencies.
30171         * tests/test-quotearg.h: New file, extracted from
30172         tests/test-quotearg.c.
30173         * tests/test-quotearg-simple.c: New file, extracted from
30174         tests/test-quotearg.c.
30175         * tests/test-quotearg.c: Don't include <ctype.h>.
30176         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
30177         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
30178         use_quote_double_quotes, use_quotearg_colon): Moved to
30179         tests/test-quotearg.h.
30180         (results_g, flag_results, custom_quotes, custom_results): Moved
30181         to tests/test-quotearg-simple.c.
30182         (main): Moved the part that does not depend on gettext to
30183         tests/test-quotearg-simple.c. Return 77 if the test cannot be
30184         performed.
30185         * modules/quotearg-simple: New file.
30186         * modules/quotearg-simple-tests: New file.
30187         * modules/quotearg (Depends-on): Add quotearg-simple.
30188         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
30189         (Files): Add tests/test-quotearg.h.
30190         Reported by Paolo Bonzini.
30191
30192 2010-06-03  Bruno Haible  <bruno@clisp.org>
30193
30194         Reduce dependencies.
30195         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
30196
30197 2010-06-03  Bruno Haible  <bruno@clisp.org>
30198
30199         time: Undefine more broken macros.
30200         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
30201         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
30202         Reported by Eric Blake.
30203
30204 2010-06-03  Bruno Haible  <bruno@clisp.org>
30205
30206         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
30207         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
30208         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
30209         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
30210         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
30211         Reported by Ludovic Courtès <ludo@gnu.org>.
30212
30213 2010-06-02  Eric Blake  <eblake@redhat.com>
30214
30215         time: work with mingw + pthreads-win32 library
30216         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
30217         if timespec is defined only in pthread.h.
30218         * modules/time (Makefile.am): Substitute it.
30219         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
30220         <pthread.h>, when needed.
30221         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
30222         from the library.
30223
30224 2010-05-31  Bruno Haible  <bruno@clisp.org>
30225
30226         Avoid expanding two macros in the wrong order.
30227         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
30228         gl_LIBUNISTRING if it is defined.
30229         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
30230         autoconf >= 2.64.
30231         Reported by Ludovic Courtès <ludo@gnu.org>.
30232
30233 2010-05-27  Jim Meyering  <meyering@redhat.com>
30234
30235         maint.mk: also prohibit "#undef" of always-defined symbols
30236         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
30237         Allow more than one space before the symbol name.
30238         (sc_prohibit_always-defined_macros): Use grep's -E, now that
30239         the regexp uses alternation.
30240
30241 2010-05-26  Eric Blake  <eblake@redhat.com>
30242
30243         maint.mk: avoid echo -e
30244         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
30245         Convert all uses of echo -* to printf.
30246         Reported by Matthias Bolte.
30247
30248 2010-05-25  Bruno Haible  <bruno@clisp.org>
30249
30250         Update to GNU gettext 0.18, part 2.
30251         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
30252         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
30253
30254 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30255
30256         Add missing include in test-pwrite.c.
30257         * tests/test-pwrite.c: Include string.h, for strcmp.
30258
30259 2010-05-24  Bruno Haible  <bruno@clisp.org>
30260
30261         * NEWS: Mention requirement for Automake option 'subdir-objects'.
30262
30263 2010-05-24  Bruno Haible  <bruno@clisp.org>
30264
30265         Don't use conversion with transliteration in u{8,16,32}_strcoll.
30266         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
30267         iconveh_error argument.
30268         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
30269         U_STRCONV_TO_LOCALE.
30270         * lib/unistr/u16-strcoll.c: Likewise.
30271         * lib/unistr/u32-strcoll.c: Likewise.
30272         * modules/unistr/u8-strcoll (Depends-on): Add
30273         uniconv/u8-strconv-to-enc, localcharset. Remove
30274         uniconv/u8-strconv-to-locale.
30275         (configure.ac): Bump version number.
30276         * modules/unistr/u16-strcoll (Depends-on): Add
30277         uniconv/u16-strconv-to-enc, localcharset. Remove
30278         uniconv/u16-strconv-to-locale.
30279         (configure.ac): Bump version number.
30280         * modules/unistr/u32-strcoll (Depends-on): Add
30281         uniconv/u32-strconv-to-enc, localcharset. Remove
30282         uniconv/u32-strconv-to-locale.
30283         (configure.ac): Bump version number.
30284
30285 2010-05-24  Bruno Haible  <bruno@clisp.org>
30286
30287         Avoid a test failure on NetBSD 5.0.
30288         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
30289         an iconv() bug.
30290
30291 2010-05-24  Bruno Haible  <bruno@clisp.org>
30292
30293         Adjust #include directive style.
30294         * modules/regex (Includes): Recommend to write <regex.h>.
30295
30296 2010-05-24  Bruno Haible  <bruno@clisp.org>
30297
30298         regex: Don't require alloca.
30299         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
30300         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
30301         only inside if (0).
30302
30303 2010-05-23  Jim Meyering  <meyering@redhat.com>
30304
30305         test-renameat.c: include <sys/stat.h>
30306         * tests/test-renameat.c: Include <sys/stat.h>; required for
30307         definition of S_IS* macros.
30308
30309 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
30310
30311         Update maintainer documentation for 'relocatable-prog' module.
30312         * doc/relocatable-maint.texi: Update.
30313         Comments by Bruno Haible.
30314
30315 2010-05-23  Bruno Haible  <bruno@clisp.org>
30316
30317         git-merge-changelog: Enable --split-merged-entry by default.
30318         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
30319         (usage): Don't mention this option any more.
30320         Reported by Ralf Wildenhues.
30321
30322 2010-05-23  Jim Meyering  <meyering@redhat.com>
30323
30324         test-pwrite: do not leave behind a test file named "out"
30325         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
30326         The trivial-looking use of init.sh is really necessary.
30327         It ensures that the temporary file, "out", is created in
30328         a temporary directory, and removed upon termination.
30329         * tests/test-pwrite.sh: Re-add file.
30330         * modules/pwrite-tests: Reference it.
30331
30332 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30333
30334         Fix output redirection buglet in init.sh.
30335         * tests/init.sh: Fix redirection of stderr.
30336
30337 2010-05-20  Simon Josefsson  <simon@josefsson.org>
30338
30339         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
30340
30341 2010-05-17  Simon Josefsson  <simon@josefsson.org>
30342
30343         * modules/valgrind-tests: New file.
30344         * m4/valgrind-tests.m4: New file.
30345         * doc/valgrind-tests.texi: New file.
30346         * doc/gnulib.texi (Running self-tests under valgrind): New
30347         section.
30348
30349 2010-05-19  Bruno Haible  <bruno@clisp.org>
30350
30351         Clean up dead code in recent commit.
30352         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
30353         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
30354         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
30355         Suggested by Paolo Bonzini.
30356
30357 2010-05-19  Bruno Haible  <bruno@clisp.org>
30358
30359         Avoid valgrind error reports from libunistring.
30360         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
30361         * modules/libunistring (Files): Add it.
30362         * modules/libunistring-optional (Files): Likewise.
30363
30364 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
30365             Bruno Haible  <bruno@clisp.org>
30366
30367         New module 'libunistring-optional'.
30368         * modules/libunistring-optional: New file.
30369         * m4/libunistring-base.m4: New file.
30370         * m4/libunistring-optional.m4: New file.
30371         * lib/unicase.in.h: Renamed from lib/unicase.h.
30372         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
30373         * lib/unictype.in.h: Renamed from lib/unictype.h.
30374         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
30375         * lib/uniname.in.h: Renamed from lib/uniname.h.
30376         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
30377         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
30378         * lib/unistr.in.h: Renamed from lib/unistr.h.
30379         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
30380         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
30381         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
30382         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
30383         gl_LIBUNISTRING. If the library was found, determine the installed
30384         version and set LIBUNISTRING_VERSION.
30385         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
30386         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
30387         handle a configuration option --with-included-libunistring.
30388         * modules/libunistring (Files): Add m4/absolute-header.m4.
30389         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
30390         Add m4/libunistring-base.m4.
30391         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30392         (Makefile.am): Build unicase.h from unicase.in.h.
30393         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
30394         Add m4/libunistring-base.m4.
30395         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30396         (Makefile.am): Build uniconv.h from uniconv.in.h.
30397         * modules/unictype/base (Files): Use unictype.in.h instead of
30398         unictype.h. Add m4/libunistring-base.m4.
30399         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30400         (Makefile.am): Build unictype.h from unictype.in.h.
30401         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
30402         Add m4/libunistring-base.m4.
30403         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30404         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
30405         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
30406         Add m4/libunistring-base.m4.
30407         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30408         (Makefile.am): Build uniname.h from uniname.in.h.
30409         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
30410         Add m4/libunistring-base.m4.
30411         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30412         (Makefile.am): Build uninorm.h from uninorm.in.h.
30413         * modules/unistdio/base (Files): Use unistdio.in.h instead of
30414         unistdio.h. Add m4/libunistring-base.m4.
30415         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30416         (Makefile.am): Build unistdio.h from unistdio.in.h.
30417         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
30418         Add m4/libunistring-base.m4.
30419         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30420         (Makefile.am): Build unistr.h from unistr.in.h.
30421         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
30422         Add m4/libunistring-base.m4.
30423         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30424         (Makefile.am): Build unitypes.h from unitypes.in.h.
30425         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
30426         Add m4/libunistring-base.m4.
30427         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30428         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
30429         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
30430         uniwidth.h. Add m4/libunistring-base.m4.
30431         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30432         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
30433         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
30434         instead of augmenting lib_SOURCES.
30435         * modules/unicase/empty-suffix-context: Likewise.
30436         * modules/unicase/locale-language: Likewise.
30437         * modules/unicase/tolower: Likewise.
30438         * modules/unicase/totitle: Likewise.
30439         * modules/unicase/toupper: Likewise.
30440         * modules/unicase/u8-casecmp: Likewise.
30441         * modules/unicase/u8-casecoll: Likewise.
30442         * modules/unicase/u8-casefold: Likewise.
30443         * modules/unicase/u8-casexfrm: Likewise.
30444         * modules/unicase/u8-ct-casefold: Likewise.
30445         * modules/unicase/u8-ct-tolower: Likewise.
30446         * modules/unicase/u8-ct-totitle: Likewise.
30447         * modules/unicase/u8-ct-toupper: Likewise.
30448         * modules/unicase/u8-is-cased: Likewise.
30449         * modules/unicase/u8-is-casefolded: Likewise.
30450         * modules/unicase/u8-is-lowercase: Likewise.
30451         * modules/unicase/u8-is-titlecase: Likewise.
30452         * modules/unicase/u8-is-uppercase: Likewise.
30453         * modules/unicase/u8-prefix-context: Likewise.
30454         * modules/unicase/u8-suffix-context: Likewise.
30455         * modules/unicase/u8-tolower: Likewise.
30456         * modules/unicase/u8-totitle: Likewise.
30457         * modules/unicase/u8-toupper: Likewise.
30458         * modules/unicase/u16-casecmp: Likewise.
30459         * modules/unicase/u16-casecoll: Likewise.
30460         * modules/unicase/u16-casefold: Likewise.
30461         * modules/unicase/u16-casexfrm: Likewise.
30462         * modules/unicase/u16-ct-casefold: Likewise.
30463         * modules/unicase/u16-ct-tolower: Likewise.
30464         * modules/unicase/u16-ct-totitle: Likewise.
30465         * modules/unicase/u16-ct-toupper: Likewise.
30466         * modules/unicase/u16-is-cased: Likewise.
30467         * modules/unicase/u16-is-casefolded: Likewise.
30468         * modules/unicase/u16-is-lowercase: Likewise.
30469         * modules/unicase/u16-is-titlecase: Likewise.
30470         * modules/unicase/u16-is-uppercase: Likewise.
30471         * modules/unicase/u16-prefix-context: Likewise.
30472         * modules/unicase/u16-suffix-context: Likewise.
30473         * modules/unicase/u16-tolower: Likewise.
30474         * modules/unicase/u16-totitle: Likewise.
30475         * modules/unicase/u16-toupper: Likewise.
30476         * modules/unicase/u32-casecmp: Likewise.
30477         * modules/unicase/u32-casecoll: Likewise.
30478         * modules/unicase/u32-casefold: Likewise.
30479         * modules/unicase/u32-casexfrm: Likewise.
30480         * modules/unicase/u32-ct-casefold: Likewise.
30481         * modules/unicase/u32-ct-tolower: Likewise.
30482         * modules/unicase/u32-ct-totitle: Likewise.
30483         * modules/unicase/u32-ct-toupper: Likewise.
30484         * modules/unicase/u32-is-cased: Likewise.
30485         * modules/unicase/u32-is-casefolded: Likewise.
30486         * modules/unicase/u32-is-lowercase: Likewise.
30487         * modules/unicase/u32-is-titlecase: Likewise.
30488         * modules/unicase/u32-is-uppercase: Likewise.
30489         * modules/unicase/u32-prefix-context: Likewise.
30490         * modules/unicase/u32-suffix-context: Likewise.
30491         * modules/unicase/u32-tolower: Likewise.
30492         * modules/unicase/u32-totitle: Likewise.
30493         * modules/unicase/u32-toupper: Likewise.
30494         * modules/unicase/ulc-casecmp: Likewise.
30495         * modules/unicase/ulc-casecoll: Likewise.
30496         * modules/unicase/ulc-casexfrm: Likewise.
30497         * modules/uniconv/u8-conv-from-enc: Likewise.
30498         * modules/uniconv/u8-conv-to-enc: Likewise.
30499         * modules/uniconv/u8-strconv-from-enc: Likewise.
30500         * modules/uniconv/u8-strconv-from-locale: Likewise.
30501         * modules/uniconv/u8-strconv-to-enc: Likewise.
30502         * modules/uniconv/u8-strconv-to-locale: Likewise.
30503         * modules/uniconv/u16-conv-from-enc: Likewise.
30504         * modules/uniconv/u16-conv-to-enc: Likewise.
30505         * modules/uniconv/u16-strconv-from-enc: Likewise.
30506         * modules/uniconv/u16-strconv-from-locale: Likewise.
30507         * modules/uniconv/u16-strconv-to-enc: Likewise.
30508         * modules/uniconv/u16-strconv-to-locale: Likewise.
30509         * modules/uniconv/u32-conv-from-enc: Likewise.
30510         * modules/uniconv/u32-conv-to-enc: Likewise.
30511         * modules/uniconv/u32-strconv-from-enc: Likewise.
30512         * modules/uniconv/u32-strconv-from-locale: Likewise.
30513         * modules/uniconv/u32-strconv-to-enc: Likewise.
30514         * modules/uniconv/u32-strconv-to-locale: Likewise.
30515         * modules/unictype/bidicategory-byname: Likewise.
30516         * modules/unictype/bidicategory-name: Likewise.
30517         * modules/unictype/bidicategory-of: Likewise.
30518         * modules/unictype/bidicategory-test: Likewise.
30519         * modules/unictype/block-list: Likewise.
30520         * modules/unictype/block-test: Likewise.
30521         * modules/unictype/category-C: Likewise.
30522         * modules/unictype/category-Cc: Likewise.
30523         * modules/unictype/category-Cf: Likewise.
30524         * modules/unictype/category-Cn: Likewise.
30525         * modules/unictype/category-Co: Likewise.
30526         * modules/unictype/category-Cs: Likewise.
30527         * modules/unictype/category-L: Likewise.
30528         * modules/unictype/category-Ll: Likewise.
30529         * modules/unictype/category-Lm: Likewise.
30530         * modules/unictype/category-Lo: Likewise.
30531         * modules/unictype/category-Lt: Likewise.
30532         * modules/unictype/category-Lu: Likewise.
30533         * modules/unictype/category-M: Likewise.
30534         * modules/unictype/category-Mc: Likewise.
30535         * modules/unictype/category-Me: Likewise.
30536         * modules/unictype/category-Mn: Likewise.
30537         * modules/unictype/category-N: Likewise.
30538         * modules/unictype/category-Nd: Likewise.
30539         * modules/unictype/category-Nl: Likewise.
30540         * modules/unictype/category-No: Likewise.
30541         * modules/unictype/category-P: Likewise.
30542         * modules/unictype/category-Pc: Likewise.
30543         * modules/unictype/category-Pd: Likewise.
30544         * modules/unictype/category-Pe: Likewise.
30545         * modules/unictype/category-Pf: Likewise.
30546         * modules/unictype/category-Pi: Likewise.
30547         * modules/unictype/category-Po: Likewise.
30548         * modules/unictype/category-Ps: Likewise.
30549         * modules/unictype/category-S: Likewise.
30550         * modules/unictype/category-Sc: Likewise.
30551         * modules/unictype/category-Sk: Likewise.
30552         * modules/unictype/category-Sm: Likewise.
30553         * modules/unictype/category-So: Likewise.
30554         * modules/unictype/category-Z: Likewise.
30555         * modules/unictype/category-Zl: Likewise.
30556         * modules/unictype/category-Zp: Likewise.
30557         * modules/unictype/category-Zs: Likewise.
30558         * modules/unictype/category-and: Likewise.
30559         * modules/unictype/category-and-not: Likewise.
30560         * modules/unictype/category-byname: Likewise.
30561         * modules/unictype/category-name: Likewise.
30562         * modules/unictype/category-none: Likewise.
30563         * modules/unictype/category-of: Likewise.
30564         * modules/unictype/category-or: Likewise.
30565         * modules/unictype/category-test: Likewise.
30566         * modules/unictype/combining-class: Likewise.
30567         * modules/unictype/ctype-alnum: Likewise.
30568         * modules/unictype/ctype-alpha: Likewise.
30569         * modules/unictype/ctype-blank: Likewise.
30570         * modules/unictype/ctype-cntrl: Likewise.
30571         * modules/unictype/ctype-digit: Likewise.
30572         * modules/unictype/ctype-graph: Likewise.
30573         * modules/unictype/ctype-lower: Likewise.
30574         * modules/unictype/ctype-print: Likewise.
30575         * modules/unictype/ctype-punct: Likewise.
30576         * modules/unictype/ctype-space: Likewise.
30577         * modules/unictype/ctype-upper: Likewise.
30578         * modules/unictype/ctype-xdigit: Likewise.
30579         * modules/unictype/decimal-digit: Likewise.
30580         * modules/unictype/digit: Likewise.
30581         * modules/unictype/mirror: Likewise.
30582         * modules/unictype/numeric: Likewise.
30583         * modules/unictype/property-alphabetic: Likewise.
30584         * modules/unictype/property-ascii-hex-digit: Likewise.
30585         * modules/unictype/property-bidi-arabic-digit: Likewise.
30586         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
30587         * modules/unictype/property-bidi-block-separator: Likewise.
30588         * modules/unictype/property-bidi-boundary-neutral: Likewise.
30589         * modules/unictype/property-bidi-common-separator: Likewise.
30590         * modules/unictype/property-bidi-control: Likewise.
30591         * modules/unictype/property-bidi-embedding-or-override: Likewise.
30592         * modules/unictype/property-bidi-eur-num-separator: Likewise.
30593         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
30594         * modules/unictype/property-bidi-european-digit: Likewise.
30595         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
30596         * modules/unictype/property-bidi-left-to-right: Likewise.
30597         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
30598         * modules/unictype/property-bidi-other-neutral: Likewise.
30599         * modules/unictype/property-bidi-pdf: Likewise.
30600         * modules/unictype/property-bidi-segment-separator: Likewise.
30601         * modules/unictype/property-bidi-whitespace: Likewise.
30602         * modules/unictype/property-byname: Likewise.
30603         * modules/unictype/property-combining: Likewise.
30604         * modules/unictype/property-composite: Likewise.
30605         * modules/unictype/property-currency-symbol: Likewise.
30606         * modules/unictype/property-dash: Likewise.
30607         * modules/unictype/property-decimal-digit: Likewise.
30608         * modules/unictype/property-default-ignorable-code-point: Likewise.
30609         * modules/unictype/property-deprecated: Likewise.
30610         * modules/unictype/property-diacritic: Likewise.
30611         * modules/unictype/property-extender: Likewise.
30612         * modules/unictype/property-format-control: Likewise.
30613         * modules/unictype/property-grapheme-base: Likewise.
30614         * modules/unictype/property-grapheme-extend: Likewise.
30615         * modules/unictype/property-grapheme-link: Likewise.
30616         * modules/unictype/property-hex-digit: Likewise.
30617         * modules/unictype/property-hyphen: Likewise.
30618         * modules/unictype/property-id-continue: Likewise.
30619         * modules/unictype/property-id-start: Likewise.
30620         * modules/unictype/property-ideographic: Likewise.
30621         * modules/unictype/property-ids-binary-operator: Likewise.
30622         * modules/unictype/property-ids-trinary-operator: Likewise.
30623         * modules/unictype/property-ignorable-control: Likewise.
30624         * modules/unictype/property-iso-control: Likewise.
30625         * modules/unictype/property-join-control: Likewise.
30626         * modules/unictype/property-left-of-pair: Likewise.
30627         * modules/unictype/property-line-separator: Likewise.
30628         * modules/unictype/property-logical-order-exception: Likewise.
30629         * modules/unictype/property-lowercase: Likewise.
30630         * modules/unictype/property-math: Likewise.
30631         * modules/unictype/property-non-break: Likewise.
30632         * modules/unictype/property-not-a-character: Likewise.
30633         * modules/unictype/property-numeric: Likewise.
30634         * modules/unictype/property-other-alphabetic: Likewise.
30635         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
30636         * modules/unictype/property-other-grapheme-extend: Likewise.
30637         * modules/unictype/property-other-id-continue: Likewise.
30638         * modules/unictype/property-other-id-start: Likewise.
30639         * modules/unictype/property-other-lowercase: Likewise.
30640         * modules/unictype/property-other-math: Likewise.
30641         * modules/unictype/property-other-uppercase: Likewise.
30642         * modules/unictype/property-paired-punctuation: Likewise.
30643         * modules/unictype/property-paragraph-separator: Likewise.
30644         * modules/unictype/property-pattern-syntax: Likewise.
30645         * modules/unictype/property-pattern-white-space: Likewise.
30646         * modules/unictype/property-private-use: Likewise.
30647         * modules/unictype/property-punctuation: Likewise.
30648         * modules/unictype/property-quotation-mark: Likewise.
30649         * modules/unictype/property-radical: Likewise.
30650         * modules/unictype/property-sentence-terminal: Likewise.
30651         * modules/unictype/property-soft-dotted: Likewise.
30652         * modules/unictype/property-space: Likewise.
30653         * modules/unictype/property-terminal-punctuation: Likewise.
30654         * modules/unictype/property-test: Likewise.
30655         * modules/unictype/property-titlecase: Likewise.
30656         * modules/unictype/property-unassigned-code-value: Likewise.
30657         * modules/unictype/property-unified-ideograph: Likewise.
30658         * modules/unictype/property-uppercase: Likewise.
30659         * modules/unictype/property-variation-selector: Likewise.
30660         * modules/unictype/property-white-space: Likewise.
30661         * modules/unictype/property-xid-continue: Likewise.
30662         * modules/unictype/property-xid-start: Likewise.
30663         * modules/unictype/property-zero-width: Likewise.
30664         * modules/unictype/scripts: Likewise.
30665         * modules/unictype/syntax-c-ident: Likewise.
30666         * modules/unictype/syntax-c-whitespace: Likewise.
30667         * modules/unictype/syntax-java-ident: Likewise.
30668         * modules/unictype/syntax-java-whitespace: Likewise.
30669         * modules/unilbrk/u8-possible-linebreaks: Likewise.
30670         * modules/unilbrk/u8-width-linebreaks: Likewise.
30671         * modules/unilbrk/u16-possible-linebreaks: Likewise.
30672         * modules/unilbrk/u16-width-linebreaks: Likewise.
30673         * modules/unilbrk/u32-possible-linebreaks: Likewise.
30674         * modules/unilbrk/u32-width-linebreaks: Likewise.
30675         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
30676         * modules/unilbrk/ulc-width-linebreaks: Likewise.
30677         * modules/uniname/uniname: Likewise.
30678         * modules/uninorm/canonical-decomposition: Likewise.
30679         * modules/uninorm/composition: Likewise.
30680         * modules/uninorm/decomposing-form: Likewise.
30681         * modules/uninorm/decomposition: Likewise.
30682         * modules/uninorm/filter: Likewise.
30683         * modules/uninorm/nfc: Likewise.
30684         * modules/uninorm/nfd: Likewise.
30685         * modules/uninorm/nfkc: Likewise.
30686         * modules/uninorm/nfkd: Likewise.
30687         * modules/uninorm/u8-normalize: Likewise.
30688         * modules/uninorm/u8-normcmp: Likewise.
30689         * modules/uninorm/u8-normcoll: Likewise.
30690         * modules/uninorm/u8-normxfrm: Likewise.
30691         * modules/uninorm/u16-normalize: Likewise.
30692         * modules/uninorm/u16-normcmp: Likewise.
30693         * modules/uninorm/u16-normcoll: Likewise.
30694         * modules/uninorm/u16-normxfrm: Likewise.
30695         * modules/uninorm/u32-normalize: Likewise.
30696         * modules/uninorm/u32-normcmp: Likewise.
30697         * modules/uninorm/u32-normcoll: Likewise.
30698         * modules/uninorm/u32-normxfrm: Likewise.
30699         * modules/unistdio/u8-asnprintf: Likewise.
30700         * modules/unistdio/u8-asprintf: Likewise.
30701         * modules/unistdio/u8-snprintf: Likewise.
30702         * modules/unistdio/u8-sprintf: Likewise.
30703         * modules/unistdio/u8-u8-asnprintf: Likewise.
30704         * modules/unistdio/u8-u8-asprintf: Likewise.
30705         * modules/unistdio/u8-u8-snprintf: Likewise.
30706         * modules/unistdio/u8-u8-sprintf: Likewise.
30707         * modules/unistdio/u8-u8-vasnprintf: Likewise.
30708         * modules/unistdio/u8-u8-vasprintf: Likewise.
30709         * modules/unistdio/u8-u8-vsnprintf: Likewise.
30710         * modules/unistdio/u8-u8-vsprintf: Likewise.
30711         * modules/unistdio/u8-vasnprintf: Likewise.
30712         * modules/unistdio/u8-vasprintf: Likewise.
30713         * modules/unistdio/u8-vsnprintf: Likewise.
30714         * modules/unistdio/u8-vsprintf: Likewise.
30715         * modules/unistdio/u16-asnprintf: Likewise.
30716         * modules/unistdio/u16-asprintf: Likewise.
30717         * modules/unistdio/u16-snprintf: Likewise.
30718         * modules/unistdio/u16-sprintf: Likewise.
30719         * modules/unistdio/u16-u16-asnprintf: Likewise.
30720         * modules/unistdio/u16-u16-asprintf: Likewise.
30721         * modules/unistdio/u16-u16-snprintf: Likewise.
30722         * modules/unistdio/u16-u16-sprintf: Likewise.
30723         * modules/unistdio/u16-u16-vasnprintf: Likewise.
30724         * modules/unistdio/u16-u16-vasprintf: Likewise.
30725         * modules/unistdio/u16-u16-vsnprintf: Likewise.
30726         * modules/unistdio/u16-u16-vsprintf: Likewise.
30727         * modules/unistdio/u16-vasnprintf: Likewise.
30728         * modules/unistdio/u16-vasprintf: Likewise.
30729         * modules/unistdio/u16-vsnprintf: Likewise.
30730         * modules/unistdio/u16-vsprintf: Likewise.
30731         * modules/unistdio/u32-asnprintf: Likewise.
30732         * modules/unistdio/u32-asprintf: Likewise.
30733         * modules/unistdio/u32-snprintf: Likewise.
30734         * modules/unistdio/u32-sprintf: Likewise.
30735         * modules/unistdio/u32-u32-asnprintf: Likewise.
30736         * modules/unistdio/u32-u32-asprintf: Likewise.
30737         * modules/unistdio/u32-u32-snprintf: Likewise.
30738         * modules/unistdio/u32-u32-sprintf: Likewise.
30739         * modules/unistdio/u32-u32-vasnprintf: Likewise.
30740         * modules/unistdio/u32-u32-vasprintf: Likewise.
30741         * modules/unistdio/u32-u32-vsnprintf: Likewise.
30742         * modules/unistdio/u32-u32-vsprintf: Likewise.
30743         * modules/unistdio/u32-vasnprintf: Likewise.
30744         * modules/unistdio/u32-vasprintf: Likewise.
30745         * modules/unistdio/u32-vsnprintf: Likewise.
30746         * modules/unistdio/u32-vsprintf: Likewise.
30747         * modules/unistdio/ulc-asnprintf: Likewise.
30748         * modules/unistdio/ulc-asprintf: Likewise.
30749         * modules/unistdio/ulc-fprintf: Likewise.
30750         * modules/unistdio/ulc-snprintf: Likewise.
30751         * modules/unistdio/ulc-sprintf: Likewise.
30752         * modules/unistdio/ulc-vasnprintf: Likewise.
30753         * modules/unistdio/ulc-vasprintf: Likewise.
30754         * modules/unistdio/ulc-vfprintf: Likewise.
30755         * modules/unistdio/ulc-vsnprintf: Likewise.
30756         * modules/unistdio/ulc-vsprintf: Likewise.
30757         * modules/unistr/u8-check: Likewise.
30758         * modules/unistr/u8-chr: Likewise.
30759         * modules/unistr/u8-cmp: Likewise.
30760         * modules/unistr/u8-cmp2: Likewise.
30761         * modules/unistr/u8-cpy: Likewise.
30762         * modules/unistr/u8-cpy-alloc: Likewise.
30763         * modules/unistr/u8-endswith: Likewise.
30764         * modules/unistr/u8-mblen: Likewise.
30765         * modules/unistr/u8-mbsnlen: Likewise.
30766         * modules/unistr/u8-mbtouc: Likewise.
30767         * modules/unistr/u8-mbtouc-unsafe: Likewise.
30768         * modules/unistr/u8-mbtoucr: Likewise.
30769         * modules/unistr/u8-move: Likewise.
30770         * modules/unistr/u8-next: Likewise.
30771         * modules/unistr/u8-prev: Likewise.
30772         * modules/unistr/u8-set: Likewise.
30773         * modules/unistr/u8-startswith: Likewise.
30774         * modules/unistr/u8-stpcpy: Likewise.
30775         * modules/unistr/u8-stpncpy: Likewise.
30776         * modules/unistr/u8-strcat: Likewise.
30777         * modules/unistr/u8-strchr: Likewise.
30778         * modules/unistr/u8-strcmp: Likewise.
30779         * modules/unistr/u8-strcoll: Likewise.
30780         * modules/unistr/u8-strcpy: Likewise.
30781         * modules/unistr/u8-strcspn: Likewise.
30782         * modules/unistr/u8-strdup: Likewise.
30783         * modules/unistr/u8-strlen: Likewise.
30784         * modules/unistr/u8-strmblen: Likewise.
30785         * modules/unistr/u8-strmbtouc: Likewise.
30786         * modules/unistr/u8-strncat: Likewise.
30787         * modules/unistr/u8-strncmp: Likewise.
30788         * modules/unistr/u8-strncpy: Likewise.
30789         * modules/unistr/u8-strnlen: Likewise.
30790         * modules/unistr/u8-strpbrk: Likewise.
30791         * modules/unistr/u8-strrchr: Likewise.
30792         * modules/unistr/u8-strspn: Likewise.
30793         * modules/unistr/u8-strstr: Likewise.
30794         * modules/unistr/u8-strtok: Likewise.
30795         * modules/unistr/u8-to-u16: Likewise.
30796         * modules/unistr/u8-to-u32: Likewise.
30797         * modules/unistr/u8-uctomb: Likewise.
30798         * modules/unistr/u16-check: Likewise.
30799         * modules/unistr/u16-chr: Likewise.
30800         * modules/unistr/u16-cmp: Likewise.
30801         * modules/unistr/u16-cmp2: Likewise.
30802         * modules/unistr/u16-cpy: Likewise.
30803         * modules/unistr/u16-cpy-alloc: Likewise.
30804         * modules/unistr/u16-endswith: Likewise.
30805         * modules/unistr/u16-mblen: Likewise.
30806         * modules/unistr/u16-mbsnlen: Likewise.
30807         * modules/unistr/u16-mbtouc: Likewise.
30808         * modules/unistr/u16-mbtouc-unsafe: Likewise.
30809         * modules/unistr/u16-mbtoucr: Likewise.
30810         * modules/unistr/u16-move: Likewise.
30811         * modules/unistr/u16-next: Likewise.
30812         * modules/unistr/u16-prev: Likewise.
30813         * modules/unistr/u16-set: Likewise.
30814         * modules/unistr/u16-startswith: Likewise.
30815         * modules/unistr/u16-stpcpy: Likewise.
30816         * modules/unistr/u16-stpncpy: Likewise.
30817         * modules/unistr/u16-strcat: Likewise.
30818         * modules/unistr/u16-strchr: Likewise.
30819         * modules/unistr/u16-strcmp: Likewise.
30820         * modules/unistr/u16-strcoll: Likewise.
30821         * modules/unistr/u16-strcpy: Likewise.
30822         * modules/unistr/u16-strcspn: Likewise.
30823         * modules/unistr/u16-strdup: Likewise.
30824         * modules/unistr/u16-strlen: Likewise.
30825         * modules/unistr/u16-strmblen: Likewise.
30826         * modules/unistr/u16-strmbtouc: Likewise.
30827         * modules/unistr/u16-strncat: Likewise.
30828         * modules/unistr/u16-strncmp: Likewise.
30829         * modules/unistr/u16-strncpy: Likewise.
30830         * modules/unistr/u16-strnlen: Likewise.
30831         * modules/unistr/u16-strpbrk: Likewise.
30832         * modules/unistr/u16-strrchr: Likewise.
30833         * modules/unistr/u16-strspn: Likewise.
30834         * modules/unistr/u16-strstr: Likewise.
30835         * modules/unistr/u16-strtok: Likewise.
30836         * modules/unistr/u16-to-u32: Likewise.
30837         * modules/unistr/u16-to-u8: Likewise.
30838         * modules/unistr/u16-uctomb: Likewise.
30839         * modules/unistr/u32-check: Likewise.
30840         * modules/unistr/u32-chr: Likewise.
30841         * modules/unistr/u32-cmp: Likewise.
30842         * modules/unistr/u32-cmp2: Likewise.
30843         * modules/unistr/u32-cpy: Likewise.
30844         * modules/unistr/u32-cpy-alloc: Likewise.
30845         * modules/unistr/u32-endswith: Likewise.
30846         * modules/unistr/u32-mblen: Likewise.
30847         * modules/unistr/u32-mbsnlen: Likewise.
30848         * modules/unistr/u32-mbtouc: Likewise.
30849         * modules/unistr/u32-mbtouc-unsafe: Likewise.
30850         * modules/unistr/u32-mbtoucr: Likewise.
30851         * modules/unistr/u32-move: Likewise.
30852         * modules/unistr/u32-next: Likewise.
30853         * modules/unistr/u32-prev: Likewise.
30854         * modules/unistr/u32-set: Likewise.
30855         * modules/unistr/u32-startswith: Likewise.
30856         * modules/unistr/u32-stpcpy: Likewise.
30857         * modules/unistr/u32-stpncpy: Likewise.
30858         * modules/unistr/u32-strcat: Likewise.
30859         * modules/unistr/u32-strchr: Likewise.
30860         * modules/unistr/u32-strcmp: Likewise.
30861         * modules/unistr/u32-strcoll: Likewise.
30862         * modules/unistr/u32-strcpy: Likewise.
30863         * modules/unistr/u32-strcspn: Likewise.
30864         * modules/unistr/u32-strdup: Likewise.
30865         * modules/unistr/u32-strlen: Likewise.
30866         * modules/unistr/u32-strmblen: Likewise.
30867         * modules/unistr/u32-strmbtouc: Likewise.
30868         * modules/unistr/u32-strncat: Likewise.
30869         * modules/unistr/u32-strncmp: Likewise.
30870         * modules/unistr/u32-strncpy: Likewise.
30871         * modules/unistr/u32-strnlen: Likewise.
30872         * modules/unistr/u32-strpbrk: Likewise.
30873         * modules/unistr/u32-strrchr: Likewise.
30874         * modules/unistr/u32-strspn: Likewise.
30875         * modules/unistr/u32-strstr: Likewise.
30876         * modules/unistr/u32-strtok: Likewise.
30877         * modules/unistr/u32-to-u16: Likewise.
30878         * modules/unistr/u32-to-u8: Likewise.
30879         * modules/unistr/u32-uctomb: Likewise.
30880         * modules/uniwbrk/u8-wordbreaks: Likewise.
30881         * modules/uniwbrk/u16-wordbreaks: Likewise.
30882         * modules/uniwbrk/u32-wordbreaks: Likewise.
30883         * modules/uniwbrk/ulc-wordbreaks: Likewise.
30884         * modules/uniwbrk/wordbreak-property: Likewise.
30885         * modules/uniwidth/u8-strwidth: Likewise.
30886         * modules/uniwidth/u8-width: Likewise.
30887         * modules/uniwidth/u16-strwidth: Likewise.
30888         * modules/uniwidth/u16-width: Likewise.
30889         * modules/uniwidth/u32-strwidth: Likewise.
30890         * modules/uniwidth/u32-width: Likewise.
30891         * modules/uniwidth/width: Likewise.
30892         * modules/unicase/cased-tests (Makefile.am): Link all test programs
30893         with $(LIBUNISTRING).
30894         * modules/unicase/ignorable-tests: Likewise.
30895         * modules/unicase/locale-language-tests: Likewise.
30896         * modules/unicase/tolower-tests: Likewise.
30897         * modules/unicase/totitle-tests: Likewise.
30898         * modules/unicase/toupper-tests: Likewise.
30899         * modules/unicase/u8-casecmp-tests: Likewise.
30900         * modules/unicase/u8-casecoll-tests: Likewise.
30901         * modules/unicase/u8-casefold-tests: Likewise.
30902         * modules/unicase/u8-is-cased-tests: Likewise.
30903         * modules/unicase/u8-is-casefolded-tests: Likewise.
30904         * modules/unicase/u8-is-lowercase-tests: Likewise.
30905         * modules/unicase/u8-is-titlecase-tests: Likewise.
30906         * modules/unicase/u8-is-uppercase-tests: Likewise.
30907         * modules/unicase/u8-tolower-tests: Likewise.
30908         * modules/unicase/u8-totitle-tests: Likewise.
30909         * modules/unicase/u8-toupper-tests: Likewise.
30910         * modules/unicase/u16-casecmp-tests: Likewise.
30911         * modules/unicase/u16-casecoll-tests: Likewise.
30912         * modules/unicase/u16-casefold-tests: Likewise.
30913         * modules/unicase/u16-is-cased-tests: Likewise.
30914         * modules/unicase/u16-is-casefolded-tests: Likewise.
30915         * modules/unicase/u16-is-lowercase-tests: Likewise.
30916         * modules/unicase/u16-is-titlecase-tests: Likewise.
30917         * modules/unicase/u16-is-uppercase-tests: Likewise.
30918         * modules/unicase/u16-tolower-tests: Likewise.
30919         * modules/unicase/u16-totitle-tests: Likewise.
30920         * modules/unicase/u16-toupper-tests: Likewise.
30921         * modules/unicase/u32-casecmp-tests: Likewise.
30922         * modules/unicase/u32-casecoll-tests: Likewise.
30923         * modules/unicase/u32-casefold-tests: Likewise.
30924         * modules/unicase/u32-is-cased-tests: Likewise.
30925         * modules/unicase/u32-is-casefolded-tests: Likewise.
30926         * modules/unicase/u32-is-lowercase-tests: Likewise.
30927         * modules/unicase/u32-is-titlecase-tests: Likewise.
30928         * modules/unicase/u32-is-uppercase-tests: Likewise.
30929         * modules/unicase/u32-tolower-tests: Likewise.
30930         * modules/unicase/u32-totitle-tests: Likewise.
30931         * modules/unicase/u32-toupper-tests: Likewise.
30932         * modules/unicase/ulc-casecmp-tests: Likewise.
30933         * modules/unicase/ulc-casecoll-tests: Likewise.
30934         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
30935         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
30936         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
30937         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
30938         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
30939         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
30940         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
30941         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
30942         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30943         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30944         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30945         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30946         * modules/unictype/bidicategory-byname-tests: Likewise.
30947         * modules/unictype/bidicategory-name-tests: Likewise.
30948         * modules/unictype/bidicategory-of-tests: Likewise.
30949         * modules/unictype/bidicategory-test-tests: Likewise.
30950         * modules/unictype/block-list-tests: Likewise.
30951         * modules/unictype/block-of-tests: Likewise.
30952         * modules/unictype/block-test-tests: Likewise.
30953         * modules/unictype/category-C-tests: Likewise.
30954         * modules/unictype/category-Cc-tests: Likewise.
30955         * modules/unictype/category-Cf-tests: Likewise.
30956         * modules/unictype/category-Cn-tests: Likewise.
30957         * modules/unictype/category-Co-tests: Likewise.
30958         * modules/unictype/category-Cs-tests: Likewise.
30959         * modules/unictype/category-L-tests: Likewise.
30960         * modules/unictype/category-Ll-tests: Likewise.
30961         * modules/unictype/category-Lm-tests: Likewise.
30962         * modules/unictype/category-Lo-tests: Likewise.
30963         * modules/unictype/category-Lt-tests: Likewise.
30964         * modules/unictype/category-Lu-tests: Likewise.
30965         * modules/unictype/category-M-tests: Likewise.
30966         * modules/unictype/category-Mc-tests: Likewise.
30967         * modules/unictype/category-Me-tests: Likewise.
30968         * modules/unictype/category-Mn-tests: Likewise.
30969         * modules/unictype/category-N-tests: Likewise.
30970         * modules/unictype/category-Nd-tests: Likewise.
30971         * modules/unictype/category-Nl-tests: Likewise.
30972         * modules/unictype/category-No-tests: Likewise.
30973         * modules/unictype/category-P-tests: Likewise.
30974         * modules/unictype/category-Pc-tests: Likewise.
30975         * modules/unictype/category-Pd-tests: Likewise.
30976         * modules/unictype/category-Pe-tests: Likewise.
30977         * modules/unictype/category-Pf-tests: Likewise.
30978         * modules/unictype/category-Pi-tests: Likewise.
30979         * modules/unictype/category-Po-tests: Likewise.
30980         * modules/unictype/category-Ps-tests: Likewise.
30981         * modules/unictype/category-S-tests: Likewise.
30982         * modules/unictype/category-Sc-tests: Likewise.
30983         * modules/unictype/category-Sk-tests: Likewise.
30984         * modules/unictype/category-Sm-tests: Likewise.
30985         * modules/unictype/category-So-tests: Likewise.
30986         * modules/unictype/category-Z-tests: Likewise.
30987         * modules/unictype/category-Zl-tests: Likewise.
30988         * modules/unictype/category-Zp-tests: Likewise.
30989         * modules/unictype/category-Zs-tests: Likewise.
30990         * modules/unictype/category-and-not-tests: Likewise.
30991         * modules/unictype/category-and-tests: Likewise.
30992         * modules/unictype/category-byname-tests: Likewise.
30993         * modules/unictype/category-name-tests: Likewise.
30994         * modules/unictype/category-none-tests: Likewise.
30995         * modules/unictype/category-of-tests: Likewise.
30996         * modules/unictype/category-or-tests: Likewise.
30997         * modules/unictype/category-test-withtable-tests: Likewise.
30998         * modules/unictype/combining-class-tests: Likewise.
30999         * modules/unictype/ctype-alnum-tests: Likewise.
31000         * modules/unictype/ctype-alpha-tests: Likewise.
31001         * modules/unictype/ctype-blank-tests: Likewise.
31002         * modules/unictype/ctype-cntrl-tests: Likewise.
31003         * modules/unictype/ctype-digit-tests: Likewise.
31004         * modules/unictype/ctype-graph-tests: Likewise.
31005         * modules/unictype/ctype-lower-tests: Likewise.
31006         * modules/unictype/ctype-print-tests: Likewise.
31007         * modules/unictype/ctype-punct-tests: Likewise.
31008         * modules/unictype/ctype-space-tests: Likewise.
31009         * modules/unictype/ctype-upper-tests: Likewise.
31010         * modules/unictype/ctype-xdigit-tests: Likewise.
31011         * modules/unictype/decimal-digit-tests: Likewise.
31012         * modules/unictype/digit-tests: Likewise.
31013         * modules/unictype/mirror-tests: Likewise.
31014         * modules/unictype/numeric-tests: Likewise.
31015         * modules/unictype/property-alphabetic-tests: Likewise.
31016         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
31017         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
31018         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
31019         * modules/unictype/property-bidi-block-separator-tests: Likewise.
31020         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
31021         * modules/unictype/property-bidi-common-separator-tests: Likewise.
31022         * modules/unictype/property-bidi-control-tests: Likewise.
31023         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
31024         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
31025         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
31026         * modules/unictype/property-bidi-european-digit-tests: Likewise.
31027         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
31028         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
31029         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
31030         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
31031         * modules/unictype/property-bidi-pdf-tests: Likewise.
31032         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
31033         * modules/unictype/property-bidi-whitespace-tests: Likewise.
31034         * modules/unictype/property-byname-tests: Likewise.
31035         * modules/unictype/property-combining-tests: Likewise.
31036         * modules/unictype/property-composite-tests: Likewise.
31037         * modules/unictype/property-currency-symbol-tests: Likewise.
31038         * modules/unictype/property-dash-tests: Likewise.
31039         * modules/unictype/property-decimal-digit-tests: Likewise.
31040         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
31041         * modules/unictype/property-deprecated-tests: Likewise.
31042         * modules/unictype/property-diacritic-tests: Likewise.
31043         * modules/unictype/property-extender-tests: Likewise.
31044         * modules/unictype/property-format-control-tests: Likewise.
31045         * modules/unictype/property-grapheme-base-tests: Likewise.
31046         * modules/unictype/property-grapheme-extend-tests: Likewise.
31047         * modules/unictype/property-grapheme-link-tests: Likewise.
31048         * modules/unictype/property-hex-digit-tests: Likewise.
31049         * modules/unictype/property-hyphen-tests: Likewise.
31050         * modules/unictype/property-id-continue-tests: Likewise.
31051         * modules/unictype/property-id-start-tests: Likewise.
31052         * modules/unictype/property-ideographic-tests: Likewise.
31053         * modules/unictype/property-ids-binary-operator-tests: Likewise.
31054         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
31055         * modules/unictype/property-ignorable-control-tests: Likewise.
31056         * modules/unictype/property-iso-control-tests: Likewise.
31057         * modules/unictype/property-join-control-tests: Likewise.
31058         * modules/unictype/property-left-of-pair-tests: Likewise.
31059         * modules/unictype/property-line-separator-tests: Likewise.
31060         * modules/unictype/property-logical-order-exception-tests: Likewise.
31061         * modules/unictype/property-lowercase-tests: Likewise.
31062         * modules/unictype/property-math-tests: Likewise.
31063         * modules/unictype/property-non-break-tests: Likewise.
31064         * modules/unictype/property-not-a-character-tests: Likewise.
31065         * modules/unictype/property-numeric-tests: Likewise.
31066         * modules/unictype/property-other-alphabetic-tests: Likewise.
31067         * modules/unictype/property-other-default-ignorable-code-point-tests:
31068         Likewise.
31069         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
31070         * modules/unictype/property-other-id-continue-tests: Likewise.
31071         * modules/unictype/property-other-id-start-tests: Likewise.
31072         * modules/unictype/property-other-lowercase-tests: Likewise.
31073         * modules/unictype/property-other-math-tests: Likewise.
31074         * modules/unictype/property-other-uppercase-tests: Likewise.
31075         * modules/unictype/property-paired-punctuation-tests: Likewise.
31076         * modules/unictype/property-paragraph-separator-tests: Likewise.
31077         * modules/unictype/property-pattern-syntax-tests: Likewise.
31078         * modules/unictype/property-pattern-white-space-tests: Likewise.
31079         * modules/unictype/property-private-use-tests: Likewise.
31080         * modules/unictype/property-punctuation-tests: Likewise.
31081         * modules/unictype/property-quotation-mark-tests: Likewise.
31082         * modules/unictype/property-radical-tests: Likewise.
31083         * modules/unictype/property-sentence-terminal-tests: Likewise.
31084         * modules/unictype/property-soft-dotted-tests: Likewise.
31085         * modules/unictype/property-space-tests: Likewise.
31086         * modules/unictype/property-terminal-punctuation-tests: Likewise.
31087         * modules/unictype/property-test-tests: Likewise.
31088         * modules/unictype/property-titlecase-tests: Likewise.
31089         * modules/unictype/property-unassigned-code-value-tests: Likewise.
31090         * modules/unictype/property-unified-ideograph-tests: Likewise.
31091         * modules/unictype/property-uppercase-tests: Likewise.
31092         * modules/unictype/property-variation-selector-tests: Likewise.
31093         * modules/unictype/property-white-space-tests: Likewise.
31094         * modules/unictype/property-xid-continue-tests: Likewise.
31095         * modules/unictype/property-xid-start-tests: Likewise.
31096         * modules/unictype/property-zero-width-tests: Likewise.
31097         * modules/unictype/scripts-tests: Likewise.
31098         * modules/unictype/syntax-c-ident-tests: Likewise.
31099         * modules/unictype/syntax-c-whitespace-tests: Likewise.
31100         * modules/unictype/syntax-java-ident-tests: Likewise.
31101         * modules/unictype/syntax-java-whitespace-tests: Likewise.
31102         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
31103         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
31104         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
31105         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
31106         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
31107         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
31108         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
31109         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
31110         * modules/uniname/uniname-tests: Likewise.
31111         * modules/uninorm/canonical-decomposition-tests: Likewise.
31112         * modules/uninorm/compat-decomposition-tests: Likewise.
31113         * modules/uninorm/composition-tests: Likewise.
31114         * modules/uninorm/decomposing-form-tests: Likewise.
31115         * modules/uninorm/decomposition-tests: Likewise.
31116         * modules/uninorm/filter-tests: Likewise.
31117         * modules/uninorm/nfc-tests: Likewise.
31118         * modules/uninorm/nfd-tests: Likewise.
31119         * modules/uninorm/nfkc-tests: Likewise.
31120         * modules/uninorm/nfkd-tests: Likewise.
31121         * modules/uninorm/u8-normcmp-tests: Likewise.
31122         * modules/uninorm/u8-normcoll-tests: Likewise.
31123         * modules/uninorm/u16-normcmp-tests: Likewise.
31124         * modules/uninorm/u16-normcoll-tests: Likewise.
31125         * modules/uninorm/u32-normcmp-tests: Likewise.
31126         * modules/uninorm/u32-normcoll-tests: Likewise.
31127         * modules/unistdio/u8-asnprintf-tests: Likewise.
31128         * modules/unistdio/u8-vasnprintf-tests: Likewise.
31129         * modules/unistdio/u8-vasprintf-tests: Likewise.
31130         * modules/unistdio/u8-vsnprintf-tests: Likewise.
31131         * modules/unistdio/u8-vsprintf-tests: Likewise.
31132         * modules/unistdio/u16-asnprintf-tests: Likewise.
31133         * modules/unistdio/u16-vasnprintf-tests: Likewise.
31134         * modules/unistdio/u16-vasprintf-tests: Likewise.
31135         * modules/unistdio/u16-vsnprintf-tests: Likewise.
31136         * modules/unistdio/u16-vsprintf-tests: Likewise.
31137         * modules/unistdio/u32-asnprintf-tests: Likewise.
31138         * modules/unistdio/u32-vasnprintf-tests: Likewise.
31139         * modules/unistdio/u32-vasprintf-tests: Likewise.
31140         * modules/unistdio/u32-vsnprintf-tests: Likewise.
31141         * modules/unistdio/u32-vsprintf-tests: Likewise.
31142         * modules/unistdio/ulc-asnprintf-tests: Likewise.
31143         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
31144         * modules/unistdio/ulc-vasprintf-tests: Likewise.
31145         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
31146         * modules/unistdio/ulc-vsprintf-tests: Likewise.
31147         * modules/unistr/u8-check-tests: Likewise.
31148         * modules/unistr/u8-chr-tests: Likewise.
31149         * modules/unistr/u8-cmp-tests: Likewise.
31150         * modules/unistr/u8-cmp2-tests: Likewise.
31151         * modules/unistr/u8-cpy-alloc-tests: Likewise.
31152         * modules/unistr/u8-cpy-tests: Likewise.
31153         * modules/unistr/u8-mblen-tests: Likewise.
31154         * modules/unistr/u8-mbsnlen-tests: Likewise.
31155         * modules/unistr/u8-mbtouc-tests: Likewise.
31156         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
31157         * modules/unistr/u8-mbtoucr-tests: Likewise.
31158         * modules/unistr/u8-move-tests: Likewise.
31159         * modules/unistr/u8-next-tests: Likewise.
31160         * modules/unistr/u8-prev-tests: Likewise.
31161         * modules/unistr/u8-set-tests: Likewise.
31162         * modules/unistr/u8-stpcpy-tests: Likewise.
31163         * modules/unistr/u8-stpncpy-tests: Likewise.
31164         * modules/unistr/u8-strcat-tests: Likewise.
31165         * modules/unistr/u8-strcmp-tests: Likewise.
31166         * modules/unistr/u8-strcoll-tests: Likewise.
31167         * modules/unistr/u8-strcpy-tests: Likewise.
31168         * modules/unistr/u8-strdup-tests: Likewise.
31169         * modules/unistr/u8-strlen-tests: Likewise.
31170         * modules/unistr/u8-strmblen-tests: Likewise.
31171         * modules/unistr/u8-strmbtouc-tests: Likewise.
31172         * modules/unistr/u8-strncat-tests: Likewise.
31173         * modules/unistr/u8-strncmp-tests: Likewise.
31174         * modules/unistr/u8-strncpy-tests: Likewise.
31175         * modules/unistr/u8-strnlen-tests: Likewise.
31176         * modules/unistr/u8-to-u16-tests: Likewise.
31177         * modules/unistr/u8-to-u32-tests: Likewise.
31178         * modules/unistr/u8-uctomb-tests: Likewise.
31179         * modules/unistr/u16-check-tests: Likewise.
31180         * modules/unistr/u16-chr-tests: Likewise.
31181         * modules/unistr/u16-cmp-tests: Likewise.
31182         * modules/unistr/u16-cmp2-tests: Likewise.
31183         * modules/unistr/u16-cpy-alloc-tests: Likewise.
31184         * modules/unistr/u16-cpy-tests: Likewise.
31185         * modules/unistr/u16-mblen-tests: Likewise.
31186         * modules/unistr/u16-mbsnlen-tests: Likewise.
31187         * modules/unistr/u16-mbtouc-tests: Likewise.
31188         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
31189         * modules/unistr/u16-mbtoucr-tests: Likewise.
31190         * modules/unistr/u16-move-tests: Likewise.
31191         * modules/unistr/u16-next-tests: Likewise.
31192         * modules/unistr/u16-prev-tests: Likewise.
31193         * modules/unistr/u16-set-tests: Likewise.
31194         * modules/unistr/u16-stpcpy-tests: Likewise.
31195         * modules/unistr/u16-stpncpy-tests: Likewise.
31196         * modules/unistr/u16-strcat-tests: Likewise.
31197         * modules/unistr/u16-strcmp-tests: Likewise.
31198         * modules/unistr/u16-strcoll-tests: Likewise.
31199         * modules/unistr/u16-strcpy-tests: Likewise.
31200         * modules/unistr/u16-strdup-tests: Likewise.
31201         * modules/unistr/u16-strlen-tests: Likewise.
31202         * modules/unistr/u16-strmblen-tests: Likewise.
31203         * modules/unistr/u16-strmbtouc-tests: Likewise.
31204         * modules/unistr/u16-strncat-tests: Likewise.
31205         * modules/unistr/u16-strncmp-tests: Likewise.
31206         * modules/unistr/u16-strncpy-tests: Likewise.
31207         * modules/unistr/u16-strnlen-tests: Likewise.
31208         * modules/unistr/u16-to-u32-tests: Likewise.
31209         * modules/unistr/u16-to-u8-tests: Likewise.
31210         * modules/unistr/u16-uctomb-tests: Likewise.
31211         * modules/unistr/u32-check-tests: Likewise.
31212         * modules/unistr/u32-chr-tests: Likewise.
31213         * modules/unistr/u32-cmp-tests: Likewise.
31214         * modules/unistr/u32-cmp2-tests: Likewise.
31215         * modules/unistr/u32-cpy-alloc-tests: Likewise.
31216         * modules/unistr/u32-cpy-tests: Likewise.
31217         * modules/unistr/u32-mblen-tests: Likewise.
31218         * modules/unistr/u32-mbsnlen-tests: Likewise.
31219         * modules/unistr/u32-mbtouc-tests: Likewise.
31220         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
31221         * modules/unistr/u32-mbtoucr-tests: Likewise.
31222         * modules/unistr/u32-move-tests: Likewise.
31223         * modules/unistr/u32-next-tests: Likewise.
31224         * modules/unistr/u32-prev-tests: Likewise.
31225         * modules/unistr/u32-set-tests: Likewise.
31226         * modules/unistr/u32-stpcpy-tests: Likewise.
31227         * modules/unistr/u32-stpncpy-tests: Likewise.
31228         * modules/unistr/u32-strcat-tests: Likewise.
31229         * modules/unistr/u32-strcmp-tests: Likewise.
31230         * modules/unistr/u32-strcoll-tests: Likewise.
31231         * modules/unistr/u32-strcpy-tests: Likewise.
31232         * modules/unistr/u32-strdup-tests: Likewise.
31233         * modules/unistr/u32-strlen-tests: Likewise.
31234         * modules/unistr/u32-strmblen-tests: Likewise.
31235         * modules/unistr/u32-strmbtouc-tests: Likewise.
31236         * modules/unistr/u32-strncat-tests: Likewise.
31237         * modules/unistr/u32-strncmp-tests: Likewise.
31238         * modules/unistr/u32-strncpy-tests: Likewise.
31239         * modules/unistr/u32-strnlen-tests: Likewise.
31240         * modules/unistr/u32-to-u16-tests: Likewise.
31241         * modules/unistr/u32-to-u8-tests: Likewise.
31242         * modules/unistr/u32-uctomb-tests: Likewise.
31243         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
31244         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
31245         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
31246         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
31247         * modules/uniwidth/u8-strwidth-tests: Likewise.
31248         * modules/uniwidth/u8-width-tests: Likewise.
31249         * modules/uniwidth/u16-strwidth-tests: Likewise.
31250         * modules/uniwidth/u16-width-tests: Likewise.
31251         * modules/uniwidth/u32-strwidth-tests: Likewise.
31252         * modules/uniwidth/u32-width-tests: Likewise.
31253         * modules/uniwidth/width-tests: Likewise.
31254
31255 2010-05-18  Richard Jones  <rjones@redhat.com>
31256
31257         doc: users.txt: list hivex
31258         * users.txt: Add hivex.
31259
31260 2010-05-18  Richard Jones  <rjones@redhat.com>
31261
31262         doc: users.txt: list febootstrap
31263         * users.txt: Add febootstrap.
31264
31265 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
31266
31267         bootstrap: fix an error when gnulib is not used as a git submodule
31268         * build-aux/bootstrap (gnulib_path): If its length is zero then
31269         assign "gnulib" to it.
31270         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
31271
31272 2010-05-16  Bruno Haible  <bruno@clisp.org>
31273
31274         Avoid autoconf warnings about AM_ICONV.
31275         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
31276         2.64.
31277
31278 2010-05-16  Bruno Haible  <bruno@clisp.org>
31279
31280         absolute-header: Make the macro usable in more situations.
31281         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
31282         from gl_ABSOLUTE_HEADER.
31283         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
31284
31285 2010-05-16  James Youngman  <jay@gnu.org>
31286
31287         doc: update users.txt
31288         * users.txt: Add CSSC.
31289
31290 2010-05-16  Jim Meyering  <meyering@redhat.com>
31291
31292         init.sh: fix an error in the previous change; add more comments
31293         * tests/init.sh: Compare exit code in loop against 9, not 2.
31294         Patch by Bruno Haible.
31295         Make the two tests more similar by adding an empty "then" clause.
31296         Add comments.
31297
31298         init.sh: avoid unnecessary shell re-exec
31299         * tests/init.sh: Improve the re-exec-required check to first test the
31300         current shell.  If it passes the test, do not search for a shell that
31301         does pass, and do not re-exec.  This test is particularly contorted to
31302         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
31303         of $(...) evokes a syntax error and causes immediate shell exit with
31304         status 2.  Bruno Haible reported that the re-exec made it impossible
31305         to single-step through any init.sh-using script.
31306
31307 2010-05-16  Bruno Haible  <bruno@clisp.org>
31308
31309         Fix collision between gnulib's and libintl's printf replacements.
31310         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
31311         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
31312         (printf): When using GNU C, map the __printf__ function to rpl_printf
31313         via __asm__. When not using GNU C, define rpl_printf instead of
31314         __printf__.
31315         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
31316         commit.
31317         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
31318         commit.
31319         * m4/asm-underscore.m4: New file.
31320         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
31321         * modules/stdio (Files): Add m4/asm-underscore.m4.
31322         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
31323         Reported by Ben Pfaff.
31324
31325 2010-05-16  Bruno Haible  <bruno@clisp.org>
31326
31327         verify: Avoid skipping the test on openSUSE 11.0.
31328         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
31329
31330 2010-05-13  Bruno Haible  <bruno@clisp.org>
31331
31332         Avoid useless warnings from G++.
31333         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
31334         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
31335         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31336
31337 2010-05-11  Jim Meyering  <meyering@redhat.com>
31338
31339         maint.mk: tweak preceding change
31340         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
31341         regexps tighter by anchoring at EOL, and make the new group "shy"
31342         for slightly decreased overhead.
31343
31344 2010-05-11  Eric Blake  <eblake@redhat.com>
31345
31346         maint.mk: gnulib doesn't guarantee NSIG
31347         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
31348
31349 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
31350
31351         test-pwrite.c: Remove unused variable declaration.
31352         * tests/test-pwrite.c (main): Remove read_buf declaration.
31353
31354         Remove useless test-pwrite.sh file.
31355         * tests/test-pwrite.sh: Delete file.
31356         * modules/pwrite-tests: Remove references.
31357         Reported by Bruno Haible.
31358
31359 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
31360
31361         init.sh: fix a typo
31362         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
31363
31364 2010-05-10  Jim Meyering  <meyering@redhat.com>
31365
31366         maint.mk: avoid using a temporary file in the always-defined-macros check
31367         * top/maint.mk (.re-defmac): Remove rule.
31368         (gl_trap_): Remove definition.
31369         (sc_prohibit_always-defined_macros): Rewrite not to create and
31370         depend on a temporary file.  Instead, depend on GNU grep's ability
31371         to read a list of regular expressions from stdin when given "-f -".
31372
31373 2010-05-09  Bruno Haible  <bruno@clisp.org>
31374
31375         Update to GNU gettext 0.18, part 1.
31376         * m4/gettext.m4: Update to GNU gettext 0.18.
31377         * m4/intl.m4: Likewise.
31378         * m4/po.m4: Likewise.
31379         * modules/gettext (Files): Add m4/fcntl-o.m4.
31380         (configure.ac): Require gettext infrastructure from version 0.18.
31381
31382 2010-05-09  Jim Meyering  <meyering@redhat.com>
31383
31384         init.sh: enable MALLOC_PERTURB_
31385         * tests/init.sh: Enable glibc's malloc-perturbing option.
31386
31387         maint.mk: improve sc_cross_check_PATH_usage_in_tests
31388         With my recent change in init.sh from the two-line form:
31389             -#   : ${srcdir=.}
31390             -#   . "$srcdir/init.sh"; path_prepend_ .
31391             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
31392         I noticed that using the one-line form would cause this test
31393         to fail with a false-positive, or to stop working altogether,
31394         depending on whether help-version changed or all the tests did.
31395         * top/maint.mk (_hv_regex): Remove this definition.
31396         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
31397         (_hv_regex_strong): Use a stronger regex to check for conformance.
31398         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
31399         Give a separate diagnostic for lack of conforming use.
31400
31401         maint.mk: prohibit definition of symbols defined by gnulib
31402         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
31403         definition of symbols defined by gnulib.
31404
31405 2010-05-09  Bruno Haible  <bruno@clisp.org>
31406
31407         acl: Avoid test failure on Cygwin-hosted mingw.
31408         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
31409
31410 2010-05-09  Bruno Haible  <bruno@clisp.org>
31411
31412         error: Use system's fcntl function.
31413         * lib/error.c (fcntl): Undefine.
31414
31415 2010-05-09  Jim Meyering  <meyering@redhat.com>
31416
31417         verify: adjust formatting to be more consistent
31418         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
31419         argument-list '('s, and after one comma.
31420
31421 2010-05-09  Bruno Haible  <bruno@clisp.org>
31422
31423         error: More reliable output on mingw.
31424         * lib/error.c: Include <windows.h>.
31425         (is_open): New function.
31426         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
31427         defined.
31428
31429 2010-05-09  Bruno Haible  <bruno@clisp.org>
31430
31431         vasnprintf: Fix syntax errors in libintl build on mingw.
31432         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
31433         pad_ourselves and prec_ourselves after use.
31434
31435 2010-05-08  Bruno Haible  <bruno@clisp.org>
31436
31437         * lib/config.charset: Update comments for Cygwin 1.7.
31438         * lib/localcharset.c: Likewise.
31439
31440 2010-05-07  Jim Meyering  <meyering@redhat.com>
31441
31442         init.sh: improve comments
31443         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
31444         . "${srcdir=.}/init.sh"; path_prepend_ .
31445         Add a note about path_prepend_ and the alternative of using
31446         TESTS_ENVIRONMENT.
31447
31448 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
31449
31450         exclude: Unescape hashed patterns in wildcard mode.
31451         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
31452         to the hash list.
31453         * tests/test-exclude8.sh: New test case.
31454         * modules/exclude-tests: Add new test.
31455
31456 2010-05-05  Eric Blake  <eblake@redhat.com>
31457
31458         verify: automate tests
31459         * modules/verify-tests: New module.
31460         * tests/test-verify.sh: New file.
31461         * tests/test-verify.c: Guard each negative test with a unique id.
31462         Also avoid warning about unused left hand of comma expressions.
31463
31464 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
31465
31466         Further improvements to verify.h, suggested by Eric Blake.
31467         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
31468         the GL_* versions, to avoid collision with OpenGL.
31469         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
31470         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
31471         than testing merely whether it's defined.
31472
31473         Modify verify.h to pacify gcc -Wredundant_decls.
31474         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
31475         These use the prefix "GL_" since they're likely to be useful elsewhere.
31476         We may need to break them out into a different .h file.
31477         (__COUNTER__): Define to 0 if the compiler doesn't support it.
31478         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
31479         of verify_function__.
31480
31481 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
31482
31483         Tests for module pwrite.
31484         * modules/pwrite-tests: New file.
31485         * tests/test-pwrite.sh: New file.
31486         * tests/test-pwrite.c: New file.
31487
31488         New module pwrite.
31489         * lib/unistd.in.h (pwrite): New declaration.
31490         * lib/pwrite.c: New file, from glibc with modifications.
31491         * m4/pwrite.m4: New file.
31492         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
31493         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
31494         REPLACE_PWRITE.
31495         * modules/pwrite: New file.
31496         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
31497         REPLACE_PWRITE.
31498         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
31499         * doc/posix-functions/pwrite.texi: Mention the new module.
31500
31501 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
31502
31503         pread: Update documentation.
31504         * doc/posix-functions/pread.texi: Mention the 'pread' module.
31505
31506 2010-05-04  Eric Blake  <eblake@redhat.com>
31507
31508         docs: update cygwin progress
31509         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
31510         this bug.
31511         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
31512         Added in cygwin 1.7.2.
31513         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
31514         Likewise.
31515         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
31516         Likewise.
31517         * doc/glibc-functions/dup3.texi (dup3): Likewise.
31518         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
31519         * doc/glibc-functions/accept4.texi (accept4): Likewise.
31520         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
31521         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
31522         Mention nproc module.
31523         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
31524         bug in cygwin 1.7.5 addition.
31525         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
31526         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
31527         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
31528         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
31529         1.7.5.
31530         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
31531         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
31532         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
31533         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
31534         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
31535         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
31536         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
31537         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
31538         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
31539         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
31540         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
31541         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
31542         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
31543         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
31544         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
31545         Likewise.
31546         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
31547         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
31548         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
31549         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
31550         Likewise.
31551         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
31552         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
31553         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
31554         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
31555         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
31556         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
31557         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
31558         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
31559         Likewise.
31560         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
31561         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
31562         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
31563         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
31564         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
31565         Likewise.
31566         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
31567         Likewise.
31568         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
31569         Likewise.
31570         * doc/glibc-functions/xdrrec_endofrecord.texi
31571         (xdrrec_endofrecord): Likewise.
31572         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
31573         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
31574         Likewise.
31575         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
31576         Likewise.
31577
31578 2010-05-04  Jim Meyering  <meyering@redhat.com>
31579
31580         gendocs.sh: make its "-s FILE" option more useful
31581         * build-aux/gendocs.sh: When honoring the -s FILE option, update
31582         $PACKAGE to reflect the probably-different basename of "FILE".
31583
31584 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31585
31586         bootstrap: don't ignore download_po_files failure
31587         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
31588         failure.
31589
31590 2010-05-03  Jim Meyering  <meyering@redhat.com>
31591
31592         maint.mk: allow to pass options to gendocs.sh
31593         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
31594         (gendocs_options_): New overridable variable.
31595
31596         gnu-web-doc-update: don't ignore configure or build failure
31597         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
31598
31599         announce-gen: backslash-escape '@'s in --help output
31600         * build-aux/announce-gen: Fix syntax errors.
31601
31602         maint.mk, announce-gen: allow project-specific announcement mail headers
31603         * top/maint.mk (translation_project_): Define default.
31604         (announcement_Cc_, announcement_mail_headers_): Likewise.
31605         (announcement): Invoke announce-gen with new --mail-headers option.
31606         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
31607
31608         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
31609         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
31610         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
31611         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
31612         line in the "err2" output file when running "make check" in verbose
31613         mode (i.e., with set -x enabled).
31614
31615 2010-05-03  Bruno Haible  <bruno@clisp.org>
31616
31617         wctob: Fix for weird platforms.
31618         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
31619         argument value.
31620
31621 2010-05-03  Jim Meyering  <meyering@redhat.com>
31622
31623         maint.mk: prohibit unwarranted use of <strings.h>
31624         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
31625         strings.h in a file that does not also use strcasecmp, strncasecmp,
31626         ffs or ffsll.
31627
31628         maint.mk: remove obsolete comments
31629         * top/maint.mk: Remove stale, commented-out rules.
31630
31631 2010-05-02  Bruno Haible  <bruno@clisp.org>
31632
31633         wcwidth: Declare also when it's aliased.
31634         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
31635         macro.
31636
31637 2010-05-02  Bruno Haible  <bruno@clisp.org>
31638
31639         Fix regression from 2010-04-25.
31640         * gnulib-tool (func_modules_transitive_closure): Check the status of
31641         all modules, not only of the tests that are of the form foo-tests where
31642         foo is a module.
31643
31644 2010-05-02  Bruno Haible  <bruno@clisp.org>
31645
31646         wctob: Work around nasty Cygwin 1.7.2 bug.
31647         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
31648         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
31649
31650 2010-05-01  Bruno Haible  <bruno@clisp.org>
31651
31652         fpurge: Sharper test.
31653         * tests/test-fpurge.c (main): Add one more ftell check.
31654         * modules/fpurge-tests (Depends-on): Add ftell.
31655         Suggested by Eric Blake.
31656
31657 2010-05-01  Bruno Haible  <bruno@clisp.org>
31658
31659         ftello: Another test.
31660         * tests/test-ftello3.c: New file.
31661         * modules/ftello-tests (Files): Add it.
31662         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31663         MOSTLYCLEANFILES.
31664
31665         ftell: Another test.
31666         * tests/test-ftell3.c: New file.
31667         * modules/ftell-tests (Files): Add it.
31668         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31669         MOSTLYCLEANFILES.
31670
31671 2010-05-01  Bruno Haible  <bruno@clisp.org>
31672
31673         ftell, ftello: Work around Solaris bug.
31674         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
31675         * lib/ftello.c: Include stdio-impl.h.
31676         (ftello): On Solaris, when _IOWRT is set, compute the result without
31677         looking at _IOREAD.
31678         * modules/ftello (Files): Add lib/stdio-impl.h.
31679         * doc/posix-functions/ftell.texi: Mention Solaris bug.
31680         * doc/posix-functions/ftello.texi: Likewise.
31681         Reported by Eric Blake.
31682
31683 2010-05-01  Bruno Haible  <bruno@clisp.org>
31684
31685         freading: Adapt to special meaning of _IOREAD flag on Solaris.
31686         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
31687         the _IOWRT flag is also set.
31688
31689 2010-05-01  Bruno Haible  <bruno@clisp.org>
31690
31691         Fix doc about a HP-UX stdio bug.
31692         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
31693         * doc/posix-functions/ftello.texi: Likewise.
31694
31695 2010-05-01  Bruno Haible  <bruno@clisp.org>
31696
31697         lseek test: Fix failure on Solaris.
31698         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
31699         output.
31700
31701 2010-04-30  Jim Meyering  <meyering@redhat.com>
31702
31703         bootstrap: don't ignore failure to generate po*/Makevars
31704         * build-aux/bootstrap (with_gettext): Don't ignore failure
31705         to create po/Makevars or runtime-po/Makevars.
31706
31707 2010-04-29  Eric Blake  <eblake@redhat.com>
31708
31709         headers: relax license to LGPLv2+
31710         * modules/fcntl-h (License): Relax license.
31711         * modules/getopt-posix (License): Likewise.
31712         * modules/locale (License): Likewise.
31713         * modules/math (License): Likewise.
31714         * modules/pty (License): Likewise.
31715         * modules/sched (License): Likewise.
31716         * modules/search (License): Likewise.
31717         * modules/spawn (License): Likewise.
31718         * modules/stdarg (License): Likewise.
31719         * modules/sysexits (License): Likewise.
31720
31721 2010-04-29  Jim Meyering  <meyering@redhat.com>
31722
31723         inttypes: relax license to LGPLv2+
31724         * modules/inttypes (License): Relax license.
31725
31726 2010-04-29  Simon Josefsson  <simon@josefsson.org>
31727
31728         * top/maint.mk (indent): Run twice to produce idempotent results.
31729
31730 2010-04-28  Bruno Haible  <bruno@clisp.org>
31731
31732         getdate: Generate getdate.c in the source directory.
31733         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
31734         MOSTLYCLEANFILES.
31735         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
31736
31737 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
31738
31739         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
31740         is not declared as a const *; avoid warnings in that case.
31741
31742 2010-04-28  Eric Blake  <eblake@redhat.com>
31743
31744         canonicalize-lgpl: avoid compiler warning
31745         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
31746         declaration' / 'extraneous semicolon' warning with some compilers.
31747         Reported by Andreas Gruenbacher.
31748
31749 2010-04-28  Jim Meyering  <meyering@redhat.com>
31750
31751         init.sh: ensure a more reliable exit status when exiting via trap
31752         * tests/init.sh (setup_): Don't rely on $? in signal handler.
31753         Inspired by patches from Dmitry V. Levin.
31754         Also trap on signal 3 (SIGQUIT).
31755
31756 2010-04-27  Bruno Haible  <bruno@clisp.org>
31757
31758         Update doc about utimes().
31759         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
31760         'utimens' module.
31761         Reported by Andreas Gruenbacher <agruen@suse.de>.
31762
31763 2010-04-27  Eric Blake  <eblake@redhat.com>
31764
31765         full-read, full-write: relax license
31766         * modules/full-read (License): Drop to LGPLv2+.
31767         * modules/full-write (License): Likewise.
31768         * modules/safe-read (License): Likewise.
31769         * modules/safe-write (License): Likewise.
31770
31771         pthread: mention library for linking
31772         * modules/pthread (Link): Mention $(LIB_PTHREAD).
31773
31774 2010-04-27  Jim Meyering  <meyering@redhat.com>
31775
31776         maint.mk: fix a bug introduced in last change
31777         * top/maint.mk (gl_assured_headers_): Now that all names are on
31778         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
31779         is not anchored to end of word, it should be adequate.
31780
31781         maint.mk: avoid side-effect in latest syntax-check
31782         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
31783         to run commands via $(shell...), and hence to incur cost only when
31784         the new rule is actually run.
31785
31786         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
31787         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
31788         and use that to create a regexp used to detect all #if HAVE_..._H uses.
31789         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
31790         (gl_assured_headers_, az_, AZ_): Define.
31791         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
31792
31793 2010-04-26  Jim Meyering  <jim@meyering.net>
31794             Bruno Haible  <bruno@clisp.org>
31795
31796         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
31797         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
31798         Prompted by an exchange with Gilles Espinasse.
31799
31800 2010-04-26  Jim Meyering  <meyering@redhat.com>
31801
31802         git-version-gen: aesthetic tweak
31803         * build-aux/git-version-gen: Use "$nl" rather than a literal,
31804         so that the command remains on a single line.
31805
31806 2010-04-26  Eric Blake  <eblake@redhat.com>
31807
31808         git-version-gen: allow use on EBCDIC hosts
31809         * build-aux/git-version-gen (dirty): Use literal rather than tying
31810         ourselves to ascii.
31811         Reported by Steve Goetze.
31812
31813 2010-04-25  Bruno Haible  <bruno@clisp.org>
31814
31815         netdb: Add support for GNULIB_POSIXCHECK.
31816         * lib/netdb.in.h: Include warn-on-use.h.
31817         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
31818         functions are used when GNULIB_POSIXCHECK is defined and the
31819         getaddrinfo module is not in use.
31820         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
31821         freeaddrinfo, gai_strerror, getnameinfo are declared.
31822         * modules/netdb (Depends-on): Add warn-on-use.
31823         (Makefile.am): Include warn-on-use.h in netdb.h.
31824
31825 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
31826
31827         build: avoid "make check" failure without .git/ directory
31828         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
31829         there is no .git/ directory.
31830
31831 2010-04-25  Bruno Haible  <bruno@clisp.org>
31832
31833         ptsname: Fix misuse of ttyname_r.
31834         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
31835         of errno.
31836
31837 2010-04-25  Bruno Haible  <bruno@clisp.org>
31838
31839         ttyname_r: Make it work on Solaris 10.
31840         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
31841         if the system function has the POSIX declaration. Test whether the
31842         function fails if the buffer is less than 128 bytes large.
31843         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
31844         system's ttyname_r function. Provide a reasonably large buffer.
31845         * modules/ttyname_r (Depends-on): Add extensions.
31846         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
31847
31848 2010-04-25  Bruno Haible  <bruno@clisp.org>
31849
31850         Use the 'extensions' module for some more functions on Solaris.
31851         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
31852         module.
31853         * doc/posix-functions/ctime_r.texi: Likewise.
31854         * doc/posix-functions/getgrgid_r.texi: Likewise.
31855         * doc/posix-functions/getgrnam_r.texi: Likewise.
31856         * doc/posix-functions/getpwnam_r.texi: Likewise.
31857         * doc/posix-functions/getpwuid_r.texi: Likewise.
31858         * doc/posix-functions/readdir_r.texi: Likewise.
31859         * doc/posix-functions/sigwait.texi: Likewise.
31860         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31861         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
31862
31863 2010-04-25  Bruno Haible  <bruno@clisp.org>
31864
31865         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
31866         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
31867         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
31868         * lib/ttyname_r.c: Include <limits.h>.
31869         (ttyname_r): Define using the system's ttyname_r function, if it exists
31870         and not on Solaris.
31871         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
31872         set.
31873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
31874         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
31875         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
31876         Reported by Simon Josefsson.
31877
31878 2010-04-25  Bruno Haible  <bruno@clisp.org>
31879
31880         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
31881         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
31882         * doc/posix-functions/ctime_r.texi: Likewise.
31883         * doc/posix-functions/getgrgid_r.texi: Likewise.
31884         * doc/posix-functions/getgrnam_r.texi: Likewise.
31885         * doc/posix-functions/getlogin_r.texi: Likewise.
31886         * doc/posix-functions/getpwnam_r.texi: Likewise.
31887         * doc/posix-functions/getpwuid_r.texi: Likewise.
31888         * doc/posix-functions/readdir_r.texi: Likewise.
31889         * doc/posix-functions/sigwait.texi: Likewise.
31890         * doc/posix-functions/ttyname_r.texi: Likewise.
31891         Reported by Simon Josefsson.
31892
31893 2010-04-25  Bruno Haible  <bruno@clisp.org>
31894
31895         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
31896         * gnulib-tool (func_usage): Document that --with-*-tests options apply
31897         also to --create-testdir.
31898         (func_acceptable): Don't consider the status of *-tests modules here.
31899         (func_modules_transitive_closure): Consider it here, before including a
31900         test module.
31901         (func_import, func_create_testdir): Set inc_all_direct_tests,
31902         inc_all_indirect_tests.
31903         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
31904         --create-testdir and --create-megatestdir.
31905
31906 2010-04-25  Bruno Haible  <bruno@clisp.org>
31907
31908         gnulib-tool: Add --without-*-tests options.
31909         * gnulib-tool (func_usage): Document the --without-*-tests options.
31910         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
31911         excl_unportable_tests): New variables.
31912         Fail if they are specified with --import or --update.
31913         (func_acceptable): Respect the excl_*_tests variables.
31914         (func_import): Set the excl_*_tests variables to empty.
31915
31916 2010-04-25  Simon Josefsson  <simon@josefsson.org>
31917             Bruno Haible  <bruno@clisp.org>
31918
31919         Work around a MacOS X 10.4 bug with openpty.
31920         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
31921         * tests/test-openpty.c (main): Close the master side explicitly.
31922
31923 2010-04-25  Bruno Haible  <bruno@clisp.org>
31924
31925         strnlen: Fix a C++ test error on MacOS X and Solaris.
31926         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
31927         the function is not declared.
31928         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
31929         Simon Josefsson.
31930
31931 2010-04-24  Bruno Haible  <bruno@clisp.org>
31932
31933         Avoid a gcc warning.
31934         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
31935         of correct type for %08lx directive.
31936         Reported by Eric Blake.
31937
31938 2010-04-24  Bruno Haible  <bruno@clisp.org>
31939
31940         vasnprintf: Correct errno value in case of out-of-memory.
31941         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
31942         or sprintf. Use the errno value from SNPRINTF or sprintf.
31943         Reported by Ian Beckwith <ianb@erislabs.net>.
31944
31945 2010-04-24  Bruno Haible  <bruno@clisp.org>
31946
31947         ansi-c++-opt: Find correct compiler when cross-compiling.
31948         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31949         AC_CHECK_PROGS.
31950         Reported by Simon Josefsson.
31951
31952 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31953
31954         vc-list-files: Add support for subversion
31955         * build-aux/vc-list-files: Use "svn list" to generate the list of
31956         files controlled by subversion.
31957
31958 2010-04-23  Jim Meyering  <meyering@redhat.com>
31959
31960         vc-list-files tests: convert to use init.sh
31961         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31962         path_prepend_.
31963         Use Exit, not exit.
31964         Use skip_ rather than open coding it.
31965         Remove trap set-up and compare definitions.
31966         * tests/test-vc-list-files-git.sh: Likewise.
31967         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31968
31969 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31970
31971         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31972         backup files.
31973
31974 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31975
31976         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31977
31978 2010-04-20  Eric Blake  <eblake@redhat.com>
31979
31980         tests: be robust to ignored SIGPIPE
31981         * tests/test-select-in.sh: Consume all output.
31982         * tests/test-lseek.sh: Check correct exit status, while avoiding
31983         EPIPE.
31984
31985 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31986             Bruno Haible  <bruno@clisp.org>
31987
31988         visibility: Don't use -fvisibility if it leads to a warning.
31989         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31990         yes, don't pretend that visibility works if it leads to a warning.
31991         Reported by Mike Gran <spk121@yahoo.com>.
31992
31993 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31994
31995         * build-aux/bootstrap: Use "git -h" for testing for supported options
31996         instead of "git --help".  The short-form option only shows a summary,
31997         and doesn't layout the full man page.  Grep for the full option name
31998         in the summary, too.
31999
32000 2010-04-19  Bruno Haible  <bruno@clisp.org>
32001
32002         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
32003         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
32004         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
32005         mention of RELOCATABLE_STRIP.
32006         Reported by Sylvain Beucler <beuc@beuc.net>.
32007
32008 2010-04-19  Bruno Haible  <bruno@clisp.org>
32009
32010         * lib/diffseq.h: Fix typo in comment.
32011         Reported by Eric Blake.
32012
32013 2010-04-19  Bruno Haible  <bruno@clisp.org>
32014
32015         ioctl: Move autoconf macro to a .m4 file.
32016         * m4/ioctl.m4: New file, extracted from modules/ioctl.
32017         * modules/ioctl (Files): Add it.
32018         (configure.ac): Simply invoke gl_FUNC_IOCTL.
32019         Reported by Ian Beckwith <ianb@erislabs.net>.
32020
32021 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
32022             Bruno Haible  <bruno@clisp.org>
32023
32024         diffseq: Accommodate use-case with abstract arrays.
32025         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
32026         is not defined.
32027         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
32028         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
32029
32030 2010-04-18  Bruno Haible  <bruno@clisp.org>
32031
32032         * doc/posix-headers/stdbool.texi: More precise wording.
32033
32034 2010-04-17  Jim Meyering  <meyering@redhat.com>
32035
32036         maint.mk: use gnu-style indentation in an embedded perl script
32037         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
32038         Rename variable: s/two/last_two_bytes/
32039
32040 2010-04-16  Eric Blake  <eblake@redhat.com>
32041
32042         test-stdbool: skip test that fails with Solaris CC
32043         * tests/test-stdbool.c (f): Skip test that causes compilation
32044         error under buggy C++ compiler.
32045         * lib/stdbool.in.h: Document the limitation.
32046         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
32047
32048         setenv: allow compilation with C++
32049         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
32050         register keyword.
32051
32052         stdint: allow test to pass with C++
32053         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
32054
32055         getopt: allow compilation with C++
32056         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
32057         struct.
32058         * lib/getopt.c (_getopt_internal_r): Use correct type.
32059         Reported by Dagobert Michelson, via Joel E. Denny.
32060
32061 2010-04-16  Bruno Haible  <bruno@clisp.org>
32062
32063         Override netdb.h always.
32064         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
32065         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
32066         Reported by Ludovic Courtès <ludo@gnu.org>.
32067
32068 2010-04-15  Bruno Haible  <bruno@clisp.org>
32069
32070         openpty: Fix mistake from 2010-03-21.
32071         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
32072         Reported by Simon Josefsson.
32073
32074 2010-04-15  Eric Blake  <eblake@redhat.com>
32075
32076         test-forkpty: fix expected signature
32077         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
32078         Reported by Simon Josefsson.
32079
32080 2010-04-15  Jim Meyering  <meyering@redhat.com>
32081
32082         maint.mk: texinfo_suffix_re_: correct the default regexp
32083         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
32084
32085         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
32086         make it configurable via texinfo_suffix_re_.
32087
32088 2010-04-14  Eric Blake  <eblake@redhat.com>
32089
32090         strtok_r: relax license to LGPLv2+
32091         * modules/strtok_r (License): Relax license.
32092         Reported by Matthias Bolte.
32093
32094 2010-04-14  Simon Josefsson  <simon@josefsson.org>
32095
32096         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
32097         version 1.4.4 by default instead of requiring the libgcrypt
32098         version used during build.  This makes it possible to use the
32099         application with older but still binary compatible libgcrypt
32100         versions.
32101
32102 2010-04-13  Eric Blake  <eblake@redhat.com>
32103
32104         getopt-gnu: match recent glibc fixes and posix ruling
32105         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
32106         '+' handling, when requesting extensions.
32107         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
32108         'W;' handling.
32109         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
32110         * doc/posix-functions/getopt.texi (getopt): Document this.
32111         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32112         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32113         Likewise.
32114
32115         getopt: merge bug fixes from glibc
32116         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
32117         diagnostics.  Honor '+:' correctly.  Reject ';'.
32118
32119         getopt-posix: detect MacOS bug
32120         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
32121         optind when missing a required argument.
32122         * doc/posix-functions/getopt.texi (getopt): Document the bug.
32123         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32124         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32125         Likewise.
32126
32127         getopt-posix: avoid spurious failure on Solaris
32128         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
32129         an indicator that setting optind=1 is sufficient for reset.
32130
32131         getopt-posix: avoid spurious failure on FreeBSD
32132         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
32133         in POSIX mode, since the m4 test uses it.
32134
32135         gnulib-tool: silence warning on BSD sh
32136         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
32137
32138 2010-04-13  Jim Meyering  <meyering@redhat.com>
32139
32140         doc: users.txt: GNU patch now uses gnulib
32141         * users.txt: Add patch.
32142
32143 2010-04-12  Jim Meyering  <meyering@redhat.com>
32144
32145         maint.mk: generate more concise timing data for syntax-check rules
32146         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
32147         " done" from each line that reports a syntax-check test duration.
32148
32149 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
32150
32151         git-version-gen: use "git update-index..." rather than "git status"
32152         * build-aux/git-version-gen: Use git update-index --refresh, not
32153         "git status".  With some versions of git, "git status" would fail
32154         to update the index and result in an unwarranted "-dirty" suffix.
32155
32156 2010-04-11  Jim Meyering  <meyering@redhat.com>
32157
32158         openat: correct formatting (no semantic change)
32159         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
32160         Suggested by Bruno Haible.
32161
32162 2010-04-11  Bruno Haible  <bruno@clisp.org>
32163
32164         Stricter declaration checking in testdirs.
32165         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32166         If for_tests is true, augment AM_CPPFLAGS to define
32167         GNULIB_STRICT_CHECKING.
32168         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
32169         GNULIB_STRICT_CHECKING is defined, verify that the function is
32170         declared.
32171
32172 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
32173             Bruno Haible  <bruno@clisp.org>
32174
32175         libunistring: Improve configure output.
32176         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
32177         Don't say "consider installing GNU libunistring" when checking again
32178         with libiconv.
32179
32180 2010-04-11  Bruno Haible  <bruno@clisp.org>
32181
32182         libunistring: Correct value of $LTLIBUNISTRING.
32183         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
32184         correct the value of $LTLIBUNISTRING.
32185
32186 2010-04-11  Bruno Haible  <bruno@clisp.org>
32187
32188         havelib: Add static libraries to LIBS in the right order.
32189         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
32190         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
32191
32192 2010-04-11  Bruno Haible  <bruno@clisp.org>
32193
32194         libunistring: Detect libunistring also when it depends on libiconv.
32195         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
32196         the second AC_LIB_HAVE_LINKFLAGS invocation.
32197
32198 2010-04-11  James Youngman  <jay@gnu.org>
32199
32200         close-stream: declare local scalars to be "const"
32201         * lib/close-stream.c (close_stream): Make boolean variables const
32202         to document the fact that we set but do not change them.
32203
32204 2010-04-11  Bruno Haible  <bruno@clisp.org>
32205
32206         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
32207
32208 2010-04-11  Jim Meyering  <meyering@redhat.com>
32209
32210         maint.mk: don't include dist-check.mk
32211         * top/maint.mk: Remove bogus include directive.
32212
32213         maint.mk: improve empty-line-at-EOF check
32214         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
32215         solution, rather than tail+Perl-based one.  The latter would read
32216         a few kilobytes from the end of each file, and did not handle empty
32217         files properly.
32218
32219         maint.mk: print the elapsed time for each syntax-check rule
32220         * top/maint.mk (sc_m_rules_): Save start time in a file.
32221         (sc_z_rules_): New rules: remove temp file and print elapsed time.
32222         (local-check): Interpose the .z rules
32223
32224 2010-04-11  Jim Meyering  <meyering@redhat.com>
32225
32226         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
32227         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
32228         empty file with one that ends in an empty line.
32229
32230 2010-04-10  Bruno Haible  <bruno@clisp.org>
32231
32232         mkdir: Make it work on mingw64.
32233         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
32234         * lib/mkdir.c: Update comment.
32235         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
32236
32237 2010-04-10  Bruno Haible  <bruno@clisp.org>
32238
32239         Don't override improved macro from newer autoconf.
32240         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
32241         autoconf >= 2.62.
32242         Reported by Joel E. Denny <jdenny@clemson.edu>.
32243
32244 2010-04-10  Jim Meyering  <meyering@redhat.com>
32245
32246         maint.mk: new syntax-check rule: prohibit empty lines at end of file
32247         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
32248
32249         maint.mk: correct a diagnostic
32250         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
32251         in diagnostic; now use $prohibit.
32252
32253 2010-04-10  Bruno Haible  <address@hidden>
32254
32255         fchownat: Fix a C++ test error on Solaris 8.
32256         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
32257         the function does not exist.
32258
32259 2010-04-10  Bruno Haible  <bruno@clisp.org>
32260
32261         vasnprintf: Add more tests.
32262         * tests/test-vasnprintf-posix.c: Include <errno.h>.
32263         (test_function): Test converting an invalid wide string.
32264
32265         vasnprintf: Correct handling of unconvertible wide string arguments.
32266         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
32267         VASNPRINTF.
32268         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
32269         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
32270         smaller than the expected maximum need for the directive. Set errno to
32271         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
32272         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
32273         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
32274         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
32275         * modules/vasnprintf (Files): Add m4/printf.m4.
32276         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32277
32278 2010-04-10  Bruno Haible  <bruno@clisp.org>
32279
32280         vasnprintf: Fix crash in %ls directive.
32281         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
32282         string is passed as argument to %ls, with no precision and no width.
32283         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32284
32285 2010-04-10  Bruno Haible  <bruno@clisp.org>
32286
32287         vasnprintf: Fix multiple test failures on mingw.
32288         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
32289         _snprintf, or snwprintf, not _snwprintf.
32290
32291 2010-04-10  Bruno Haible  <bruno@clisp.org>
32292
32293         write: Fix a C++ test error on mingw.
32294         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
32295
32296 2010-04-10  Bruno Haible  <bruno@clisp.org>
32297
32298         vasnprintf test: Reduce code duplication.
32299         * tests/test-vasnprintf.c (test_function): New function, extracted from
32300         test_vasnprintf.
32301         (test_vasnprintf, test_asnprintf): Invoke it.
32302
32303 2010-04-10  Bruno Haible  <bruno@clisp.org>
32304
32305         strnlen: Fix warning in C++ mode on MacOS X.
32306         * lib/string.in.h (strnlen): Use the modern idiom.
32307         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
32308         defining strnlen as a macro already in <config.h>.
32309         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32310         REPLACE_STRNLEN.
32311         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
32312         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32313
32314 2010-04-08  James Youngman  <jay@gnu.org>
32315
32316         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
32317         the example.
32318
32319 2010-04-09  Jim Meyering  <meyering@redhat.com>
32320
32321         maint.mk: print better diagnostic when there is no $(_hv_file)
32322         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
32323         announce that when $(_hv_file) (aka help-version) does not exist.
32324
32325         init.sh: run tr in the "C" locale to avoid multibyte interpretation
32326         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
32327         not try to interpret its random input bytes.  Jarno Rajahalme reported
32328         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
32329         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
32330         (mktempd_): Likewise, just in case.
32331
32332         ftruncate: add two years to projected module removal date: 2012
32333         * m4/ftruncate.m4: Adjust comments.
32334
32335         ftruncate: mark module as obsolete; even MinGW provides it, now
32336         * modules/ftruncate (Status): Obsolete.
32337         (Notice): Say that.
32338         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
32339         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
32340
32341 2010-04-08  Bruno Haible  <bruno@clisp.org>
32342
32343         Fix side effects from tests-related modules.
32344         * modules/dprintf-posix (Comment): New section.
32345         * modules/fprintf-posix (Comment): Likewise.
32346         * modules/obstack-printf-posix (Comment): Likewise.
32347         * modules/printf-posix (Comment): Likewise.
32348         * modules/snprintf-posix (Comment): Likewise.
32349         * modules/sprintf-posix (Comment): Likewise.
32350         * modules/vasnprintf-posix (Comment): Likewise.
32351         * modules/vasprintf-posix (Comment): Likewise.
32352         * modules/vdprintf-posix (Comment): Likewise.
32353         * modules/vfprintf-posix (Comment): Likewise.
32354         * modules/vprintf-posix (Comment): Likewise.
32355         * modules/vsnprintf-posix (Comment): Likewise.
32356         * modules/vsprintf-posix (Comment): Likewise.
32357         * modules/xprintf-posix (Comment): Likewise.
32358         * modules/xvasprintf-posix (Comment): Likewise.
32359         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
32360         * modules/floorf-tests (Depends-on): Likewise.
32361         * modules/round-tests (Depends-on): Likewise.
32362         * modules/roundf-tests (Depends-on): Likewise.
32363         * modules/trunc-tests (Depends-on): Likewise.
32364         * modules/truncf-tests (Depends-on): Likewise.
32365         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
32366         'fprintf-posix' module is not present.
32367         * tests/test-floorf2.c (check): Likewise.
32368         * tests/test-trunc2.c (check): Likewise.
32369         * tests/test-truncf2.c (check): Likewise.
32370         * tests/test-round2.c (equal): Likewise.
32371         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32372
32373 2010-04-07  Karl Berry  <karl@gnu.org>
32374
32375         * config/srclist.txt,
32376         * config/srclistvars.sh,
32377         * config/srclist-update: doc fixes.
32378
32379 2010-04-07  Jim Meyering  <meyering@redhat.com>
32380
32381         maint.mk: add a PATH crosschecking syntax-check rule
32382         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
32383         Useful if you use a test like the one in help-version (coreutils,
32384         diffutils, grep, gzip) that ensures $(VERSION) matches what is
32385         printed by prog --version.
32386
32387 2010-04-06  Bruno Haible  <bruno@clisp.org>
32388
32389         Fix link error on mingw.
32390         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
32391         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
32392
32393 2010-04-06  Bruno Haible  <bruno@clisp.org>
32394
32395         Assume rmdir exists.
32396         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
32397
32398 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
32399
32400         doc: update users.txt
32401         * users.txt: Add gcal.
32402
32403 2010-04-06  Jim Meyering  <meyering@redhat.com>
32404
32405         init.sh: simply unset TMPDIR rather than risking env -i
32406         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
32407         although it probably works fine on all Unix-based systems, some
32408         systems (Cygwin?) cannot tolerate a totally cleared environment.
32409         Suggestion from Eric Blake.
32410
32411 2010-04-06  Jim Meyering  <meyering@redhat.com>
32412
32413         init.sh: portability fix: use env's POSIX-specified -i option not -u
32414         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
32415         than unportable env -u.  Solaris 5.11's env lacks support for -u.
32416
32417 2010-04-05  Bruno Haible  <bruno@clisp.org>
32418
32419         btowc: Work around Cygwin 1.7.2 bug.
32420         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
32421         does not map NUL to 0.
32422         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
32423
32424 2010-04-05  Bruno Haible  <bruno@clisp.org>
32425
32426         Make the multithread modules work on Cygwin 1.7.2.
32427         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
32428         imported symbols can be declared weak, so that it returns "no" on
32429         Cygwin 1.7.2.
32430
32431 2010-04-05  Bruno Haible  <bruno@clisp.org>
32432
32433         Use the module 'strncat'.
32434         * modules/unistr/u8-strncat (Depends-on): Add strncat.
32435
32436         Tests for module 'strncat'.
32437         * modules/strncat-tests: New file.
32438         * tests/test-strncat.c: New file.
32439
32440         New module 'strncat'.
32441         * lib/string.in.h (strncat): New declaration.
32442         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
32443         * m4/strncat.m4: New file, based on m4/memchr.m4.
32444         * modules/strncat: New file.
32445         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
32446         is declared.
32447         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
32448         REPLACE_STRNCAT.
32449         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
32450         REPLACE_STRNCAT.
32451         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
32452         module.
32453         * tests/test-string-c++.cc: Check signature of strncat.
32454
32455 2010-04-05  Jim Meyering  <meyering@redhat.com>
32456
32457         xstrtoumax-tests: convert to use init.sh
32458         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
32459         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32460         Use Exit, not exit.
32461         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32462
32463         xstrtoimax-tests: convert to use init.sh
32464         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
32465         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32466         Use Exit, not exit.
32467         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32468
32469 2010-04-05  Bruno Haible  <bruno@clisp.org>
32470
32471         sys_socket: Avoid #define replacements in C++ mode.
32472         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
32473         warning to the function if possible, rather than #defining the symbol
32474         to a dysfunctional alias.
32475
32476 2010-04-05  Bruno Haible  <bruno@clisp.org>
32477
32478         fseeko: Fix C++ test error on mingw.
32479         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
32480         gl_FUNC_FSEEKO.
32481         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
32482         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
32483         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
32484         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
32485
32486 2010-04-05  Bruno Haible  <bruno@clisp.org>
32487
32488         duplocale: Improve test output.
32489         * tests/test-duplocale.c (main): Print reason for skipped test.
32490
32491 2010-04-05  Bruno Haible  <bruno@clisp.org>
32492
32493         Assume rmdir exists.
32494         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
32495         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
32496
32497 2010-04-05  Bruno Haible  <bruno@clisp.org>
32498
32499         Fix link error on Solaris 8 with cc.
32500         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
32501
32502 2010-04-05  Bruno Haible  <bruno@clisp.org>
32503
32504         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32505         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
32506
32507 2010-04-05  Bruno Haible  <bruno@clisp.org>
32508
32509         vasprintf: Update documentation.
32510         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
32511
32512 2010-04-05  Bruno Haible  <bruno@clisp.org>
32513
32514         ptsname: Improve test.
32515         * tests/test-ptsname.c (main): Also try the various master names of BSD
32516         systems.
32517
32518 2010-04-05  Bruno Haible  <bruno@clisp.org>
32519
32520         memchr: Avoid a possible C++ test error.
32521         * lib/string.in.h (memchr): Provide declaration if function is missing.
32522         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
32523         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
32524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
32525         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
32526
32527 2010-04-05  Bruno Haible  <bruno@clisp.org>
32528
32529         strtok_r: Improve idiom.
32530         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
32531         AC_LIBOBJ is used.
32532
32533 2010-04-05  Bruno Haible  <bruno@clisp.org>
32534
32535         strdup: Improve idiom.
32536         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
32537         AC_LIBOBJ is used.
32538         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
32539         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
32540         when AC_LIBOBJ is used.
32541
32542 2010-04-05  Bruno Haible  <bruno@clisp.org>
32543
32544         mbsinit, mbrtowc, wcrtomb: Improve idioms.
32545         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
32546         don't set REPLACE_MBSINIT to 1.
32547         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
32548         don't set REPLACE_MBRTOWC to 1.
32549         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
32550         exist, don't set REPLACE_MBSRTOWCS to 1.
32551         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
32552         exist, don't set REPLACE_MBSNRTOWCS to 1.
32553         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
32554         don't set REPLACE_WCRTOMB to 1.
32555         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
32556         exist, don't set REPLACE_WCSRTOMBS to 1.
32557         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
32558         exist, don't set REPLACE_WCSNRTOMBS to 1.
32559
32560 2010-04-05  Bruno Haible  <bruno@clisp.org>
32561
32562         ldexpl: Improve idiom.
32563         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
32564         make sure to set HAVE_DECL_LDEXPL to 0.
32565
32566 2010-04-05  Jim Meyering  <meyering@redhat.com>
32567
32568         xstrtol-tests: convert to use init.sh
32569         * modules/xstrtol-tests (Files): Add tests/init.sh.
32570         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32571         Use Exit, not exit.
32572         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32573
32574         atexit-tests: convert to use init.sh
32575         * modules/atexit-tests (Files): Add tests/init.sh.
32576         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32577         Use Exit, not exit.
32578         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32579
32580         init.sh: fix typo
32581         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
32582
32583         init.sh: make it easier for a test script to write to the tty, ...
32584         when using automake's parallel-tests mode.
32585         * tests/init.sh (stderr_fileno_): Define overridable variable.
32586         (warn_): New function, to use it.
32587         (fail_, skip_, framework_failure_): Use warn_.
32588
32589 2010-04-04  Bruno Haible  <bruno@clisp.org>
32590
32591         btowc: Avoid warning.
32592         * lib/btowc.c: Include <stdlib.h>.
32593         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
32594
32595 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32596             Bruno Haible  <bruno@clisp.org>
32597
32598         wchar: Port to NetBSD 1.5.
32599         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
32600         * lib/wctype.in.h (WEOF): Likewise.
32601
32602 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32603             Bruno Haible  <bruno@clisp.org>
32604
32605         Port extended stdio to NetBSD 1.5.
32606         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
32607         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
32608         older.
32609
32610 2010-04-04  Bruno Haible  <bruno@clisp.org>
32611
32612         string: Remove unused substitution.
32613         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
32614         HAVE_DECL_STRERROR.
32615         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
32616
32617 2010-04-04  Bruno Haible  <bruno@clisp.org>
32618
32619         strtod: Avoid a possible C++ test error.
32620         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
32621         set REPLACE_STRTOD.
32622
32623 2010-04-04  Bruno Haible  <bruno@clisp.org>
32624
32625         strerror: Update documentation.
32626         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
32627
32628 2010-04-04  Bruno Haible  <bruno@clisp.org>
32629
32630         stdio: Fix some C++ test errors on Solaris 8 with GCC.
32631         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
32632         _GL_CXXALIAS_SYS_CAST.
32633
32634 2010-04-04  Bruno Haible  <bruno@clisp.org>
32635
32636         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32637         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
32638         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
32639         REPLACE_FREXPL to 1.
32640         * doc/posix-functions/frexpl.texi: Update documentation.
32641
32642 2010-04-04  Bruno Haible  <bruno@clisp.org>
32643
32644         math: Fix some C++ test errors on Solaris 8 and Cygwin.
32645         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
32646
32647 2010-04-04  Bruno Haible  <bruno@clisp.org>
32648
32649         Implement nanosleep for native Windows.
32650         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
32651
32652 2010-04-04  Bruno Haible  <bruno@clisp.org>
32653
32654         math: Fix some C++ test errors on Solaris 8.
32655         * lib/math.in.h (truncf, trunc): Use simpler idiom.
32656
32657 2010-04-04  Bruno Haible  <bruno@clisp.org>
32658
32659         math: Fix some C++ test errors on Cygwin.
32660         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
32661         truncl): Provide declaration if the system does not have it.
32662         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
32663         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
32664         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
32665         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
32666         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
32667         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
32668         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
32669         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
32670         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
32671         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
32672         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
32673         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
32674         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
32675         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
32676         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
32677         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
32678         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
32679         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32680         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32681         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
32682         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32683         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32684
32685 2010-04-04  Bruno Haible  <bruno@clisp.org>
32686
32687         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
32688         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32689         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32690         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32691         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32692         * m4/isinf.m4 (gl_ISINF): Likewise.
32693         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32694
32695 2010-04-04  Bruno Haible  <bruno@clisp.org>
32696
32697         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
32698         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32699
32700 2010-04-04  Bruno Haible  <bruno@clisp.org>
32701
32702         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
32703         * modules/tmpfile (configure.ac): Update.
32704
32705         tmpfile: Fix C++ test error on mingw.
32706         * lib/stdio.in.h (tmpfile): New declaration.
32707         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
32708         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
32709         * modules/tmpfile (Depends-on): Add stdio.
32710         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32711         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
32712         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
32713         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
32714         REPLACE_TMPFILE.
32715         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
32716
32717 2010-04-04  Bruno Haible  <bruno@clisp.org>
32718
32719         ioctl: Fix C++ test error on mingw.
32720         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
32721         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
32722         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
32723
32724 2010-04-03  Bruno Haible  <bruno@clisp.org>
32725
32726         wcwidth: Fix C++ test error on mingw.
32727         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
32728         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
32729         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
32730
32731 2010-04-03  Bruno Haible  <bruno@clisp.org>
32732
32733         nanosleep: Fix C++ test error on mingw.
32734         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
32735         * lib/time.in.h (nanosleep): Use modern idiom.
32736         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
32737         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
32738         REPLACE_NANOSLEEP to 1.
32739         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
32740         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
32741
32742 2010-04-03  Bruno Haible  <bruno@clisp.org>
32743
32744         strptime: Fix C++ test error on mingw.
32745         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
32746         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
32747         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
32748         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
32749         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
32750         not REPLACE_STRPTIME.
32751         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
32752         REPLACE_STRPTIME.
32753
32754 2010-04-03  Bruno Haible  <bruno@clisp.org>
32755
32756         timegm: Fix C++ test error on mingw.
32757         * lib/time.in.h (timegm): Use modern idiom.
32758         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
32759         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
32760         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
32761         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
32762
32763 2010-04-03  Bruno Haible  <bruno@clisp.org>
32764
32765         timegm: Assume declaration if function exists.
32766         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
32767         if it exists. Don't clobber ac_cv_func_timegm.
32768
32769 2010-04-03  Bruno Haible  <bruno@clisp.org>
32770
32771         time_r: Fix C++ test error on mingw.
32772         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
32773         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
32774         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
32775         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
32776         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
32777
32778 2010-04-03  Bruno Haible  <bruno@clisp.org>
32779
32780         time_r: Minor updates.
32781         * modules/time_r (Description): Mention the provided functions.
32782         * lib/time_r.c: Don't include <string.h>.
32783         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
32784         * doc/posix-functions/localtime_r.texi: Likewise.
32785
32786 2010-04-03  Bruno Haible  <bruno@clisp.org>
32787
32788         time: Fix regression introduced on 2010-03-08.
32789         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
32790         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
32791
32792 2010-04-03  Jim Meyering  <meyering@redhat.com>
32793
32794         maint.mk: don't silently disable project-specific syntax-check rules
32795         * top/maint.mk (_prohibit_regexp): Define, to help people realize
32796         that they need to convert their project-specific syntax-check rules
32797         to use the new _sc_search_regexp.
32798
32799 2010-04-03  Bruno Haible  <bruno@clisp.org>
32800
32801         fchdir: Fix regression introduced on 2010-03-08.
32802         * lib/unistd.in.h (fchdir): Fix declaration.
32803         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
32804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
32805         REPLACE_FCHDIR.
32806         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
32807         REPLACE_FCHDIR.
32808
32809 2010-04-03  Bruno Haible  <bruno@clisp.org>
32810
32811         getpagesize: Fix C++ test error on mingw.
32812         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
32813         system does not declare the function.
32814         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
32815         declared.
32816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32817         HAVE_DECL_GETPAGESIZE.
32818         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
32819
32820 2010-04-03  Bruno Haible  <bruno@clisp.org>
32821
32822         stdio: Make C++ tests work on mingw.
32823         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
32824         does not declare the function.
32825
32826 2010-04-03  Bruno Haible  <bruno@clisp.org>
32827
32828         ftello: Fix C++ test error on mingw.
32829         * lib/stdio.in.h (ftello): Use modern idiom.
32830         * lib/ftello.c (ftello): Renamed from rpl_ftello.
32831         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
32832         is missing and that it needs to be replaced.
32833         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
32834         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
32835         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
32836
32837 2010-04-03  Bruno Haible  <bruno@clisp.org>
32838
32839         fseeko: Fix C++ test error on mingw.
32840         * lib/stdio.in.h (fseeko): Use modern idiom.
32841         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
32842         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
32843         is missing and that it needs to be replaced.
32844         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
32845         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
32846         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
32847
32848 2010-04-03  Bruno Haible  <bruno@clisp.org>
32849
32850         mkstemp: Fix C++ test error on mingw.
32851         * lib/stdlib.in.h (mkstemp): Use modern idiom.
32852         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
32853         function is missing and that it needs to be replaced.
32854         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
32855         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
32856
32857 2010-04-03  Bruno Haible  <bruno@clisp.org>
32858
32859         stpncpy: Fix C++ test error on mingw.
32860         * lib/string.in.h (stpncpy): Use modern idiom.
32861         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
32862         function is missing and that it needs to be replaced.
32863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32864         REPLACE_STPNCPY.
32865         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
32866
32867 2010-04-03  Bruno Haible  <bruno@clisp.org>
32868
32869         sys_stat: Fix C++ test error on mingw.
32870         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
32871         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
32872
32873 2010-04-03  Bruno Haible  <bruno@clisp.org>
32874
32875         pty: Update doc.
32876         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
32877
32878 2010-04-03  Bruno Haible  <bruno@clisp.org>
32879
32880         unistd: Fix C++ test error on mingw.
32881         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
32882
32883 2010-04-03  Bruno Haible  <bruno@clisp.org>
32884
32885         Update doc regarding mingw.
32886         * doc/glibc-functions/openpty.texi: Update regarding mingw.
32887         * doc/glibc-functions/login_tty.texi: Likewise.
32888         * doc/glibc-functions/forkpty.texi: Likewise.
32889
32890 2010-04-03  Bruno Haible  <bruno@clisp.org>
32891
32892         stdlib: Avoid compilation failure of c-strtold on mingw.
32893         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
32894
32895 2010-04-03  Bruno Haible  <bruno@clisp.org>
32896
32897         locale: Make C++ tests work on Cygwin and mingw.
32898         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
32899         cannot provide the function.
32900         Reported by Simon Josefsson.
32901
32902 2010-04-03  Bruno Haible  <bruno@clisp.org>
32903
32904         localename: Port to MacOS X 10.6.
32905         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
32906         memory layout of the locales in MacOS X 10.6 as well.
32907         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
32908
32909 2010-04-02  Bruno Haible  <bruno@clisp.org>
32910
32911         gnulib-tool: Ensure that long-running tests are executed last.
32912         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
32913         running tests after the one for the other tests.
32914
32915 2010-04-02  Bruno Haible  <bruno@clisp.org>
32916
32917         gnulib-tool: Ensure the tests in the main directory are executed first.
32918         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
32919         start with the current directory.
32920
32921 2010-04-02  Bruno Haible  <bruno@clisp.org>
32922
32923         Tests for module 'havelib', moved here from GNU gettext.
32924         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
32925         modifications.
32926         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
32927         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
32928         with modifications.
32929         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
32930         modifications.
32931         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
32932         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
32933         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
32934         with modifications.
32935         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
32936         with modifications.
32937         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
32938         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
32939         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
32940         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
32941         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
32942         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32943         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32944         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32945         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32946         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32947         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32948         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32949         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32950         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32951         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32952         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32953         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32954         with modifications.
32955         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32956         with modifications.
32957         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32958         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32959         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32960         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32961         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32962         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32963         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32964         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32965         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32966         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32967         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32968         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32969         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32970         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32971         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32972         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32973         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32974         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32975         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32976         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32977         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32978         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32979         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32980         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32981         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32982         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32983         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32984         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32985         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32986         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32987         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32988         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32989         * tests/havelib/rpathx/rpathx.c: New file, from
32990         gettext/autoconf-lib-link.
32991         * tests/havelib/rpathx/Makefile.am: New file, from
32992         gettext/autoconf-lib-link.
32993         * tests/havelib/rpathx/configure.ac: New file, from
32994         gettext/autoconf-lib-link with modifications.
32995         * tests/havelib/rpathy/rpathy.c: New file, from
32996         gettext/autoconf-lib-link.
32997         * tests/havelib/rpathy/Makefile.am: New file, from
32998         gettext/autoconf-lib-link.
32999         * tests/havelib/rpathy/configure.ac: New file, from
33000         gettext/autoconf-lib-link with modifications.
33001         * tests/havelib/rpathz/rpathz.c: New file, from
33002         gettext/autoconf-lib-link.
33003         * tests/havelib/rpathz/Makefile.am: New file, from
33004         gettext/autoconf-lib-link.
33005         * tests/havelib/rpathz/configure.ac: New file, from
33006         gettext/autoconf-lib-link with modifications.
33007         * tests/havelib/rpathlx/usex.c: New file, from
33008         gettext/autoconf-lib-link.
33009         * tests/havelib/rpathlx/Makefile.am: New file, from
33010         gettext/autoconf-lib-link.
33011         * tests/havelib/rpathlx/configure.ac: New file, from
33012         gettext/autoconf-lib-link with modifications.
33013         * tests/havelib/rpathly/usey.c: New file, from
33014         gettext/autoconf-lib-link.
33015         * tests/havelib/rpathly/Makefile.am: New file, from
33016         gettext/autoconf-lib-link.
33017         * tests/havelib/rpathly/configure.ac: New file, from
33018         gettext/autoconf-lib-link with modifications.
33019         * tests/havelib/rpathlz/usez.c: New file, from
33020         gettext/autoconf-lib-link.
33021         * tests/havelib/rpathlz/Makefile.am: New file, from
33022         gettext/autoconf-lib-link.
33023         * tests/havelib/rpathlz/configure.ac: New file, from
33024         gettext/autoconf-lib-link with modifications.
33025         * tests/havelib/rpathlyx/usey.c: New file, from
33026         gettext/autoconf-lib-link.
33027         * tests/havelib/rpathlyx/Makefile.am: New file, from
33028         gettext/autoconf-lib-link.
33029         * tests/havelib/rpathlyx/configure.ac: New file, from
33030         gettext/autoconf-lib-link with modifications.
33031         * tests/havelib/rpathlzyx/usez.c: New file, from
33032         gettext/autoconf-lib-link.
33033         * tests/havelib/rpathlzyx/Makefile.am: New file, from
33034         gettext/autoconf-lib-link.
33035         * tests/havelib/rpathlzyx/configure.ac: New file, from
33036         gettext/autoconf-lib-link with modifications.
33037         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
33038         with modifications.
33039
33040 2010-04-02  Bruno Haible  <bruno@clisp.org>
33041
33042         gnulib-tool: Create distributed built sources also for the tests.
33043         * gnulib-tool (func_create_testdir): Also generate distributed built
33044         sources in the tests directory.
33045
33046 2010-04-02  Bruno Haible  <bruno@clisp.org>
33047
33048         gnulib-tool: Obey user's environment variables.
33049         * gnulib-tool (func_create_testdir): When creating built sources,
33050         respect the environment variables for autoconf, automake, etc. given by
33051         the user.
33052
33053 2010-04-02  Bruno Haible  <bruno@clisp.org>
33054
33055         gnulib-tool: Provide the value of --m4-base to modules.
33056         * gnulib-tool (func_import, func_create_testdir): Emit a definition
33057         of gl_m4_base.
33058
33059 2010-04-02  Eric Blake  <eblake@redhat.com>
33060
33061         maint.mk: fix some fallout
33062         * NEWS: Document the incompatible change, and its effect on cfg.mk.
33063         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
33064
33065 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
33066
33067         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
33068         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
33069         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
33070         (sc_cast_of_x_alloc_return_value): Likewise.
33071         (sc_cast_of_alloca_return_value): Likewise.
33072         (sc_space_tab): Likewise.
33073         (sc_prohibit_atoi_atof): Likewise.
33074         (sc_prohibit_magic_number_exit): Likewise.
33075         (sc_error_exit_success): Likewise.
33076         (sc_file_system): Likewise.
33077         (sc_prohibit_have_config_h): Likewise.
33078         (sc_require_config_h): Likewise.
33079         (sc_prohibit_HAVE_MBRTOWC): Likewise.
33080         (sc_obsolete_symbols): Likewise.
33081         (sc_changelog): Likewise.
33082         (sc_program_name): Likewise.
33083         (sc_the_the): Likewise.
33084         (sc_trailing_blank): Likewise.
33085         (sc_two_space_separator_in_usage): Likewise.
33086         (sc_useless_cpp_parens): Likewise.
33087         (sc_GPL_version): Likewise.
33088         (sc_GFDL_version): Likewise.
33089         (sc_texinfo_acronym): Likewise.
33090         (sc_prohibit_cvs_keyword): Likewise.
33091         (sc_prohibit_stat_st_blocks): Likewise.
33092         (sc_prohibit_S_IS_definition): Likewise.
33093         (sc_redundant_const): Likewise.
33094         (sc_makefile_TAB_only_indentation): Likewise.
33095         (sc_m4_quote_check): Likewise.
33096         (sc_makefile_path_separator_check): Likewise.
33097         (sc_copyright_check): Likewise.
33098         (sc_Wundef_boolean): Likewise.
33099         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
33100
33101         maint.mk: match 0 or more whitespace-before-function-call '('
33102         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
33103         that have zero or two-and-more spaces between the function name
33104         and the open parenthesis.
33105         (sc_error_message_warn_fatal): Likewise.
33106         (sc_error_message_uppercase): Likewise.
33107         (sc_error_message_period): Likewise.
33108
33109 2010-03-31  Eric Blake  <eblake@redhat.com>
33110
33111         maint.mk: check for [ as well as test
33112         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
33113         Based on a libvirt report by Matthias Bolte.
33114
33115         gnumakefile: don't squelch _version output
33116         * top/GNUmakefile (_version): Create one-shot dependency rather
33117         than using $(shell) when version must be regenerated.
33118         (_autoreconf): Run verbosely, by default.
33119
33120         sys_time: avoid compiler warnings
33121         * lib/sys_time.in.h (includes): Ensure gcc pragma is
33122         unconditional, fixing regression from 2010-03-29.
33123         Reported by Simon Josefsson.
33124
33125 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
33126
33127         maint.mk: s/_header_without_use/_sc_header_without_use/
33128         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
33129         (sc_prohibit_assert_without_use): Use the new name.
33130         (sc_prohibit_close_stream_without_use): Likewise.
33131         (sc_prohibit_getopt_without_use): Likewise.
33132         (sc_prohibit_quotearg_without_use): Likewise.
33133         (sc_prohibit_quote_without_use): Likewise.
33134         (sc_prohibit_long_options_without_use): Likewise.
33135         (sc_prohibit_inttostr_without_use): Likewise.
33136         (sc_prohibit_ignore_value_without_use): Likewise.
33137         (sc_prohibit_error_without_use): Likewise.
33138         (sc_prohibit_xalloc_without_use): Likewise.
33139         (sc_prohibit_hash_without_use): Likewise.
33140         (sc_prohibit_hash_pjw_without_use): Likewise.
33141         (sc_prohibit_safe_read_without_use): Likewise.
33142         (sc_prohibit_argmatch_without_use): Likewise.
33143         (sc_prohibit_canonicalize_without_use): Likewise.
33144         (sc_prohibit_root_dev_ino_without_use): Likewise.
33145         (sc_prohibit_openat_without_use): Likewise.
33146         (sc_prohibit_c_ctype_without_use): Likewise.
33147         (sc_prohibit_signal_without_use): Likewise.
33148         (sc_prohibit_intprops_without_use): Likewise.
33149
33150 2010-03-30  Eric Blake  <eblake@redhat.com>
33151
33152         maint: improve module indicators
33153         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
33154         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
33155         columns, and avoid extra macro expansion.
33156
33157         fdopendir: work around FreeBSD bug
33158         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33159         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
33160         * modules/dirent (Makefile.am): Substitute it.
33161         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
33162         declaration.
33163         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
33164         fix.
33165         Reported by Christian Weisgerber <naddy@mips.inka.de>.
33166
33167 2010-03-29  Bruno Haible  <bruno@clisp.org>
33168
33169         Emit #pragma system_header after the inclusion guard, not before.
33170         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
33171         guard that spans the entire file, not before. This enables an
33172         optimization in GCC's preprocessor.
33173         * lib/ctype.in.h: Likewise.
33174         * lib/dirent.in.h: Likewise.
33175         * lib/errno.in.h: Likewise.
33176         * lib/float.in.h: Likewise.
33177         * lib/getopt.in.h: Likewise.
33178         * lib/iconv.in.h: Likewise.
33179         * lib/langinfo.in.h: Likewise.
33180         * lib/locale.in.h: Likewise.
33181         * lib/math.in.h: Likewise.
33182         * lib/netdb.in.h: Likewise.
33183         * lib/netinet_in.in.h: Likewise.
33184         * lib/pty.in.h: Likewise.
33185         * lib/sched.in.h: Likewise.
33186         * lib/se-selinux.in.h: Likewise.
33187         * lib/search.in.h: Likewise.
33188         * lib/spawn.in.h: Likewise.
33189         * lib/stdarg.in.h: Likewise.
33190         * lib/stdint.in.h: Likewise.
33191         * lib/string.in.h: Likewise.
33192         * lib/strings.in.h: Likewise.
33193         * lib/sys_file.in.h: Likewise.
33194         * lib/sys_ioctl.in.h: Likewise.
33195         * lib/sys_time.in.h: Likewise.
33196         * lib/sys_times.in.h: Likewise.
33197         * lib/sys_utsname.in.h: Likewise.
33198         * lib/sys_wait.in.h: Likewise.
33199         * lib/sysexits.in.h: Likewise.
33200         * lib/wctype.in.h: Likewise.
33201
33202 2010-03-28  James Youngman  <jay@gnu.org>
33203
33204         save-cwd: don't leak a file descriptor when the caller execs.
33205         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
33206         saved file descriptor.
33207         * modules/save-cwd (Depends-on): Depend on cloexec.
33208
33209 2010-03-29  Bruno Haible  <bruno@clisp.org>
33210
33211         Remove vestiges of fts-lgpl module.
33212         * lib/fts_.h: Assume GNULIB_FTS is 1.
33213         * lib/fts.c: Likewise.
33214         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
33215
33216 2010-03-28  Bruno Haible  <bruno@clisp.org>
33217
33218         Fix definition of tests witness macro.
33219         * gnulib-tool (func_import): Fix definition of witness macro.
33220
33221 2010-03-28  Bruno Haible  <bruno@clisp.org>
33222
33223         Fix ioctl's protoype on glibc systems.
33224         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
33225         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
33226         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
33227         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
33228         signature. If not, arrange to replace the ioctl function.
33229         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
33230         REPLACE_IOCTL.
33231         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
33232         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
33233         Reported by Ludovic Courtès <ludo@gnu.org>.
33234
33235 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
33236
33237         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
33238         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
33239         made it so grep -r --include=GLOB* ... did not work.
33240
33241 2010-03-26  Jim Meyering  <meyering@redhat.com>
33242             Eric Blake  <eblake@redhat.com>
33243
33244         maint.mk: prohibit use of test's -o and -a operators
33245         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
33246
33247 2010-03-28  Bruno Haible  <bruno@clisp.org>
33248
33249         Remove unused GNULIB_XYZ macro definitions.
33250         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
33251         invocation.
33252
33253 2010-03-28  Bruno Haible  <bruno@clisp.org>
33254
33255         Mark privileged tests modules.
33256         * modules/idpriv-drop-tests (Status): New section.
33257         * modules/idpriv-droptemp-tests (Status): New section.
33258
33259 2010-03-28  Bruno Haible  <bruno@clisp.org>
33260
33261         Split C++ tests into separate tests modules.
33262         * modules/dirent-c++-tests: New file, extracted from
33263         modules/dirent-tests.
33264         * modules/dirent-tests: Depend on it.
33265         * modules/fcntl-h-c++-tests: New file, extracted from
33266         modules/fcntl-h-tests.
33267         * modules/fcntl-h-tests: Depend on it.
33268         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
33269         * modules/glob-tests: Depend on it.
33270         * modules/iconv-h-c++-tests: New file, extracted from
33271         modules/iconv-h-tests.
33272         * modules/iconv-h-tests: Depend on it.
33273         * modules/langinfo-c++-tests: New file, extracted from
33274         modules/langinfo-tests.
33275         * modules/langinfo-tests: Depend on it.
33276         * modules/locale-c++-tests: New file, extracted from
33277         modules/locale-tests.
33278         * modules/locale-tests: Depend on it.
33279         * modules/math-c++-tests: New file, extracted from modules/math-tests.
33280         * modules/math-tests: Depend on it.
33281         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
33282         * modules/pty-tests: Depend on it.
33283         * modules/search-c++-tests: New file, extracted from
33284         modules/search-tests.
33285         * modules/search-tests: Depend on it.
33286         * modules/signal-c++-tests: New file, extracted from
33287         modules/signal-tests.
33288         * modules/signal-tests: Depend on it.
33289         * modules/spawn-c++-tests: New file, extracted from
33290         modules/spawn-tests.
33291         * modules/spawn-tests: Depend on it.
33292         * modules/stdio-c++-tests: New file, extracted from
33293         modules/stdio-tests.
33294         * modules/stdio-tests: Depend on it.
33295         * modules/stdlib-c++-tests: New file, extracted from
33296         modules/stdlib-tests.
33297         * modules/stdlib-tests: Depend on it.
33298         * modules/string-c++-tests: New file, extracted from
33299         modules/string-tests.
33300         * modules/string-tests: Depend on it.
33301         * modules/sys_ioctl-c++-tests: New file, extracted from
33302         modules/sys_ioctl-tests.
33303         * modules/sys_ioctl-tests: Depend on it.
33304         * modules/sys_select-c++-tests: New file, extracted from
33305         modules/sys_select-tests.
33306         * modules/sys_select-tests: Depend on it.
33307         * modules/sys_socket-c++-tests: New file, extracted from
33308         modules/sys_socket-tests.
33309         * modules/sys_socket-tests: Depend on it.
33310         * modules/sys_stat-c++-tests: New file, extracted from
33311         modules/sys_stat-tests.
33312         * modules/sys_stat-tests: Depend on it.
33313         * modules/sys_time-c++-tests: New file, extracted from
33314         modules/sys_time-tests.
33315         * modules/sys_time-tests: Depend on it.
33316         * modules/time-c++-tests: New file, extracted from modules/time-tests.
33317         * modules/time-tests: Depend on it.
33318         * modules/unistd-c++-tests: New file, extracted from
33319         modules/unistd-tests.
33320         * modules/unistd-tests: Depend on it.
33321         * modules/wchar-c++-tests: New file, extracted from
33322         modules/wchar-tests.
33323         * modules/wchar-tests: Depend on it.
33324         * modules/wctype-c++-tests: New file, extracted from
33325         modules/wctype-tests.
33326         * modules/wctype-tests: Depend on it.
33327         Reported by Simon Josefsson.
33328
33329 2010-03-28  Bruno Haible  <bruno@clisp.org>
33330
33331         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
33332         * gnulib-tool (func_exists_module): New function, extracted from
33333         func_verify_module.
33334         (func_verify_module): Use it.
33335         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
33336         'foo' only if 'foo' exists.
33337         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
33338         module.
33339
33340 2010-03-28  Bruno Haible  <bruno@clisp.org>
33341
33342         gnulib-tool: Add support for special categories of tests.
33343         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
33344         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
33345         (func_usage): Document them.
33346         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
33347         inc_unportable_tests, inc_all_tests): New variables.
33348         (func_acceptable): Consider these variables.
33349         (func_modules_transitive_closure): Make it work when the 'Status' field
33350         consists of multiple words.
33351         (func_import): Store and restore the values of inc_cxx_tests,
33352         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
33353         inc_all_tests in gnulib-comp.m4.
33354         (func_create_testdir): Set inc_all_tests to true.
33355         * doc/gnulib.texi (Extra tests modules): New section.
33356         Suggested by Jim Meyering.
33357
33358 2010-03-28  Bruno Haible  <bruno@clisp.org>
33359
33360         ansi-c++-opt: Allow turning off the C++ build by default.
33361         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
33362         gl_CXX_CHOICE_DEFAULT_NO is defined.
33363         Requested by Eric Blake.
33364
33365 2010-03-28  Bruno Haible  <bruno@clisp.org>
33366
33367         unistd: Avoid #define replacements in C++ mode.
33368         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
33369         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
33370         setsockopt, shutdown, select): In C++, attach a warning to the function
33371         if possible, rather than #defining the symbol to a dysfunctional alias.
33372         Reported by John W. Eaton <jwe@gnu.org>.
33373
33374 2010-03-28  Bruno Haible  <bruno@clisp.org>
33375
33376         Fix link errors on mingw.
33377         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
33378         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
33379         $(LIBSOCKET).
33380         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
33381         $(LIBSOCKET).
33382
33383 2010-03-28  Bruno Haible  <bruno@clisp.org>
33384             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33385
33386         lib-ignore: Determine different options for different compilers.
33387         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
33388         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
33389         Add comments.
33390         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
33391         * NEWS: Mention the change.
33392
33393 2010-03-27  Bruno Haible  <bruno@clisp.org>
33394
33395         Remove unused GNULIB_XYZ macro definitions.
33396         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
33397         * modules/fseek (configure.ac): Likewise.
33398         * modules/ioctl (configure.ac): Likewise.
33399         * modules/open (configure.ac): Likewise.
33400         * modules/stdlib-safer (configure.ac): Likewise.
33401
33402 2010-03-27  Bruno Haible  <bruno@clisp.org>
33403
33404         Add a remark about certain modules.
33405         * modules/malloc (Comment): New section.
33406         * modules/realloc (Comment): Likewise.
33407         * modules/sigpipe (Comment): Likewise.
33408
33409 2010-03-27  Bruno Haible  <bruno@clisp.org>
33410
33411         Resolve conflict between the two kinds of module indicators.
33412         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
33413         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
33414         * modules/canonicalize (configure.ac): Invoke
33415         gl_MODULE_INDICATOR_FOR_TESTS.
33416         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
33417         GNULIB_XYZ.
33418         * tests/test-dirent-c++.cc: Likewise.
33419         * tests/test-dirent-safer.c: Likewise.
33420         * tests/test-dup2.c: Likewise.
33421         * tests/test-fchdir.c: Likewise.
33422         * tests/test-fcntl-h-c++.cc: Likewise.
33423         * tests/test-getopt.c: Likewise.
33424         * tests/test-getopt.h: Likewise.
33425         * tests/test-langinfo-c++.cc: Likewise.
33426         * tests/test-locale-c++.cc: Likewise.
33427         * tests/test-math-c++.cc: Likewise.
33428         * tests/test-pty-c++.cc: Likewise.
33429         * tests/test-search-c++.cc: Likewise.
33430         * tests/test-signal-c++.cc: Likewise.
33431         * tests/test-spawn-c++.cc: Likewise.
33432         * tests/test-stdio-c++.cc: Likewise.
33433         * tests/test-stdlib-c++.cc: Likewise.
33434         * tests/test-string-c++.cc: Likewise.
33435         * tests/test-sys_ioctl-c++.cc: Likewise.
33436         * tests/test-sys_select-c++.cc: Likewise.
33437         * tests/test-sys_socket-c++.cc: Likewise.
33438         * tests/test-sys_stat-c++.cc: Likewise.
33439         * tests/test-sys_time-c++.cc: Likewise.
33440         * tests/test-time-c++.cc: Likewise.
33441         * tests/test-unistd-c++.cc: Likewise.
33442         * tests/test-wchar-c++.cc: Likewise.
33443         * tests/uninorm/test-u8-nfc.c: Likewise.
33444         * tests/uninorm/test-u8-nfd.c: Likewise.
33445         * tests/uninorm/test-u8-nfkc.c: Likewise.
33446         * tests/uninorm/test-u8-nfkd.c: Likewise.
33447         * tests/uninorm/test-u16-nfc.c: Likewise.
33448         * tests/uninorm/test-u16-nfd.c: Likewise.
33449         * tests/uninorm/test-u16-nfkc.c: Likewise.
33450         * tests/uninorm/test-u16-nfkd.c: Likewise.
33451         * tests/uninorm/test-u32-nfc.c: Likewise.
33452         * tests/uninorm/test-u32-nfc-big.c: Likewise.
33453         * tests/uninorm/test-u32-nfd.c: Likewise.
33454         * tests/uninorm/test-u32-nfd-big.c: Likewise.
33455         * tests/uninorm/test-u32-nfkc.c: Likewise.
33456         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
33457         * tests/uninorm/test-u32-nfkd.c: Likewise.
33458         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
33459         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33460
33461 2010-03-27  Bruno Haible  <bruno@clisp.org>
33462
33463         Distinguish two kinds of module indicators.
33464         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
33465         gl_MODULE_INDICATOR.
33466         (gl_MODULE_INDICATOR): New macro.
33467         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33468         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
33469         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
33470         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
33471         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
33472         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
33473         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
33474         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
33475         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
33476         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
33477         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33478         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33479         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33480         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33481         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33482         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33483         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33484         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33485         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33486         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33487         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33488         * modules/cloexec (configure.ac): Likewise.
33489         * modules/getopt-gnu (configure.ac): Likewise.
33490         * modules/uninorm/u8-normalize (configure.ac): Likewise.
33491         * modules/uninorm/u16-normalize (configure.ac): Likewise.
33492         * modules/uninorm/u32-normalize (configure.ac): Likewise.
33493         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
33494
33495 2010-03-27  Bruno Haible  <bruno@clisp.org>
33496
33497         New module description field 'Comment'.
33498         * gnulib-tool: New option --extract-comment.
33499         (func_usage): Document it.
33500         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
33501         (func_get_comment): New function.
33502         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
33503
33504 2010-03-27  Bruno Haible  <bruno@clisp.org>
33505
33506         Addendum to 2010-02-07 commit.
33507         * gnulib-tool (func_usage): Document --extract-applicability option.
33508
33509 2010-03-27  Bruno Haible  <bruno@clisp.org>
33510
33511         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
33512         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
33513         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
33514         rather than link errors.
33515
33516 2010-03-27  Bruno Haible  <bruno@clisp.org>
33517
33518         Avoid side effects from tests-related modules on the compilation of lib.
33519         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
33520         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
33521         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
33522         parameter. Emit into AM_CPPFLAGS a definition of the designated C
33523         macro.
33524         (func_import): Define a witness macro. Assign it a value that depends
33525         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
33526         tests-related modules.
33527         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
33528         Reported by Jim Meyering.
33529
33530 2010-03-27  Bruno Haible  <bruno@clisp.org>
33531
33532         Factorize common .m4 code.
33533         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
33534         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
33535         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
33536         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
33537         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
33538         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
33539         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
33540         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
33541         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
33542         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
33543         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
33544         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
33545         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
33546         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
33547         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
33548         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
33549         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33550         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33551         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33552         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
33553         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
33554         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33555         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33556         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33557         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33558         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33559         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
33560         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
33561         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
33562         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33563         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33564         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33565
33566 2010-03-27  Bruno Haible  <bruno@clisp.org>
33567
33568         Fix a compilation error on Cygwin with g++ >= 4.3.
33569         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
33570         if it is undefined or if we alias it to chmod.
33571         (lstat): Don't warn about the use of this function if it is undefined
33572         or if we alias it to stat.
33573         Reported by Simon Josefsson.
33574
33575 2010-03-27  Bruno Haible  <bruno@clisp.org>
33576
33577         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
33578         * modules/getlogin (configure.ac): Update.
33579
33580         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
33581         * modules/getlogin_r (configure.ac): Update.
33582
33583         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
33584         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
33585         * modules/inet_ntop (configure.ac): Update.
33586
33587         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
33588         * modules/inet_pton (configure.ac): Update.
33589
33590         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
33591         * modules/mbslen (configure.ac): Update.
33592
33593         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
33594         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
33595         * modules/forkpty (configure.ac): Update.
33596         * modules/openpty (configure.ac): Update.
33597
33598 2010-03-26  Simon Josefsson  <simon@josefsson.org>
33599
33600         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
33601         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
33602
33603 2010-03-25  Eric Blake  <eblake@redhat.com>
33604
33605         maint: use pragma consistently across replacement headers
33606         * lib/ctype.in.h (system_header): Hoist for consistent placement.
33607         * lib/dirent.in.h (system_header): Likewise.
33608         * lib/errno.in.h (system_header): Likewise.
33609         * lib/float.in.h (system_header): Likewise.
33610         * lib/getopt.in.h (system_header): Likewise.
33611         * lib/iconv.in.h (system_header): Likewise.
33612         * lib/inttypes.in.h (system_header): Likewise.
33613         * lib/langinfo.in.h (system_header): Likewise.
33614         * lib/locale.in.h (system_header): Likewise.
33615         * lib/math.in.h (system_header): Likewise.
33616         * lib/netdb.in.h (system_header): Likewise.
33617         * lib/netinet_in.in.h (system_header): Likewise.
33618         * lib/pty.in.h (system_header): Likewise.
33619         * lib/sched.in.h (system_header): Likewise.
33620         * lib/se-selinux.in.h (system_header): Likewise.
33621         * lib/search.in.h (system_header): Likewise.
33622         * lib/spawn.in.h (system_header): Likewise.
33623         * lib/stdarg.in.h (system_header): Likewise.
33624         * lib/stdint.in.h (system_header): Likewise.
33625         * lib/string.in.h (system_header): Likewise.
33626         * lib/strings.in.h (system_header): Likewise.
33627         * lib/sys_file.in.h (system_header): Likewise.
33628         * lib/sys_ioctl.in.h (system_header): Likewise.
33629         * lib/sys_socket.in.h (system_header): Likewise.
33630         * lib/sys_times.in.h (system_header): Likewise.
33631         * lib/sys_utsname.in.h (system_header): Likewise.
33632         * lib/sys_wait.in.h (system_header): Likewise.
33633         * lib/sysexits.in.h (system_header): Likewise.
33634         * lib/unistd.in.h (system_header): Likewise.
33635         * lib/wctype.in.h (system_header): Likewise.
33636
33637         arpa/inet: fix mingw compilation warning
33638         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
33639         Reported by Matthew Bolte.
33640
33641 2010-03-25  Bruno Haible  <bruno@clisp.org>
33642
33643         Avoid collision between gnulib wrapper and libintl wrapper.
33644         * lib/printf.c (printf): Don't define if a printf wrapper is already
33645         defined in intl/printf.c.
33646         Reported by Michel Boaventura <michel@michelboaventura.com>.
33647
33648 2010-03-25  Bruno Haible  <bruno@clisp.org>
33649
33650         Use ANSI C.
33651         * lib/readutmp.h (getutent): Provide ANSI C prototype.
33652
33653 2010-03-25  Bruno Haible  <bruno@clisp.org>
33654
33655         Minor formatting changes.
33656         * lib/acosl.c: Insert space before function argument list.
33657         * lib/argz.c: Likewise.
33658         * lib/asinl.c: Likewise.
33659         * lib/expl.c: Likewise.
33660         * lib/gen-uni-tables.c: Likewise.
33661         * lib/gettext.h: Likewise.
33662         * lib/glthread/lock.h: Likewise.
33663         * lib/tanl.c: Likewise.
33664         * lib/uniname/uniname.c: Likewise.
33665         * tests/test-idpriv-drop.c: Likewise.
33666         * tests/test-idpriv-droptemp.c: Likewise.
33667         * tests/test-lock.c: Likewise.
33668         * tests/test-tls.c: Likewise.
33669         * lib/argp-help.c: Insert space before function-like macro argument
33670         list.
33671         * lib/memcmp.c: Likewise.
33672         * tests/test-base64.c: Likewise.
33673         * lib/localename.c: Insert space before sizeof's argument list.
33674         * lib/safe-alloc.h: Likewise.
33675         * lib/file-set.h: Insert space before macro argument list.
33676         * tests/test-argp.c: Likewise.
33677         * lib/argp-namefrob.h: Insert space before function parameter list.
33678         * lib/getaddrinfo.c: Likewise.
33679         * lib/netdb.in.h: Likewise.
33680         * lib/parse-duration.h: Likewise.
33681         * lib/parse-duration.c: Likewise.
33682         * lib/poll.c: Likewise.
33683         * lib/select.c: Likewise.
33684         * lib/trim.h: Likewise.
33685         * tests/test-usleep.c: Likewise.
33686         * lib/ldexpl.c: Insert space before function parameter list and before
33687         function argument list.
33688         * lib/logl.c: Likewise.
33689         * lib/sqrtl.c: Likewise.
33690         * lib/trim.c: Likewise.
33691         * lib/cosl.c: Use GNU style indentation. Insert space before function
33692         argument list.
33693         * lib/sinl.c: Likewise.
33694         * lib/tsearch.c: Insert space after 'for'.
33695         Reported by Jim Meyering.
33696
33697 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
33698
33699         * maint.mk (sc_Wundef_boolean): Check for the presence of the
33700         config header before grepping, as it's not present before
33701         autoreconf/configure are run.  Reported by Simon Josefsson.
33702
33703 2010-03-23  Bruno Haible  <bruno@clisp.org>
33704
33705         pt_chown: Make it work with automake < 1.11.
33706         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
33707         Reported by Simon Josefsson.
33708
33709 2010-03-23  Bruno Haible  <bruno@clisp.org>
33710
33711         pt_chown: Don't depend on GPLed modules.
33712         * lib/pt_chown.c: Don't include idpriv.h.
33713         (main): Don't drop privileges.
33714         * modules/pt_chown (Depends-on): Remove idpriv-drop.
33715         Reported by Simon Josefsson.
33716
33717 2010-03-24  Simon Josefsson  <simon@josefsson.org>
33718
33719         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
33720         suggestions from karl@freefriends.org (Karl Berry).
33721
33722 2010-03-22  Eric Blake  <eblake@redhat.com>
33723
33724         gethostname: further tweaks
33725         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
33726         are overriding gethostname.
33727         Suggested by Bruno Haible.
33728
33729 2010-03-21  Bruno Haible  <bruno@clisp.org>
33730
33731         Fix comments.
33732         * lib/forkpty.c (rpl_forkpty): Fix comment.
33733         * lib/openpty.c (rpl_openpty): Likewise.
33734         Reported by Eric Blake.
33735
33736 2010-03-22  Eric Blake  <eblake@redhat.com>
33737
33738         gethostname: fix build on mingw
33739         * lib/unistd.in.h (includes): Work around fact that mingw
33740         <winsock2.h> re-includes <unistd.h>, by avoiding any
33741         redeclarations if we are being included by <winsock2.h>.
33742         Reported by Matthias Bolte.
33743
33744 2010-03-21  Bruno Haible  <bruno@clisp.org>
33745
33746         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33747         * lib/forkpty.c (forkpty): New replacement function, from glibc with
33748         modifications.
33749         * lib/pty.in.h (forkpty): Update declaration. Add comments.
33750         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
33751         provide the replacement.
33752         * modules/forkpty (Depends-on): Add openpty, login_tty.
33753         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
33754         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
33755         * doc/glibc-functions/forkpty.texi: More supported platforms.
33756         * config/srclist.txt: Add forkpty.c (commented).
33757
33758 2010-03-21  Bruno Haible  <bruno@clisp.org>
33759
33760         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
33761         (Makefile.am): Verify that PTY_LIB is defined.
33762
33763         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
33764
33765 2010-03-21  Bruno Haible  <bruno@clisp.org>
33766
33767         Tests for module 'login_tty'.
33768         * modules/login_tty-tests: New file.
33769         * tests/test-login_tty.c: New file.
33770
33771         New module 'login_tty'.
33772         * lib/login_tty.c: New file.
33773         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
33774         * modules/login_tty: New file.
33775         * doc/glibc-functions/login_tty.texi: Mention the new module.
33776
33777 2010-03-21  Bruno Haible  <bruno@clisp.org>
33778
33779         login_tty: Documentation.
33780         * doc/glibc-functions/login_tty.texi: New file.
33781         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
33782
33783 2010-03-21  Bruno Haible  <bruno@clisp.org>
33784
33785         pty: Consistent macro naming.
33786         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
33787         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
33788         * modules/pty (configure.ac): Update.
33789
33790 2010-03-21  Bruno Haible  <bruno@clisp.org>
33791
33792         Tests for openpty: Make stricter.
33793         * tests/test-openpty.c (main): Add test of canonical processing and
33794         erase.
33795         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
33796
33797         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33798         * lib/openpty.c (openpty): New replacement function.
33799         * lib/pty.in.h: Include <termios.h>.
33800         (openpty): Update declaration. Add comments.
33801         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
33802         is not declared, arrange to provide the replacement. Check for _getpty
33803         and posix_openpt.
33804         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
33805         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
33806         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
33807         * modules/pty-tests (test_pty_c___LDADD): New variable.
33808         * doc/glibc-functions/openpty.texi: More supported platforms.
33809
33810 2010-03-21  Bruno Haible  <bruno@clisp.org>
33811
33812         setenv: Tweaks.
33813         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
33814         the test program.
33815         * doc/posix-functions/setenv.texi: Update platforms list.
33816
33817 2010-03-21  Bruno Haible  <bruno@clisp.org>
33818
33819         New module 'unlockpt'.
33820         * lib/unlockpt.c: New file, from glibc with modifications.
33821         * m4/unlockpt.m4: New file.
33822         * modules/unlockpt: New file.
33823         * lib/stdlib.in.h (unlockpt): New declaration.
33824         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
33825         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
33826         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
33827         HAVE_UNLOCKPT.
33828         * doc/posix-functions/unlockpt.texi: Mention the new module.
33829         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
33830         * config/srclist.txt: Add unlockpt.c (commented).
33831
33832 2010-03-21  Jim Meyering  <meyering@redhat.com>
33833
33834         maint.mk: prohibit inclusion of "intprops.h" without use
33835         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
33836
33837 2010-03-21  Bruno Haible  <bruno@clisp.org>
33838
33839         New module 'grantpt'.
33840         * lib/grantpt.c: New file, from glibc with modifications.
33841         * m4/grantpt.m4: New file.
33842         * modules/grantpt: New file.
33843         * lib/stdlib.in.h (grantpt): New declaration.
33844         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
33845         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
33846         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
33847         HAVE_GRANTPT.
33848         * doc/posix-functions/grantpt.texi: Mention the new module.
33849         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
33850         * config/srclist.txt: Add grantpt.c (commented).
33851
33852 2010-03-21  Bruno Haible  <bruno@clisp.org>
33853
33854         New module 'pt_chown'.
33855         * lib/pt_chown.c: New file, from glibc with modifications.
33856         * lib/pty-private.h: New file, from glibc with modifications.
33857         * modules/pt_chown: New file.
33858         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
33859
33860 2010-03-21  Bruno Haible  <bruno@clisp.org>
33861
33862         Tests for module 'ptsname'.
33863         * modules/ptsname-tests: New file.
33864         * tests/test-ptsname.c: New file.
33865
33866         New module 'ptsname'.
33867         * lib/ptsname.c: New file, from glibc with modifications.
33868         * m4/ptsname.m4: New file.
33869         * modules/ptsname: New file.
33870         * lib/stdlib.in.h (ptsname): New declaration.
33871         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
33872         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
33873         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
33874         HAVE_PTSNAME.
33875         * doc/posix-functions/ptsname.texi: Mention the new module.
33876         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
33877         * config/srclist.txt: Add ptsname.c (commented).
33878
33879 2010-03-21  Bruno Haible  <bruno@clisp.org>
33880
33881         Tests for module 'ttyname_r'.
33882         * modules/ttyname_r-tests: New file.
33883         * tests/test-ttyname_r.c: New file.
33884
33885         New module 'ttyname_r'.
33886         * lib/ttyname_r.c: New file.
33887         * m4/ttyname_r.m4: New file.
33888         * modules/ttyname_r: New file.
33889         * lib/unistd.in.h (ttyname_r): New declaration.
33890         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
33891         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
33892         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
33893         HAVE_TTYNAME_R.
33894         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
33895         * doc/posix-functions/ttyname_r.texi: Mention the new module.
33896
33897 2010-03-20  Bruno Haible  <bruno@clisp.org>
33898
33899         signal: Undefine macro definitions in C++ mode.
33900         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
33901         sigfillset): Undefine macro definitions from the system header in C++
33902         mode.
33903         Reported by John W. Eaton <jwe@gnu.org>.
33904
33905 2010-03-20  Bruno Haible  <bruno@clisp.org>
33906
33907         Ensure no #include statements inside extern "C" { ... }.
33908         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
33909         contain #include statements.
33910         * lib/time.in.h: Likewise.
33911
33912 2010-03-20  Bruno Haible  <bruno@clisp.org>
33913
33914         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
33915         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
33916         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
33917         Reported by John W. Eaton <jwe@gnu.org>.
33918
33919 2010-03-20  Bruno Haible  <bruno@clisp.org>
33920
33921         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
33922         Reported by Jim Meyering.
33923
33924 2010-03-20  Bruno Haible  <bruno@clisp.org>
33925
33926         pipe: Set errno upon failure.
33927         * lib/pipe.h: Specify that when -1 is returned, errno is set.
33928         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
33929         errno value in error message.
33930
33931 2010-03-20  Bruno Haible  <bruno@clisp.org>
33932             Jim Meyering  <meyering@redhat.com>
33933
33934         lchown: Avoid "unused variable" warning.
33935         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
33936
33937 2010-03-20  Bruno Haible  <bruno@clisp.org>
33938
33939         Work around unlink() bug on MacOS X 10.5.6.
33940         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
33941         attempting to unlink a parent directory.
33942         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33943         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33944         activate for the replacement function.
33945         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33946
33947 2010-03-20  Bruno Haible  <bruno@clisp.org>
33948
33949         Fix link errors on Solaris 8.
33950         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33951         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33952
33953 2010-03-19  Jim Meyering  <meyering@redhat.com>
33954
33955         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33956         The _LIBC implementation of build_range_exp correctly honors the
33957         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33958         However, the non-_LIBC implementation would ignore that syntax-bit
33959         flag and return REG_ERANGE unconditionally.
33960         This change makes it honor that flag.
33961         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33962         Make two pointer parameters "const".
33963         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33964         (parse_bracket_exp): Update caller.
33965
33966         regex.m4: correct the reversed range endpoint ([b-a]) test
33967         * m4/regex.m4: When requiring that [b-a] evoke failure,
33968         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33969         test pass once again for x86-based systems.
33970
33971 2010-03-19  Bruno Haible  <bruno@clisp.org>
33972
33973         scandir: Fix link error on Solaris 8.
33974         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33975         macros.
33976
33977 2010-03-19  Bruno Haible  <bruno@clisp.org>
33978
33979         getusershell: Fix documentation.
33980         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33981         module.
33982         * doc/glibc-functions/setusershell.texi: Likewise.
33983
33984         getusershell: Provide declaration, missing on Solaris 9.
33985         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33986         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33987         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33988         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33989         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33990         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33991         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33992         HAVE_GETUSERSHELL.
33993         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33994
33995 2010-03-19  Bruno Haible  <bruno@clisp.org>
33996
33997         wctype: Provide iswblank function.
33998         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33999         exists and is fine.
34000         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
34001         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
34002         * tests/test-wctype.c (main): Re-enable the iswblank tests.
34003         * doc/posix-functions/iswblank.texi: Update.
34004
34005 2010-03-19  Bruno Haible  <bruno@clisp.org>
34006
34007         Tests of module 'pty' in C++ mode.
34008         * modules/pty-tests: New file.
34009         * tests/test-pty-c++.cc: New file.
34010         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34011
34012 2010-03-19  Eric Blake  <eblake@redhat.com>
34013
34014         logb: fix documentation
34015         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
34016         1.5 declaration bug.
34017
34018         forkpty, openpty: prefer glibc's const-safe prototype
34019         * lib/forkpty.c (rpl_forkpty): New file.
34020         * lib/openpty.c (rpl_openpty): Likewise.
34021         * modules/forkpty (Files): Distribute it.
34022         * modules/openpty (Files): Likewise.
34023         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
34024         check...
34025         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
34026         replacement for for non-const BSD signature.
34027         * modules/pty (Makefile.am): Substitute witnesses.
34028         * lib/pty.in.h (forkpty, openpty): Declare replacements.
34029         * tests/test-forkpty.c: Update signature check.
34030         * tests/test-openpty.c: Likewise.
34031         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
34032         * doc/glibc-functions/openpty.texi (openpty): Likewise.
34033
34034         forkpty, openpty: split functions into new modules
34035         * modules/pty (Makefile.am): Substitute new witnesses.
34036         (Libraries): Move library detection...
34037         * modules/forkpty: ...into new module.
34038         * modules/openpty: Another new module.
34039         * modules/pty-tests: Rename and split...
34040         * modules/forkpty-tests: ...to this...
34041         * modules/openpty-tests: ...and this.
34042         * tests/test-pty.c: Rename and split...
34043         * tests/test-forkpty.c: ...to this...
34044         * tests/test-openpty.c: ...and this.
34045         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
34046         (gl_PTY): Split library searching...
34047         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
34048         (gl_FORKPTY, gl_OPENPTY): New macros.
34049         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
34050         * NEWS: Mention the split.
34051         * MODULES.html.sh (Misc): Document the modules.
34052         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
34053         * doc/glibc-functions/openpty.texi (openpty): Likewise.
34054
34055         pty: improve replacement header
34056         * lib/pty.in.h: New file.
34057         * modules/pty (Files): Ship it.
34058         (Makefile.am): Always build replacement.
34059         * m4/pty.m4: Rename...
34060         * m4/pty_h.m4: ...to this.
34061         (gl_PTY): Modernize setting of witness macros; update check of
34062         forkpty to take proper advantage of cache.
34063         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
34064
34065         getopt: avoid compiler warning
34066         * lib/getopt.c (attribute_hidden): Remove unused macro.
34067
34068 2010-03-18  Bruno Haible  <bruno@clisp.org>
34069
34070         Fix link errors on Solaris 8.
34071         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
34072         * modules/search-tests (test_search_c___LDADD): Likewise.
34073         * modules/signal-tests (test_signal_c___LDADD): Likewise.
34074         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
34075         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
34076         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
34077         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
34078         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
34079         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
34080
34081 2010-03-18  Bruno Haible  <bruno@clisp.org>
34082
34083         Fix bug introduced on 2010-03-14.
34084         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
34085         (gl_SPAWN_H): Require it.
34086         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
34087         Reported by Simon Josefsson.
34088
34089 2010-03-18  Bruno Haible  <bruno@clisp.org>
34090
34091         Fix typo introduced on 2009-12-31.
34092         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
34093         posix_spawn_file_actions_adddup2.
34094
34095 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
34096         and Eric Blake  <eblake@redhat.com>
34097
34098         test-vc-list-files-git: make more robust
34099         * tests/test-vc-list-files-git.sh: Unset problematic environment
34100         variables.  Chain commands together.
34101
34102 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
34103
34104         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
34105         `AC_CHECK_DECL' invocation.
34106
34107 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
34108
34109         * lib/inttostr.c (inttostr): Make sure the invocation of verify
34110         appears before executable statements. Suggested by Petr Sumbera
34111         <Petr.Sumbera@Sun.COM>.
34112
34113 2010-03-14  Bruno Haible  <bruno@clisp.org>
34114
34115         * tests/test-flock.c (test_exclusive): Comment out a test that causes
34116         portability problems. Instead use a simpler test.
34117         (main): Check that invalid arguments are rejected only on Linux.
34118
34119 2010-03-14  Bruno Haible  <bruno@clisp.org>
34120
34121         Fix bug introduced on 2009-12-31.
34122         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34123         gl_PREREQ_SYS_H_WINSOCK2 always.
34124         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
34125         SYS_SOCKET_H variable.
34126         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
34127         Update comments.
34128         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
34129         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34130         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34131         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34132         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
34133
34134 2010-03-14  Bruno Haible  <bruno@clisp.org>
34135
34136         Fix values returned by sinl, cosl.
34137         * lib/trigl.h: Add specification comments.
34138         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
34139         that combines the values from the precomputed table with the values of
34140         the Chebyshev polynomials.
34141
34142 2010-03-14  Bruno Haible  <bruno@clisp.org>
34143
34144         Fix compilation error when modules 'posix_spawn[p]' are not used.
34145         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
34146         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
34147
34148 2010-03-14  Bruno Haible  <bruno@clisp.org>
34149
34150         Fix compilation error on mingw when module 'time_r' is not used.
34151         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
34152         is 1.
34153         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
34154         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
34155         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
34156         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
34157
34158 2010-03-14  Bruno Haible  <bruno@clisp.org>
34159
34160         Fix compilation error with Sun C.
34161         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
34162         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
34163         instead of GCC specific ULONG_LONG_MAX.
34164         * lib/xstrtoll.c: Likewise.
34165         * lib/xstrtoull.c: Likewise.
34166
34167 2010-03-13  Bruno Haible  <bruno@clisp.org>
34168
34169         Allow the user to disable C++ code and tests.
34170         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
34171         (gl_PROG_ANSI_CXX): Require it.
34172
34173 2010-03-13  Bruno Haible  <bruno@clisp.org>
34174
34175         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
34176         cases.
34177
34178 2010-03-13  Bruno Haible  <bruno@clisp.org>
34179
34180         Test that gnulib does not break the standard C++ headers.
34181         * tests/test-locale-c++2.cc: New file.
34182         * modules/locale-tests (Files): Add it.
34183         (Makefile.am): Compile it for test-locale-c++.
34184         * tests/test-math-c++2.cc: New file.
34185         * modules/math-tests (Files): Add it.
34186         (Makefile.am): Compile it for test-math-c++.
34187         * tests/test-signal-c++2.cc: New file.
34188         * modules/signal-tests (Files): Add it.
34189         (Makefile.am): Compile it for test-signal-c++.
34190         * tests/test-stdio-c++2.cc: New file.
34191         * modules/stdio-tests (Files): Add it.
34192         (Makefile.am): Compile it for test-stdio-c++.
34193         * tests/test-stdlib-c++2.cc: New file.
34194         * modules/stdlib-tests (Files): Add it.
34195         (Makefile.am): Compile it for test-stdlib-c++.
34196         * tests/test-string-c++2.cc: New file.
34197         * modules/string-tests (Files): Add it.
34198         (Makefile.am): Compile it for test-string-c++.
34199         * tests/test-time-c++2.cc: New file.
34200         * modules/time-tests (Files): Add it.
34201         (Makefile.am): Compile it for test-time-c++.
34202         Reported by John W. Eaton <jwe@gnu.org>.
34203
34204 2010-03-13  Bruno Haible  <bruno@clisp.org>
34205
34206         * gnulib-tool (func_usage): Clarify which options are available for
34207         --create-testdir and --create-megatestdir.
34208
34209 2010-03-13  Bruno Haible  <bruno@clisp.org>
34210
34211         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
34212         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
34213         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
34214         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
34215         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
34216         when appropriate.
34217         Reported by Jim Meyering.
34218
34219 2010-03-12  Simon Josefsson  <simon@josefsson.org>
34220
34221         * gnulib-tool (func_import): Explain origin of code.
34222
34223 2010-03-12  Bruno Haible  <bruno@clisp.org>
34224
34225         Fix problem with automake's definition of CXXLINK.
34226         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
34227         Reported by Simon Josefsson and Ludovic Courtès.
34228
34229 2010-03-12  Bruno Haible  <bruno@clisp.org>
34230
34231         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
34232         stable releases.
34233
34234 2010-03-11  Bruno Haible  <bruno@clisp.org>
34235
34236         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
34237         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
34238         whether the system provides one variant or multiple variants of the
34239         function.
34240         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
34241         C++ compilers.
34242         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
34243         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
34244         Reported by Jim Meyering.
34245
34246 2010-03-09  Simon Josefsson  <simon@josefsson.org>
34247
34248         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
34249
34250 2010-03-08  Bruno Haible  <bruno@clisp.org>
34251
34252         gnulib-tool: Add support for --libtool in --create-testdir.
34253         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
34254         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
34255
34256 2010-03-08  Eric Blake  <eblake@redhat.com>
34257
34258         gnulib-tool.texi: mention possibility of git submodule
34259         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
34260         submodules.
34261         * doc/.gitignore: Ignore another generated file.
34262
34263 2010-03-08  Karl Berry  <karl@gnu.org>
34264
34265         * doc/gnulib-tool.texi (VCS Issues): Mention third option
34266         of committing gnulib files while skipping others.
34267
34268 2010-03-07  Bruno Haible  <bruno@clisp.org>
34269
34270         Tests of module 'wctype' in C++ mode.
34271         * tests/test-wctype-c++.cc: New file.
34272         * modules/wctype-tests (Files): Add it and tests/signature.h.
34273         (Depends-on): Add ansi-c++-opt.
34274         (Makefile.am): Arrange to compile and run test-wctype-c++.
34275
34276         Tests of module 'wchar' in C++ mode.
34277         * tests/test-wchar-c++.cc: New file.
34278         * modules/wchar-tests (Files): Add it and tests/signature.h.
34279         (Depends-on): Add ansi-c++-opt.
34280         (Makefile.am): Arrange to compile and run test-wchar-c++.
34281         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
34282         gl_MODULE_INDICATOR.
34283
34284         Tests of module 'unistd' in C++ mode.
34285         * tests/test-unistd-c++.cc: New file.
34286         * modules/unistd-tests (Files): Add it and tests/signature.h.
34287         (Depends-on): Add ansi-c++-opt.
34288         (Makefile.am): Arrange to compile and run test-unistd-c++.
34289         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
34290         gl_MODULE_INDICATOR.
34291
34292         Tests of module 'time' in C++ mode.
34293         * tests/test-time-c++.cc: New file.
34294         * modules/time-tests (Files): Add it and tests/signature.h.
34295         (Depends-on): Add ansi-c++-opt.
34296         (Makefile.am): Arrange to compile and run test-time-c++.
34297         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34298
34299         Tests of module 'sys_time' in C++ mode.
34300         * tests/test-sys_time-c++.cc: New file.
34301         * modules/sys_time-tests (Files): Add it and tests/signature.h.
34302         (Depends-on): Add ansi-c++-opt.
34303         (Makefile.am): Arrange to compile and run test-sys_time-c++.
34304         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
34305         gl_MODULE_INDICATOR.
34306
34307         Tests of module 'sys_stat' in C++ mode.
34308         * tests/test-sys_stat-c++.cc: New file.
34309         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
34310         (Depends-on): Add ansi-c++-opt.
34311         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
34312         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
34313         gl_MODULE_INDICATOR.
34314
34315         Tests of module 'sys_socket' in C++ mode.
34316         * tests/test-sys_socket-c++.cc: New file.
34317         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
34318         (Depends-on): Add ansi-c++-opt.
34319         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
34320         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
34321         gl_MODULE_INDICATOR.
34322
34323         Tests of module 'sys_select' in C++ mode.
34324         * tests/test-sys_select-c++.cc: New file.
34325         * modules/sys_select-tests (Files): Add it and tests/signature.h.
34326         (Depends-on): Add ansi-c++-opt.
34327         (Makefile.am): Arrange to compile and run test-sys_select-c++.
34328         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
34329         gl_MODULE_INDICATOR.
34330
34331         Tests of module 'sys_ioctl' in C++ mode.
34332         * tests/test-sys_ioctl-c++.cc: New file.
34333         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
34334         (Depends-on): Add ansi-c++-opt.
34335         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
34336         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
34337         gl_MODULE_INDICATOR.
34338
34339         Tests of module 'string' in C++ mode.
34340         * tests/test-string-c++.cc: New file.
34341         * modules/string-tests (Files): Add it and tests/signature.h.
34342         (Depends-on): Add ansi-c++-opt.
34343         (Makefile.am): Arrange to compile and run test-string-c++.
34344         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
34345         gl_MODULE_INDICATOR.
34346
34347         Tests of module 'stdlib' in C++ mode.
34348         * tests/test-stdlib-c++.cc: New file.
34349         * modules/stdlib-tests (Files): Add it and tests/signature.h.
34350         (Depends-on): Add ansi-c++-opt.
34351         (Makefile.am): Arrange to compile and run test-stdlib-c++.
34352         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
34353         gl_MODULE_INDICATOR.
34354
34355         Tests of module 'stdio' in C++ mode.
34356         * tests/test-stdio-c++.cc: New file.
34357         * modules/stdio-tests (Files): Add it and tests/signature.h.
34358         (Depends-on): Add ansi-c++-opt.
34359         (Makefile.am): Arrange to compile and run test-stdio-c++.
34360         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
34361         gl_MODULE_INDICATOR.
34362
34363         Tests of module 'spawn' in C++ mode.
34364         * tests/test-spawn-c++.cc: New file.
34365         * modules/spawn-tests (Files): Add it and tests/signature.h.
34366         (Depends-on): Add ansi-c++-opt.
34367         (Makefile.am): Arrange to compile and run test-spawn-c++.
34368         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
34369         gl_MODULE_INDICATOR.
34370
34371         Tests of module 'signal' in C++ mode.
34372         * tests/test-signal-c++.cc: New file.
34373         * modules/signal-tests (Files): Add it and tests/signature.h.
34374         (Depends-on): Add ansi-c++-opt.
34375         (Makefile.am): Arrange to compile and run test-signal-c++.
34376         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
34377         gl_MODULE_INDICATOR.
34378
34379         Tests of module 'search' in C++ mode.
34380         * tests/test-search-c++.cc: New file.
34381         * modules/search-tests (Files): Add it and tests/signature.h.
34382         (Depends-on): Add ansi-c++-opt.
34383         (Makefile.am): Arrange to compile and run test-search-c++.
34384         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
34385         gl_MODULE_INDICATOR.
34386
34387         Tests of module 'math' in C++ mode.
34388         * tests/test-math-c++.cc: New file.
34389         * modules/math-tests (Files): Add it and tests/signature.h.
34390         (Depends-on): Add ansi-c++-opt.
34391         (Makefile.am): Arrange to compile and run test-math-c++.
34392         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34393
34394         Tests of module 'locale' in C++ mode.
34395         * tests/test-locale-c++.cc: New file.
34396         * modules/locale-tests (Files): Add it and tests/signature.h.
34397         (Depends-on): Add ansi-c++-opt.
34398         (Makefile.am): Arrange to compile and run test-locale-c++.
34399         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
34400         gl_MODULE_INDICATOR.
34401
34402         Tests of module 'langinfo' in C++ mode.
34403         * tests/test-langinfo-c++.cc: New file.
34404         * modules/langinfo-tests (Files): Add it and tests/signature.h.
34405         (Depends-on): Add ansi-c++-opt.
34406         (Makefile.am): Arrange to compile and run test-langinfo-c++.
34407         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
34408         gl_MODULE_INDICATOR.
34409
34410         Tests of module 'iconv-h' in C++ mode.
34411         * tests/test-iconv-h-c++.cc: New file.
34412         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
34413         (Depends-on): Add ansi-c++-opt.
34414         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
34415
34416         Tests of module 'glob' in C++ mode.
34417         * tests/test-glob-c++.cc: New file.
34418         * modules/glob-tests (Files): Add it.
34419         (Depends-on): Add ansi-c++-opt.
34420         (Makefile.am): Arrange to compile and run test-glob-c++.
34421
34422         Tests of module 'fcntl-h' in C++ mode.
34423         * tests/test-fcntl-h-c++.cc: New file.
34424         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
34425         (Depends-on): Add ansi-c++-opt.
34426         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
34427         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
34428         gl_MODULE_INDICATOR.
34429
34430         Tests of module 'dirent' in C++ mode.
34431         * tests/test-dirent-c++.cc: New file.
34432         * modules/dirent-tests (Files): Add it and tests/signature.h.
34433         (Depends-on): Add ansi-c++-opt.
34434         (Makefile.am): Arrange to compile and run test-dirent-c++.
34435         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
34436         gl_MODULE_INDICATOR.
34437
34438         New module 'ansi-c++-opt'.
34439         * modules/ansi-c++-opt: New file.
34440         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
34441
34442         Document C++ namespace mode.
34443         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
34444
34445         wctype: Avoid #define replacements in C++ mode.
34446         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
34447         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
34448         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
34449         In C++, define a namespaced alias symbol.
34450         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
34451         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
34452         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
34453         rule.
34454
34455         wchar: Avoid #define replacements in C++ mode.
34456         * lib/wchar.in.h: Include c++defs.h.
34457         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
34458         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
34459         symbol.
34460         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
34461         * modules/wchar (Depends-on): Add c++defs.
34462         (Makefile.am): Update wchar.h rule.
34463
34464         unistd: Avoid #define replacements in C++ mode.
34465         * lib/unistd.in.h: Include c++defs.h.
34466         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
34467         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
34468         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
34469         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
34470         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
34471         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
34472         symbol.
34473         (environ): Update.
34474         * modules/unistd (Depends-on): Add c++defs.
34475         (Makefile.am): Update unistd.h rule.
34476
34477         time: Avoid #define replacements in C++ mode.
34478         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
34479         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
34480         define a namespaced alias symbol.
34481         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
34482         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
34483         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
34484         * modules/time (Depends-on): Add c++defs, warn-on-use.
34485         (Makefile.am): Update time.h rule.
34486         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
34487         * modules/nanosleep (configure.ac): Likewise.
34488         * modules/strptime (configure.ac): Likewise.
34489         * modules/timegm (configure.ac): Likewise.
34490
34491         sys_time: Avoid #define replacements in C++ mode.
34492         * lib/sys_time.in.h: Include c++defs.h.
34493         (gettimeofday): In C++, define a namespaced alias symbol.
34494         * modules/sys_time (Depends-on): Add c++defs.
34495         (Makefile.am): Update sys/time.h rule.
34496
34497         sys_stat: Avoid #define replacements in C++ mode.
34498         * lib/sys_stat.in.h: Include c++defs.h.
34499         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
34500         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
34501         namespaced alias symbol.
34502         In C++, define a namespaced alias symbol.
34503         * modules/sys_stat (Depends-on): Add c++defs.
34504         (Makefile.am): Update sys/stat.h rule.
34505
34506         sys_socket: Avoid #define replacements in C++ mode.
34507         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
34508         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
34509         definitions also when the system has a <sys/socket.h>.
34510         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34511         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
34512         In C++, define a namespaced alias symbol.
34513         * modules/sys_socket (Depends-on): Add c++defs.
34514         (Makefile.am): Update sys/socket.h rule.
34515
34516         sys_select: Avoid #define replacements in C++ mode.
34517         * lib/sys_select.in.h: Include c++defs.h. Enable the function
34518         definitions also when the system has a <sys/select.h>.
34519         (select): In C++, define a namespaced alias symbol.
34520         * modules/sys_select (Depends-on): Add c++defs.
34521         (Makefile.am): Update sys/select.h rule.
34522
34523         sys_ioctl: Avoid #define replacements in C++ mode.
34524         * lib/sys_ioctl.in.h: Include c++defs.h.
34525         (ioctl): In C++, define a namespaced alias symbol.
34526         * modules/sys_ioctl (Depends-on): Add c++defs.
34527         (Makefile.am): Update sys/ioctl.h rule.
34528
34529         string: Avoid #define replacements in C++ mode.
34530         * lib/string.in.h: Include c++defs.h.
34531         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
34532         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34533         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34534         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
34535         strsignal, strverscmp): In C++, define a namespaced alias symbol.
34536         * modules/string (Depends-on): Add c++defs.
34537         (Makefile.am): Update string.h rule.
34538
34539         stdlib: Avoid #define replacements in C++ mode.
34540         * lib/stdlib.in.h: Include c++defs.h.
34541         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
34542         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
34543         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
34544         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
34545         symbol.
34546         * modules/stdlib (Depends-on): Add c++defs.
34547         (Makefile.am): Update stdlib.h rule.
34548
34549         stdio: Avoid #define replacements in C++ mode.
34550         * lib/stdio.in.h: Include c++defs.h.
34551         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
34552         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
34553         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
34554         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
34555         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
34556         namespaced alias symbol.
34557         * modules/stdio (Depends-on): Add c++defs.
34558         (Makefile.am): Update stdio.h rule.
34559
34560         spawn: Avoid #define replacements in C++ mode.
34561         * lib/spawn.in.h: Include c++defs.h.
34562         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34563         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34564         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34565         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34566         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34567         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34568         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34569         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34570         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34571         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34572         In C++, define a namespaced alias symbol.
34573         * modules/spawn (Depends-on): Add c++defs.
34574         (Makefile.am): Update spawn.h rule.
34575
34576         signal: Avoid #define replacements in C++ mode.
34577         * lib/signal.in.h: Include c++defs.h.
34578         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34579         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
34580         namespaced alias symbol.
34581         * modules/signal (Depends-on): Add c++defs.
34582         (Makefile.am): Update signal.h rule.
34583
34584         search: Avoid #define replacements in C++ mode.
34585         * lib/search.in.h: Include c++defs.h.
34586         (_gl_search_compar_fn, _gl_search_action_fn): New types.
34587         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
34588         symbol.
34589         * modules/search (Depends-on): Add c++defs.
34590         (Makefile.am): Update search.h rule.
34591
34592         math: Avoid #define replacements in C++ mode.
34593         * lib/math.in.h: Include c++defs.h.
34594         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
34595         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
34596         trunc, truncl): In C++, define a namespaced alias symbol.
34597         * modules/math (Depends-on): Add c++defs.
34598         (Makefile.am): Update math.h rule.
34599
34600         locale: Avoid #define replacements in C++ mode.
34601         * lib/locale.in.h: Include c++defs.h.
34602         (duplocale): In C++, define a namespaced alias symbol.
34603         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
34604         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
34605         * modules/locale (Depends-on): Add c++defs.
34606         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
34607
34608         langinfo: Avoid #define replacements in C++ mode.
34609         * lib/langinfo.in.h: Include c++defs.h.
34610         (nl_langinfo): In C++, define a namespaced alias symbol.
34611         * modules/langinfo (Depends-on): Add c++defs.
34612         (Makefile.am): Update langinfo.h rule.
34613
34614         iconv-h: Avoid #define replacements in C++ mode.
34615         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
34616         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
34617         symbol.
34618         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34619         whenever iconv is present.
34620         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
34621         (Makefile.am): Update iconv.h rule.
34622
34623         glob: Avoid #define replacements in C++ mode.
34624         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
34625         (_gl_glob_errfunc_fn): New type.
34626         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
34627         symbol.
34628         * modules/glob (Depends-on): Add c++defs, warn-on-use.
34629         (Makefile.am): Update glob.h rule.
34630
34631         fcntl-h: Avoid #define replacements in C++ mode.
34632         * lib/fcntl.in.h: Include c++defs.h.
34633         (fcntl, open, openat): In C++, define a namespaced alias symbol.
34634         * modules/fcntl-h (Depends-on): Add c++defs.
34635         (Makefile.am): Update fcntl.h rule.
34636
34637         dirent: Avoid #define replacements in C++ mode.
34638         * lib/dirent.in.h: Include c++defs.h.
34639         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
34640         namespaced alias symbol.
34641         (dirfd): Update declaration.
34642         * modules/dirent (Depends-on): Add c++defs.
34643         (Makefile.am): Update dirent.h rule.
34644
34645         ctype: Make it usable in C++ code.
34646         * lib/ctype.in.h: Include c++defs.h.
34647         (isblank): Declare as extern "C".
34648         * modules/ctype (Depends-on): Add c++defs.
34649         (Makefile.am): Update ctype.h rule.
34650
34651         New module 'c++defs'.
34652         * modules/c++defs: New file.
34653         * build-aux/c++defs.h: New file.
34654         Reported by John W. Eaton <jwe@gnu.org>.
34655
34656 2010-03-07  Bruno Haible  <bruno@clisp.org>
34657
34658         logb: Provide missing declaration for Cygwin.
34659         * lib/math.in.h (logb): New declaration.
34660         * m4/logb.m4: New file.
34661         * modules/logb (Files): Add m4/logb.m4.
34662         (Depends-on): Add math.
34663         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
34664         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
34665         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
34666         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
34667         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
34668
34669 2010-03-07  Bruno Haible  <bruno@clisp.org>
34670
34671         Fix test-cond link error.
34672         * tests/test-cond.c: Include <stdio.h>.
34673
34674 2010-03-07  Bruno Haible  <bruno@clisp.org>
34675
34676         Fix test-dirent-safer link error.
34677         * modules/dirent-safer-tests (Makefile.am): Define
34678         test_dirent_safer_LDADD.
34679
34680 2010-03-07  Bruno Haible  <bruno@clisp.org>
34681
34682         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
34683         among default module list.
34684
34685 2010-03-07  Bruno Haible  <bruno@clisp.org>
34686
34687         Fix link error on platforms with GNU libiconv.
34688         * modules/unistr/u8-strcoll-tests (Makefile): Define
34689         test_u8_strcoll_LDADD.
34690         * modules/unistr/u16-strcoll-tests (Makefile): Define
34691         test_u16_strcoll_LDADD.
34692         * modules/unistr/u32-strcoll-tests (Makefile): Define
34693         test_u32_strcoll_LDADD.
34694
34695 2010-03-07  Bruno Haible  <bruno@clisp.org>
34696
34697         Use POSIX declarations for socket functions.
34698         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
34699         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
34700         rpl_sendto): Change declaration to match POSIX.
34701         * lib/connect.c (rpl_connect): Likewise.
34702         * lib/accept.c (rpl_accept): Likewise.
34703         * lib/bind.c (rpl_bind): Likewise.
34704         * lib/getpeername.c (rpl_getpeername): Likewise.
34705         * lib/getsockname.c (rpl_getsockname): Likewise.
34706         * lib/recv.c (rpl_recv): Likewise.
34707         * lib/send.c (rpl_send): Likewise.
34708         * lib/recvfrom.c (rpl_recvfrom): Likewise.
34709         * lib/sendto.c (rpl_sendto): Likewise.
34710
34711 2010-03-06  Bruno Haible  <bruno@clisp.org>
34712
34713         Clarify access, euidaccess, faccessat.
34714         * doc/posix-functions/faccessat.texi: Mention security problem under
34715         "Other problems", not "Portability problems".
34716         * doc/posix-functions/access.texi: Likewise. Mention a related security
34717         problem.
34718         * doc/glibc-functions/euidaccess.texi: Mention security problems.
34719         * lib/euidaccess.c: Add comments about platforms.
34720         * lib/unistd.in.h (access, euidaccess): Add warnings.
34721
34722 2010-03-07  Bruno Haible  <bruno@clisp.org>
34723
34724         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
34725         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
34726         (POSIX_SPAWN_SETSCHEDULER): Likewise.
34727         (POSIX_SPAWN_USEVFORK): Define in a way that works when
34728         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34729         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
34730         declare when POSIX_SPAWN_SETSCHEDULER is zero.
34731         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
34732         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
34733         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
34734         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
34735         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
34736         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
34737         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
34738         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
34739         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
34740         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
34741         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
34742         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
34743         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
34744         Likewise.
34745         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
34746         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
34747         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
34748         Likewise.
34749         * tests/test-spawn.c (main): Make it work when
34750         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34751
34752 2010-03-07  Bruno Haible  <bruno@clisp.org>
34753
34754         Fix incorrect Makefile.am generation in German locale.
34755         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34756         Execute sed command with character range in C locale.
34757
34758 2010-03-06  Bruno Haible  <bruno@clisp.org>
34759
34760         Tests for module 'iconv-h'.
34761         * modules/iconv-h-tests: New file.
34762         * tests/test-iconv-h.c: New file.
34763
34764         New module 'iconv-h'.
34765         * modules/iconv-h: New file.
34766         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
34767         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
34768         (configure.ac): Remove gl_ICONV_H.
34769         (Makefile.am): Remove rule for iconv.h.
34770
34771 2010-03-06  Bruno Haible  <bruno@clisp.org>
34772
34773         More consistent naming of *.m4 files.
34774         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
34775         * modules/wctype (Files): Update.
34776
34777         More consistent naming of *.m4 files.
34778         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
34779         * modules/wchar (Files): Update.
34780
34781 2010-03-06  Jim Meyering  <meyering@redhat.com>
34782
34783         euidaccess: relax license to LGPLv2+
34784         * modules/euidaccess (License): Relax to LGPLv2+.
34785
34786 2010-03-06  Bruno Haible  <bruno@clisp.org>
34787
34788         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
34789         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
34790         (Makefile.am): Augment lib_SOURCES instead.
34791
34792 2010-03-04  Jim Meyering  <meyering@redhat.com>
34793
34794         utime: remove obsolete module
34795         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
34796         unnecessary for years, and has been marked as obsolete for 10 months.
34797         * modules/utime: Remove file.
34798         * lib/utime.c: Remove file.
34799         * m4/utime.m4: Remove file.
34800         * m4/utimes-null.m4: Remove file.
34801         * doc/posix-functions/utime.texi (utime): Remove reference to
34802         the module.  Move the sole "fixed by gnulib" item into the
34803         "problems not fixed by Gnulib" list.
34804         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
34805
34806 2010-03-05  Simon Josefsson  <simon@josefsson.org>
34807
34808         * modules/exit (License): Relax license to LGPLv2+.
34809         (Status): Mark as obsolete.
34810         * NEWS: Mention deprecated 'exit' module.
34811         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
34812         of now obsolete 'exit'.
34813
34814 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34815
34816         fts-lgpl: remove unused module
34817         * modules/fts-lgpl: Remove.
34818         * MODULES.html.sh (func_all_modules): Adjust.
34819         * check-module (find_included_lib_files): Adjust.
34820         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
34821
34822 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
34823
34824         copy-acl: enhance Solaris ACL error handling
34825         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
34826         * lib/set-mode-acl.c (qset_acl): Likewise.
34827
34828 2010-03-02  Bruno Haible  <bruno@clisp.org>
34829
34830         spawn: Don't override the system defined values on FreeBSD 8.
34831         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
34832         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
34833         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
34834         if HAVE_POSIX_SPAWN is 1.
34835         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
34836
34837 2010-03-01  Bruno Haible  <bruno@clisp.org>
34838
34839         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
34840         regarding Automake.
34841
34842 2010-02-25  Bruno Haible  <bruno@clisp.org>
34843
34844         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
34845         * gnulib-tool: Define 'echo' as a function only before the ksh alias
34846         setting, not afterwards.
34847         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
34848
34849 2010-02-24  Eric Blake  <eblake@redhat.com>
34850
34851         bootstrap, git-version-gen: use timestamp
34852         * build-aux/git-version-gen (scriptversion): Force UTC.
34853         * build-aux/bootstrap (scriptversion): New variable.
34854
34855         bootstrap: allow older git
34856         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
34857         older than 1.6.4.  Requested by the libvirt project.
34858
34859 2010-02-23  Eric Blake  <eblake@redhat.com>
34860
34861         warn-on-use: work with old autoconf
34862         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
34863         AS_VAR semantics of autoconf 2.60.
34864         Reported by Bruno Haible.
34865
34866         bootstrap: improve some comments
34867         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
34868         clarification comments.
34869
34870         gettimeofday: provide correct function
34871         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
34872         when replacement is declared, otherwise provide gettimeofday.
34873         Reported by Michael Goffioul.
34874
34875 2010-02-23  Jim Meyering  <meyering@redhat.com>
34876
34877         lib-ignore: relax license to "unlimited", not LGPLv2+
34878         * modules/lib-ignore (License): Relax to "unlimited".
34879
34880 2010-02-23  Jim Meyering  <meyering@redhat.com>
34881
34882         lib-ignore: relax license to LGPLv2+
34883         * modules/lib-ignore (License): Relax to LGPLv2+.
34884
34885 2010-02-22  Eric Blake  <eblake@redhat.com>
34886
34887         lseek: avoid bash 3.2 broken pipe bug
34888         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
34889         warning from bash 3.2.
34890         Reported by Ben Pfaff, with analysis from Bruno Haible.
34891
34892         bootstrap: support non-FSF copyright holder
34893         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
34894         bootstrap.conf override of COPYRIGHT_HOLDER.
34895         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
34896
34897         bootstrap: interoperate with gettext 0.14.1
34898         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
34899
34900         bootstrap: allow for alternate submodule location
34901         * build-aux/bootstrap (gnulib_path): New variable; use instead of
34902         hardcoding submodule location.
34903         (gnulib_mk): Allow direct use of Makefile.am.
34904
34905         bootstrap: use GNULIB_SRCDIR to reduce disk usage
34906         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
34907         rather than reconfiguring where the submodule points.
34908
34909         gettimeofday: restore support for platforms that lack function
34910         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
34911         replacement if function is missing.
34912         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
34913         * modules/sys_time (Makefile.am): Substitute it.
34914         * lib/sys_time.in.h (gettimeofday): Check it.
34915         Reported by Michael Goffioul.
34916
34917 2010-02-21  Bruno Haible  <bruno@clisp.org>
34918
34919         * lib/stdio.in.h (obstack_printf): Fix typo.
34920
34921 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
34922
34923         vc-list-files: use bzr ls's -R option
34924         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
34925         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
34926
34927 2010-02-21  Jim Meyering  <meyering@redhat.com>
34928
34929         init.sh: fix EXEEXT shims to work also for names like test-prog
34930         * tests/init.sh: Re-exec a better shell, when needed.
34931         If the current shell lacks support for posix $(...), an init.sh-using
34932         test will now try to find a shell that supports that.  If EXEEXT is
34933         nonempty, we also require support for hyphen-in-alias-name and shell
34934         substitutions like ${var#glob}.  Failure to find such a shell results
34935         in a skipped test.
34936
34937 2010-02-21  Bruno Haible  <bruno@clisp.org>
34938
34939         Really work around around "broken pipe" error message from bash 3.2.
34940         * gnulib-tool (func_reset_sigpipe): Remove function.
34941         (echo): In bash 3.2, define to a function that uses printf.
34942         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34943
34944 2010-02-20  Bruno Haible  <bruno@clisp.org>
34945
34946         Restore support for automake 1.9.6 with autoconf 2.61.
34947         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34948         Reported by James Youngman <jay@gnu.org>.
34949
34950 2010-02-20  Bruno Haible  <bruno@clisp.org>
34951
34952         Improve *printf warning condition.
34953         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34954         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34955         and the function is overridden due to SIGPIPE emulation.
34956
34957 2010-02-20  Bruno Haible  <bruno@clisp.org>
34958
34959         * lib/stdio.in.h: Tweak comments.
34960
34961 2010-02-19  Bruno Haible  <bruno@clisp.org>
34962
34963         Make it easier to find modules. New gnulib-tool option '--find'.
34964         * gnulib-tool: New option --find.
34965         (func_usage): Document it.
34966         (func_sanitize_modulelist): New function, extracted from
34967         func_all_modules.
34968         (func_all_modules): Invoke it.
34969         * doc/gnulib-tool.texi (Which modules?): New node.
34970
34971 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34972
34973         * lib/sys_select.in.h: Provide select replacement even if
34974         sys/select.h exists on a system, for Interix.
34975
34976 2010-02-18  Jim Meyering  <meyering@redhat.com>
34977
34978         init.sh: don't use $(...) just yet
34979         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34980         to accommodate e.g., Solaris' /bin/sh.
34981
34982 2010-02-17  Bruno Haible  <bruno@clisp.org>
34983
34984         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34985         Reported by Ludovic Courtès <ludo@gnu.org>.
34986
34987 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34988
34989         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34990         linking with -lintl.
34991
34992 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34993
34994         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34995         if not provided by the system's netdb.h.  Reported by
34996         ludo@gnu.org (Ludovic Courtès).
34997
34998 2010-02-15  Jim Meyering  <meyering@redhat.com>
34999
35000         init.sh: improve portability and efficiency
35001         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
35002         "dummy" in a for loop.
35003         Use '!', not '^' to select the complement of a character set used
35004         in a "case" statement.
35005         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
35006         Suggestions from Eric Blake.
35007
35008         init.sh: automatically accommodate programs with the .exe suffix
35009         Automatically arrange for an invocation of "prog" to execute the
35010         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
35011         may use the simpler "prog", yet still work when built on a system
35012         that requires specifying the added suffix.
35013         Do this by constructing a function named "prog" that invokes
35014         "prog.exe" for each .exe file in selected directories.
35015         * tests/init.sh (find_exe_basenames_): New function.
35016         (create_exe_shim_functions_): New function.
35017         (path_prepend_): Use it.
35018
35019         maint.mk: mark syntax-check sc_*.m rules as .PHONY
35020         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
35021         "make -t syntax-check" doesn't create a ton of sc_*.m files.
35022
35023 2010-02-14  Jim Meyering  <meyering@redhat.com>
35024
35025         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
35026         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
35027         (sc_prohibit_hash_pjw_without_use): New rule.
35028
35029         maint.mk: allow the default upload destination dir to be overridden
35030         * top/maint.mk (upload_dest_dir_): Define with a default that
35031         preserves the status quo.
35032         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
35033         Reported by Peter Simons.
35034
35035         maint.mk: prohibit inclusion of "hash.h" without_use
35036         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
35037
35038 2010-02-10  Jim Meyering  <meyering@redhat.com>
35039
35040         maint.mk: prohibit inclusion of "ignore-value.h" without_use
35041         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
35042
35043 2010-02-09  Eric Blake  <ebb9@byu.net>
35044         and Bruno Haible  <bruno@clisp.org>
35045
35046         obstack-printf-posix: ensure declaration
35047         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
35048         extracted from gl_FUNC_OBSTACK_PRINTF.
35049         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
35050         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35051         Likewise.
35052         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
35053         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
35054         0.
35055
35056 2010-02-08  Bruno Haible  <bruno@clisp.org>
35057
35058         gnulib-tool: Fix typo in 2010-02-07 commit.
35059         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
35060         Reported by Eric Blake.
35061
35062 2010-02-07  Bruno Haible  <bruno@clisp.org>
35063
35064         gnulib-tool: Fix up caching patches.
35065         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
35066         option --no-cache. Use associative arrays when supported by the shell.
35067         (sed_comments): New variable.
35068         (modcache): Renamed from do_cache.
35069         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
35070         abbreviate unnecessarily.
35071         (have_associative): New variable.
35072         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
35073         way also for ksh and zsh.
35074         (func_init_sed_convert_to_cache_statements): New function, extracted
35075         from func_cache_lookup_module. Add support for associative arrays.
35076         Don't set the c_MODULE_cached variable here. Ignore all lines before
35077         the first field header. Remove only the final newline, not all trailing
35078         newlines. Support empty fields correctly. Limit the use of 'eval' to
35079         assignments.
35080         (func_get_description, func_get_status, func_get_notice,
35081         func_get_applicability, func_get_filelist, func_get_dependencies,
35082         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
35083         func_get_automake_snippet, func_get_include_directive,
35084         func_get_link_directive, func_get_license, func_get_maintainer):
35085         Update documentation. List the unoptimized code first. Add support for
35086         associative arrays. Limit the use of 'eval' to assignments.
35087         (func_get_applicability): Undo stylistic pessimisations.
35088         (func_get_automake_snippet, func_get_include_directive): Reduce code
35089         duplication.
35090         (func_modules_transitive_closure, func_modules_add_dummy,
35091         func_modules_notice, func_modules_to_filelist, func_add_file,
35092         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
35093         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
35094         func_create_testdir, func_create_megatestdir): Update documentation.
35095
35096 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35097
35098         * gnulib-tool (func_cache_lookup_module): Store the module name
35099         belonging to the cache variable; error out if two different
35100         module names map to the same cache variable name.
35101
35102 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35103
35104         gnulib-tool: Make caching optional.
35105         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
35106         Update matching short versions of --no-changelog.
35107         (func_usage): Update.
35108         (sed_extract_cache_prog): Renamed from ...
35109         (sed_extract_prog): ... this; revert to old extraction script.
35110         (func_get_description, func_get_status)
35111         (func_get_notice, func_get_applicability, func_get_filelist)
35112         (func_get_dependencies, func_get_autoconf_early_snippet)
35113         (func_get_autoconf_snippet, func_get_automake_snippet)
35114         (func_get_include_directive, func_get_link_directive)
35115         (func_get_license, func_get_maintainer): If $do_cache is false,
35116         use old, non-caching extraction scripts.
35117         Suggestion by Bruno Haible.
35118
35119 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35120
35121         gnulib-tool: cache module metainformation.
35122         * gnulib-tool (sed_extract_prog): Match newline before each
35123         header, and rewrite header to a shell variable suffix.
35124         (func_cache_var, func_cache_lookup_module): New functions,
35125         to turn a module name into a cache variable prefix, and to
35126         look up and cache module metainformation.
35127         (func_get_description, func_get_status)
35128         (func_get_notice, func_get_applicability, func_get_filelist)
35129         (func_get_dependencies, func_get_autoconf_early_snippet)
35130         (func_get_autoconf_snippet, func_get_automake_snippet)
35131         (func_get_include_directive, func_get_link_directive)
35132         (func_get_license, func_get_maintainer): Use
35133         func_cache_lookup_module.
35134
35135 2010-02-07  Bruno Haible  <bruno@clisp.org>
35136
35137         fnctl: Fix missing dependency.
35138         * modules/fcntl (Depends-on): Add getdtablesize.
35139         Reported by John W. Eaton <jwe@gnu.org>.
35140
35141 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35142
35143         Argp: fix recognition of short alias options.
35144
35145         * lib/argp-parse.c (convert_options): Fix improper use of
35146         `|' between character values.
35147         * tests/test-argp.c (group1_option): New alias option
35148         --read (-r).
35149         (group1_parser): Special handling for 'r'.
35150         (test15): New test case.
35151         (test_fun): Add test15.
35152         * tests/test-argp-2.sh: Update expected --help and --usage
35153         outputs.
35154
35155 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35156
35157         * tests/test-argp.c: Fix indentation.
35158
35159 2010-02-04  Eric Blake  <ebb9@byu.net>
35160
35161         gettimeofday: expose type of second argument
35162         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
35163         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
35164         * tests/test-gettimeofday.c: Use it to silence warning.
35165         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
35166         the issue.
35167
35168 2010-02-03  Jim Meyering  <meyering@redhat.com>
35169
35170         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
35171         * lib/regcomp.c (TYPE_SIGNED): Define.
35172         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
35173
35174         regcomp.c: avoid a new -Wshadow warning
35175         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
35176
35177 2010-02-01  Jim Meyering  <meyering@redhat.com>
35178
35179         removing useless parentheses in cpp #define directives
35180         For motivation, see commit c0221df4, "define STREQ(a,b)
35181         consistently, removing useless parentheses"
35182         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
35183         * lib/mountlist.c (MNT_IGNORE): Likewise.
35184         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
35185
35186 2010-02-01  Eric Blake  <ebb9@byu.net>
35187
35188         sys_time: use link-warning
35189         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
35190         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
35191         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
35192         * modules/sys_time (Depends-on): Add warn-on-use.
35193         (Makefile.am): Always build replacement.
35194         (configure.ac): Update substitutions.
35195         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
35196         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
35197         bother with SYS_TIME_H.
35198         * modules/gettimeofday (configure.ac): Declare indicator.
35199         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
35200         in use.
35201
35202         closein-tests: silence compiler warning
35203         * tests/test-closein.c (main): Ignore fread result.
35204         * modules/closein-tests (Depends-on): Add ignore-value.
35205
35206         tests: silence warning about system return
35207         * tests/test-areadlink-with-size.c (main): Ignore system result.
35208         * tests/test-areadlink.c (main): Likewise.
35209         * tests/test-areadlinkat-with-size.c (main): Likewise.
35210         * tests/test-areadlinkat.c (main): Likewise.
35211         * tests/test-canonicalize-lgpl.c (main): Likewise.
35212         * tests/test-canonicalize.c (main): Likewise.
35213         * tests/test-chown.c (main): Likewise.
35214         * tests/test-fchownat.c (main): Likewise.
35215         * tests/test-fdutimensat.c (main): Likewise.
35216         * tests/test-fstatat.c (main): Likewise.
35217         * tests/test-futimens.c (main): Likewise.
35218         * tests/test-lchown.c (main): Likewise.
35219         * tests/test-link.c (main): Likewise.
35220         * tests/test-linkat.c (main): Likewise.
35221         * tests/test-lstat.c (main): Likewise.
35222         * tests/test-mkdir.c (main): Likewise.
35223         * tests/test-mkdirat.c (main): Likewise.
35224         * tests/test-mkfifo.c (main): Likewise.
35225         * tests/test-mkfifoat.c (main): Likewise.
35226         * tests/test-mknod.c (main): Likewise.
35227         * tests/test-readlink.c (main): Likewise.
35228         * tests/test-remove.c (main): Likewise.
35229         * tests/test-rename.c (main): Likewise.
35230         * tests/test-renameat.c (main): Likewise.
35231         * tests/test-rmdir.c (main): Likewise.
35232         * tests/test-symlink.c (main): Likewise.
35233         * tests/test-symlinkat.c (main): Likewise.
35234         * tests/test-unlink.c (main): Likewise.
35235         * tests/test-unlinkat.c (main): Likewise.
35236         * tests/test-utimens.c (main): Likewise.
35237         * tests/test-utimensat.c (main): Likewise.
35238         * modules/areadlink-tests (Depends-on): Add ignore-value.
35239         * modules/areadlink-with-size-tests (Depends-on): Likewise.
35240         * modules/areadlinkat-tests (Depends-on): Likewise.
35241         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
35242         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35243         * modules/canonicalize-tests (Depends-on): Likewise.
35244         * modules/chown-tests (Depends-on): Likewise.
35245         * modules/fdutimensat-tests (Depends-on): Likewise.
35246         * modules/futimens-tests (Depends-on): Likewise.
35247         * modules/lchown-tests (Depends-on): Likewise.
35248         * modules/link-tests (Depends-on): Likewise.
35249         * modules/linkat-tests (Depends-on): Likewise.
35250         * modules/lstat-tests (Depends-on): Likewise.
35251         * modules/mkdir-tests (Depends-on): Likewise.
35252         * modules/mkfifo-tests (Depends-on): Likewise.
35253         * modules/mkfifoat-tests (Depends-on): Likewise.
35254         * modules/mknod-tests (Depends-on): Likewise.
35255         * modules/openat-tests (Depends-on): Likewise.
35256         * modules/readlink-tests (Depends-on): Likewise.
35257         * modules/remove-tests (Depends-on): Likewise.
35258         * modules/rename-tests (Depends-on): Likewise.
35259         * modules/renameat-tests (Depends-on): Likewise.
35260         * modules/rmdir-tests (Depends-on): Likewise.
35261         * modules/symlink-tests (Depends-on): Likewise.
35262         * modules/symlinkat-tests (Depends-on): Likewise.
35263         * modules/unlink-tests (Depends-on): Likewise.
35264         * modules/utimens-tests (Depends-on): Likewise.
35265         * modules/utimensat-tests (Depends-on): Likewise.
35266
35267 2010-01-31  Bruno Haible  <bruno@clisp.org>
35268
35269         Perform the same test for many <math.h> functions.
35270         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
35271         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
35272         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
35273         of gl_MATHFUNC.
35274         * modules/acos (configure.ac): Likewise.
35275         * modules/asin (configure.ac): Likewise.
35276         * modules/atan (configure.ac): Likewise.
35277         * modules/atan2 (configure.ac): Likewise.
35278         * modules/cbrt (configure.ac): Likewise.
35279         * modules/copysign (configure.ac): Likewise.
35280         * modules/cos (configure.ac): Likewise.
35281         * modules/cosh (configure.ac): Likewise.
35282         * modules/erf (configure.ac): Likewise.
35283         * modules/erfc (configure.ac): Likewise.
35284         * modules/exp (configure.ac): Likewise.
35285         * modules/fmod (configure.ac): Likewise.
35286         * modules/hypot (configure.ac): Likewise.
35287         * modules/j0 (configure.ac): Likewise.
35288         * modules/j1 (configure.ac): Likewise.
35289         * modules/jn (configure.ac): Likewise.
35290         * modules/lgamma (configure.ac): Likewise.
35291         * modules/log (configure.ac): Likewise.
35292         * modules/log10 (configure.ac): Likewise.
35293         * modules/log1p (configure.ac): Likewise.
35294         * modules/pow (configure.ac): Likewise.
35295         * modules/remainder (configure.ac): Likewise.
35296         * modules/sin (configure.ac): Likewise.
35297         * modules/sinh (configure.ac): Likewise.
35298         * modules/tan (configure.ac): Likewise.
35299         * modules/tanh (configure.ac): Likewise.
35300         * modules/y0 (configure.ac): Likewise.
35301         * modules/y1 (configure.ac): Likewise.
35302         * modules/yn (configure.ac): Likewise.
35303         Suggested by Paolo Bonzini.
35304
35305 2010-01-31  Bruno Haible  <bruno@clisp.org>
35306
35307         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
35308
35309 2010-01-31  Bruno Haible  <bruno@clisp.org>
35310
35311         Work around getdelim() bug on FreeBSD 8.0.
35312         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
35313         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
35314         not work.
35315         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
35316         is 1.
35317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
35318         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
35319         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
35320         a non-zero size.
35321         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
35322
35323 2010-01-31  Bruno Haible  <bruno@clisp.org>
35324
35325         Work around getline() bug on FreeBSD 8.0.
35326         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
35327         and a non-zero size.
35328         * tests/test-getline.c (main): Likewise.
35329         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
35330         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
35331
35332 2010-01-28  Eric Blake  <ebb9@byu.net>
35333
35334         regex: fix build failure
35335         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
35336         platforms.
35337
35338 2010-01-28  Jim Meyering  <meyering@redhat.com>
35339
35340         regex: do not ignore memory allocation failure
35341         * lib/regex_internal.c (create_cd_newstate): Detect
35342         re_node_set_init_copy failure.   Extracted from glibc commit
35343         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35344
35345         regex: sync more white-space changes from libc
35346         * lib/regex_internal.c: White-space only changes.
35347         * lib/regexec.c: Likewise.
35348
35349         regex: add many uses of __attribute_warn_unused_result__
35350         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
35351         * lib/regexec.c: Likewise.
35352         Extracted from a messy glibc commit.
35353
35354         regcomp.c: spelling and merge-artifact from glibc
35355         * lib/regcomp.c: Merge remainder of glibc's
35356         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35357
35358         regcomp.c: sync white-space changes from glibc
35359         * lib/regcomp.c: Merge to accommodate white space
35360         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35361
35362         regcomp.c: do not ignore internal return values
35363         * lib/regcomp.c: Do not ignore internal return values.
35364         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
35365         but without its white-space changes and spelling fixes.
35366
35367         regex_internal.h: define __attribute_warn_unused_result__
35368         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
35369
35370         maint: add a syntax-check rule to check for vulnerable Makefile.in
35371         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
35372
35373 2010-01-27  Jim Meyering  <meyering@redhat.com>
35374
35375         ncftpput-ftp: clean up spaces
35376         * build-aux/ncftpput-ftp: Make Copyright line consistent.
35377         Remove trailing blanks.
35378
35379 2010-01-27  Simon Josefsson  <simon@josefsson.org>
35380
35381         * build-aux/git-version-gen: Fix copyright statement.
35382         * build-aux/gnupload: Likewise.
35383         * tests/test-arcfour.c: Likewise.
35384         * tests/test-arctwo.c: Likewise.
35385         * tests/test-count-one-bits.c: Likewise.
35386         * tests/test-crc.c: Likewise.
35387         * tests/test-des.c: Likewise.
35388         * tests/test-gc-arcfour.c: Likewise.
35389         * tests/test-gc-arctwo.c: Likewise.
35390         * tests/test-gc-des.c: Likewise.
35391         * tests/test-gc-hmac-md5.c: Likewise.
35392         * tests/test-gc-hmac-sha1.c: Likewise.
35393         * tests/test-gc-md2.c: Likewise.
35394         * tests/test-gc-md4.c: Likewise.
35395         * tests/test-gc-md5.c: Likewise.
35396         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35397         * tests/test-gc-rijndael.c: Likewise.
35398         * tests/test-gc-sha1.c: Likewise.
35399         * tests/test-gc.c: Likewise.
35400         * tests/test-gethostname.c: Likewise.
35401         * tests/test-gettimeofday.c: Likewise.
35402         * tests/test-hash.c: Likewise.
35403         * tests/test-hmac-md5.c: Likewise.
35404         * tests/test-hmac-sha1.c: Likewise.
35405         * tests/test-md2.c: Likewise.
35406         * tests/test-md4.c: Likewise.
35407         * tests/test-md5.c: Likewise.
35408         * tests/test-memchr.c: Likewise.
35409         * tests/test-memchr2.c: Likewise.
35410         * tests/test-memcmp.c: Likewise.
35411         * tests/test-memmem.c: Likewise.
35412         * tests/test-memrchr.c: Likewise.
35413         * tests/test-rawmemchr.c: Likewise.
35414         * tests/test-read-file.c: Likewise.
35415         * tests/test-rijndael.c: Likewise.
35416         * tests/test-sockets.c: Likewise.
35417         * tests/test-strchrnul.c: Likewise.
35418         * tests/test-strstr.c: Likewise.
35419         * tests/test-strtod.c: Likewise.
35420         * build-aux/ncftpput-ftp: Likewise.
35421
35422 2010-01-26  Eric Blake  <ebb9@byu.net>
35423
35424         ignore-value: update recommended header name
35425         * modules/ignore-value (Include): Only use <> for headers that
35426         exist in glibc.
35427
35428 2010-01-26  Jim Meyering  <meyering@redhat.com>
35429
35430         test-userspec.c: avoid compiler warnings
35431         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
35432         and "initialization discards qualifiers..." warnings.
35433         Put the first "uid" in its own scope, and make char* members "const".
35434
35435 2010-01-25  Bruno Haible  <bruno@clisp.org>
35436
35437         gnulib-tool: Make warning diagnostics consistent.
35438         * gnulib-tool (func_warning): New function.
35439         Use it everywhere where gnulib-tool produces output to stderr and it is
35440         not a fatal error.
35441
35442 2010-01-25  Bruno Haible  <bruno@clisp.org>
35443
35444         Fix test dependencies.
35445         * modules/xstrtol-tests (Depends-on): Add inttypes.
35446         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
35447
35448 2010-01-25 Pádraig Brady <P@draigBrady.com>
35449
35450         syntax-check: detect incorrect boolean macro values in config.h
35451         * modules/maintainer-makefile (configure.ac): Parameterize the location
35452         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
35453         The logic is from Eric Blake and the location indicated by Jim Meyering.
35454         Note the more natural CONFIG_HEADER name is prohibited by automake
35455         for backwards compatibility reasons.
35456         * top/maint.mk (sc_Wundef_boolean): New rule.
35457
35458 2010-01-25  Jim Meyering  <meyering@redhat.com>
35459
35460         bootstrap: detect MacOS 10.6's shasum, too
35461         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
35462         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
35463
35464 2010-01-23  Jim Meyering  <meyering@redhat.com>
35465
35466         xstrtoll: new module
35467         * modules/xstrtoll: New file.
35468         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
35469         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
35470         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
35471         ./configure fails if you use this module and lack "long long".
35472         * modules/xstrtoll-tests: New module.
35473         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
35474         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
35475         new init.sh-based test framework.
35476
35477 2010-01-24  Bruno Haible  <bruno@clisp.org>
35478
35479         Tests for module 'yn'.
35480         * modules/yn-tests: New file.
35481         * tests/test-yn.c: New file.
35482
35483         Tests for module 'y1'.
35484         * modules/y1-tests: New file.
35485         * tests/test-y1.c: New file.
35486
35487         Tests for module 'y0'.
35488         * modules/y0-tests: New file.
35489         * tests/test-y0.c: New file.
35490
35491         Tests for module 'tanh'.
35492         * modules/tanh-tests: New file.
35493         * tests/test-tanh.c: New file.
35494
35495         Tests for module 'tan'.
35496         * modules/tan-tests: New file.
35497         * tests/test-tan.c: New file.
35498
35499         Tests for module 'sqrt'.
35500         * modules/sqrt-tests: New file.
35501         * tests/test-sqrt.c: New file.
35502
35503         Tests for module 'sinh'.
35504         * modules/sinh-tests: New file.
35505         * tests/test-sinh.c: New file.
35506
35507         Tests for module 'sin'.
35508         * modules/sin-tests: New file.
35509         * tests/test-sin.c: New file.
35510
35511         Tests for module 'rint'.
35512         * modules/rint-tests: New file.
35513         * tests/test-rint.c: New file.
35514
35515         Tests for module 'remainder'.
35516         * modules/remainder-tests: New file.
35517         * tests/test-remainder.c: New file.
35518
35519         Tests for module 'pow'.
35520         * modules/pow-tests: New file.
35521         * tests/test-pow.c: New file.
35522
35523         Tests for module 'nextafter'.
35524         * modules/nextafter-tests: New file.
35525         * tests/test-nextafter.c: New file.
35526
35527         Tests for module 'modf'.
35528         * modules/modf-tests: New file.
35529         * tests/test-modf.c: New file.
35530
35531         Tests for module 'logb'.
35532         * modules/logb-tests: New file.
35533         * tests/test-logb.c: New file.
35534
35535         Tests for module 'log1p'.
35536         * modules/log1p-tests: New file.
35537         * tests/test-log1p.c: New file.
35538
35539         Tests for module 'log10'.
35540         * modules/log10-tests: New file.
35541         * tests/test-log10.c: New file.
35542
35543         Tests for module 'log'.
35544         * modules/log-tests: New file.
35545         * tests/test-log.c: New file.
35546
35547         Tests for module 'lgamma'.
35548         * modules/lgamma-tests: New file.
35549         * tests/test-lgamma.c: New file.
35550
35551         Tests for module 'ldexp'.
35552         * modules/ldexp-tests: New file.
35553         * tests/test-ldexp.c: New file.
35554
35555         Tests for module 'jn'.
35556         * modules/jn-tests: New file.
35557         * tests/test-jn.c: New file.
35558
35559         Tests for module 'j1'.
35560         * modules/j1-tests: New file.
35561         * tests/test-j1.c: New file.
35562
35563         Tests for module 'j0'.
35564         * modules/j0-tests: New file.
35565         * tests/test-j0.c: New file.
35566
35567         Tests for module 'hypot'.
35568         * modules/hypot-tests: New file.
35569         * tests/test-hypot.c: New file.
35570
35571         Tests for module 'fmod'.
35572         * modules/fmod-tests: New file.
35573         * tests/test-fmod.c: New file.
35574
35575         Tests for module 'fabs'.
35576         * modules/fabs-tests: New file.
35577         * tests/test-fabs.c: New file.
35578
35579         Tests for module 'exp'.
35580         * modules/exp-tests: New file.
35581         * tests/test-exp.c: New file.
35582
35583         Tests for module 'erfc'.
35584         * modules/erfc-tests: New file.
35585         * tests/test-erfc.c: New file.
35586
35587         Tests for module 'erf'.
35588         * modules/erf-tests: New file.
35589         * tests/test-erf.c: New file.
35590
35591         Tests for module 'cosh'.
35592         * modules/cosh-tests: New file.
35593         * tests/test-cosh.c: New file.
35594
35595         Tests for module 'cos'.
35596         * modules/cos-tests: New file.
35597         * tests/test-cos.c: New file.
35598
35599         Tests for module 'copysign'.
35600         * modules/copysign-tests: New file.
35601         * tests/test-copysign.c: New file.
35602
35603         Tests for module 'cbrt'.
35604         * modules/cbrt-tests: New file.
35605         * tests/test-cbrt.c: New file.
35606
35607         Tests for module 'atan2'.
35608         * modules/atan2-tests: New file.
35609         * tests/test-atan2.c: New file.
35610
35611         Tests for module 'atan'.
35612         * modules/atan-tests: New file.
35613         * tests/test-atan.c: New file.
35614
35615         Tests for module 'asin'.
35616         * modules/asin-tests: New file.
35617         * tests/test-asin.c: New file.
35618
35619         Tests for module 'acos'.
35620         * modules/acos-tests: New file.
35621         * tests/test-acos.c: New file.
35622
35623 2010-01-24  Bruno Haible  <bruno@clisp.org>
35624
35625         Fix tests for common <math.h> functions.
35626         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
35627         code snippet that references the function pointer, rather than merely
35628         calling the function. Substitute the FUNC_LIBM variable.
35629         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
35630         * modules/acos (configure.ac): Likewise.
35631         * modules/asin (configure.ac): Likewise.
35632         * modules/atan (configure.ac): Likewise.
35633         * modules/atan2 (configure.ac): Likewise.
35634         * modules/cbrt (configure.ac): Likewise.
35635         * modules/copysign (configure.ac): Likewise.
35636         * modules/cos (configure.ac): Likewise.
35637         * modules/cosh (configure.ac): Likewise.
35638         * modules/erf (configure.ac): Likewise.
35639         * modules/erfc (configure.ac): Likewise.
35640         * modules/exp (configure.ac): Likewise.
35641         * modules/fabs (configure.ac): Likewise.
35642         * modules/fmod (configure.ac): Likewise.
35643         * modules/hypot (configure.ac): Likewise.
35644         * modules/j0 (configure.ac): Likewise.
35645         * modules/j1 (configure.ac): Likewise.
35646         * modules/jn (configure.ac): Likewise.
35647         * modules/ldexp (configure.ac): Likewise.
35648         * modules/lgamma (configure.ac): Likewise.
35649         * modules/log (configure.ac): Likewise.
35650         * modules/log10 (configure.ac): Likewise.
35651         * modules/log1p (configure.ac): Likewise.
35652         * modules/logb (configure.ac): Likewise.
35653         * modules/modf (configure.ac): Likewise.
35654         * modules/nextafter (configure.ac): Likewise.
35655         * modules/pow (configure.ac): Likewise.
35656         * modules/remainder (configure.ac): Likewise.
35657         * modules/rint (configure.ac): Likewise.
35658         * modules/sin (configure.ac): Likewise.
35659         * modules/sinh (configure.ac): Likewise.
35660         * modules/tan (configure.ac): Likewise.
35661         * modules/tanh (configure.ac): Likewise.
35662         * modules/y0 (configure.ac): Likewise.
35663         * modules/y1 (configure.ac): Likewise.
35664         * modules/yn (configure.ac): Likewise.
35665
35666 2010-01-24  Bruno Haible  <bruno@clisp.org>
35667
35668         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
35669         * tests/test-acosl.c (x): New variable.
35670         (main): Store argument in x and fetch it from x.
35671         * tests/test-asinl.c (x): New variable.
35672         (main): Store argument in x and fetch it from x.
35673         * tests/test-atanl.c (x): New variable.
35674         (main): Store argument in x and fetch it from x.
35675         * tests/test-cosl.c (x): New variable.
35676         (main): Store argument in x and fetch it from x.
35677         * tests/test-expl.c (x): New variable.
35678         (main): Store argument in x and fetch it from x.
35679         * tests/test-logl.c (x): New variable.
35680         (main): Store argument in x and fetch it from x.
35681         * tests/test-sinl.c (x): New variable.
35682         (main): Store argument in x and fetch it from x.
35683         * tests/test-sqrtl.c (x): New variable.
35684         (main): Store argument in x and fetch it from x.
35685         * tests/test-tanl.c (x): New variable.
35686         (main): Store argument in x and fetch it from x.
35687
35688 2010-01-24  Bruno Haible  <bruno@clisp.org>
35689
35690         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
35691         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
35692         assignments to the initial TESTS_ENVIRONMENT.
35693         * doc/gnulib.texi (Unit test modules): Document it.
35694         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
35695         TESTS_ENVIRONMENT.
35696         * modules/btowc-tests (Makefile.am): Likewise.
35697         * modules/c-stack-tests (Makefile.am): Likewise.
35698         * modules/c-strcase-tests (Makefile.am): Likewise.
35699         * modules/copy-file-tests (Makefile.am): Likewise.
35700         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
35701         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
35702         * modules/mbrtowc-tests (Makefile.am): Likewise.
35703         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35704         * modules/mbscasestr-tests (Makefile.am): Likewise.
35705         * modules/mbschr-tests (Makefile.am): Likewise.
35706         * modules/mbscspn-tests (Makefile.am): Likewise.
35707         * modules/mbsinit-tests (Makefile.am): Likewise.
35708         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35709         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
35710         * modules/mbspbrk-tests (Makefile.am): Likewise.
35711         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35712         * modules/mbsrchr-tests (Makefile.am): Likewise.
35713         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
35714         * modules/mbsspn-tests (Makefile.am): Likewise.
35715         * modules/mbsstr-tests (Makefile.am): Likewise.
35716         * modules/nl_langinfo-tests (Makefile.am): Likewise.
35717         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
35718         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35719         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35720         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35721         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35722         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
35723         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35724         * modules/wcrtomb-tests (Makefile.am): Likewise.
35725         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
35726         * modules/wcsrtombs-tests (Makefile.am): Likewise.
35727         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
35728         assignments from TESTS_ENVIRONMENT.
35729         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
35730         augmentation.
35731         * modules/argp-version-etc-tests (Makefile.am): Likewise.
35732         * modules/atexit-tests (Makefile.am): Likewise.
35733         * modules/binary-io-tests (Makefile.am): Likewise.
35734         * modules/closein-tests (Makefile.am): Likewise.
35735         * modules/dprintf-posix-tests (Makefile.am): Likewise.
35736         * modules/exclude-tests (Makefile.am): Likewise.
35737         * modules/fflush-tests (Makefile.am): Likewise.
35738         * modules/fpending-tests (Makefile.am): Likewise.
35739         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35740         * modules/freadahead-tests (Makefile.am): Likewise.
35741         * modules/freadptr-tests (Makefile.am): Likewise.
35742         * modules/freadseek-tests (Makefile.am): Likewise.
35743         * modules/fseek-tests (Makefile.am): Likewise.
35744         * modules/fseeko-tests (Makefile.am): Likewise.
35745         * modules/ftell-tests (Makefile.am): Likewise.
35746         * modules/ftello-tests (Makefile.am): Likewise.
35747         * modules/idpriv-drop-tests (Makefile.am): Likewise.
35748         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
35749         * modules/lseek-tests (Makefile.am): Likewise.
35750         * modules/parse-duration-tests (Makefile.am): Likewise.
35751         * modules/perror-tests (Makefile.am): Likewise.
35752         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
35753         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
35754         * modules/pipe-tests (Makefile.am): Likewise.
35755         * modules/pread-tests (Makefile.am): Likewise.
35756         * modules/printf-posix-tests (Makefile.am): Likewise.
35757         * modules/select-tests (Makefile.am): Likewise.
35758         * modules/sigpipe-tests (Makefile.am): Likewise.
35759         * modules/tsearch-tests (Makefile.am): Likewise.
35760         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
35761         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
35762         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35763         * modules/uniwidth/width-tests (Makefile.am): Likewise.
35764         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
35765         * modules/version-etc-tests (Makefile.am): Likewise.
35766         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35767         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35768         * modules/xalloc-die-tests (Makefile.am): Likewise.
35769         * modules/xprintf-posix-tests (Makefile.am): Likewise.
35770         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35771         * modules/xstrtol-tests (Makefile.am): Likewise.
35772         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35773         * modules/yesno-tests (Makefile.am): Likewise.
35774         Suggested by Jim Meyering.
35775
35776 2010-01-24  Bruno Haible  <bruno@clisp.org>
35777
35778         More documentation.
35779         * doc/gnulib.texi (Writing modules): New chapter.
35780         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
35781         the new chapter.
35782
35783 2010-01-24  Jim Meyering  <meyering@redhat.com>
35784
35785         maint.mk: do not prepend "./" after filtering
35786         * top/maint.mk (_prepend_srcdir_prefix): New variable
35787         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
35788         "./" when $(srcdir) is ".".
35789
35790         define STREQ(a,b) consistently, removing useless parentheses
35791         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
35792         since the only risk is that "a" or "b" contains an unparenthesized
35793         comma, but if either did that, STREQ would have 3 or more arguments.
35794         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
35795         * lib/fts.c (STREQ): Remove unnecessary parentheses.
35796         * lib/hash-triple.c (STREQ): Likewise.
35797         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
35798         * lib/getugroups.c (STREQ): Likewise.
35799
35800 2010-01-23  Jim Meyering  <meyering@redhat.com>
35801
35802         maint.mk: fix syntax-check in a non-srcdir build directory
35803         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
35804         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
35805
35806 2010-01-22  Jim Meyering  <meyering@redhat.com>
35807
35808         userspec: add unit tests
35809         * tests/test-userspec.c: New file.
35810         * modules/userspec-tests: Likewise.
35811
35812 2010-01-21  Jim Meyering  <meyering@redhat.com>
35813
35814         maint.mk: handle source file names containing "." robustly
35815         * top/maint.mk (_dot_escaped_srcdir): Define.
35816         (VC_LIST): Use it in LHS of sed substitution.
35817
35818 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
35819
35820         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
35821         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
35822         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
35823         from a non-srcdir build.
35824
35825 2010-01-20  Eric Blake  <ebb9@byu.net>
35826
35827         warn-on-use: use instead of link-warning
35828         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
35829         * modules/unistd (Depends-on, Makefile.am): Likewise.
35830         * modules/arpa_inet (Depends-on): Replace link-warning with
35831         warn-on-use.
35832         (Makefile.am): Update rules accordingly.
35833         * modules/ctype (Depends-on, Makefile.am): Likewise.
35834         * modules/dirent (Depends-on, Makefile.am): Likewise.
35835         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
35836         * modules/inttypes (Depends-on, Makefile.am): Likewise.
35837         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35838         * modules/locale (Depends-on, Makefile.am): Likewise.
35839         * modules/math (Depends-on, Makefile.am): Likewise.
35840         * modules/search (Depends-on, Makefile.am): Likewise.
35841         * modules/signal (Depends-on, Makefile.am): Likewise.
35842         * modules/spawn (Depends-on, Makefile.am): Likewise.
35843         * modules/stdlib (Depends-on, Makefile.am): Likewise.
35844         * modules/string (Depends-on, Makefile.am): Likewise.
35845         * modules/strings (Depends-on, Makefile.am): Likewise.
35846         * modules/sys_file (Depends-on, Makefile.am): Likewise.
35847         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
35848         * modules/sys_select (Depends-on, Makefile.am): Likewise.
35849         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
35850         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
35851         * modules/sys_times (Depends-on, Makefile.am): Likewise.
35852         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35853         * modules/wchar (Depends-on, Makefile.am): Likewise.
35854         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
35855         should be poisoned.
35856         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
35857         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
35858         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
35859         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35860         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35861         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35862         * m4/math_h.m4 (gl_MATH_H): Likewise.
35863         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35864         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35865         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35866         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35867         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35868         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35869         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
35870         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
35871         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
35872         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35873         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35874         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35875         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35876         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35877         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35878         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35879         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
35880         GL_LINK_WARNING.
35881         * lib/ctype.in.h: Likewise.
35882         * lib/dirent.in.h: Likewise.
35883         * lib/fcntl.in.h: Likewise.
35884         * lib/inttypes.in.h: Likewise.
35885         * lib/langinfo.in.h: Likewise.
35886         * lib/locale.in.h: Likewise.
35887         * lib/math.in.h: Likewise.
35888         * lib/search.in.h: Likewise.
35889         * lib/signal.in.h: Likewise.
35890         * lib/spawn.in.h: Likewise.
35891         * lib/stdio.in.h: Likewise.
35892         * lib/stdlib.in.h: Likewise.
35893         * lib/string.in.h: Likewise.
35894         * lib/strings.in.h: Likewise.
35895         * lib/sys_file.in.h: Likewise.
35896         * lib/sys_ioctl.in.h: Likewise.
35897         * lib/sys_select.in.h: Likewise.
35898         * lib/sys_socket.in.h: Likewise.
35899         * lib/sys_stat.in.h: Likewise.
35900         * lib/sys_times.in.h: Likewise.
35901         * lib/sys_utsname.in.h: Likewise.
35902         * lib/unistd.in.h: Likewise.
35903         * lib/wchar.in.h: Likewise.
35904
35905 2010-01-20  Bruno Haible  <bruno@clisp.org>
35906
35907         Avoid duplicate -lm.
35908         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
35909         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
35910         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
35911         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
35912         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
35913         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
35914         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
35915         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
35916         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
35917         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
35918         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
35919         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
35920         Reported by Paolo Bonzini.
35921
35922 2010-01-19  Bruno Haible  <bruno@clisp.org>
35923
35924         langinfo, nl_langinfo: Relicense under LGPLv2+.
35925         * modules/langinfo (License): Change to LGPLv2+.
35926         * modules/nl_langinfo (License): Likewise.
35927         Patch by David Lutterkort <lutter@redhat.com>.
35928
35929 2010-01-19  Bruno Haible  <bruno@clisp.org>
35930
35931         Avoid compilation error with cc on OSF/1 5.1.
35932         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
35933         statement, not before.
35934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35935
35936 2010-01-18  Bruno Haible  <bruno@clisp.org>
35937
35938         Avoid a link error due to the __printf__ symbol.
35939         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
35940         and 2.6.x.
35941         (__format__, __printf__): Remove definitions.
35942         * lib/argp-fmtstream.h: Likewise.
35943         * lib/argp.h: Likewise.
35944         * lib/error.h: Likewise.
35945         * lib/vasnprintf.h: Likewise.
35946         * lib/xprintf.h: Likewise.
35947         * lib/xvasprintf.h: Likewise.
35948         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35949
35950 2010-01-18  Bruno Haible  <bruno@clisp.org>
35951
35952         Tests for module 'tanl'.
35953         * modules/tanl-tests: New file.
35954         * tests/test-tanl.c: New file.
35955
35956         Tests for module 'sqrtl'.
35957         * modules/sqrtl-tests: New file.
35958         * tests/test-sqrtl.c: New file.
35959
35960         Tests for module 'sinl'.
35961         * modules/sinl-tests: New file.
35962         * tests/test-sinl.c: New file.
35963
35964         Tests for module 'logl'.
35965         * modules/logl-tests: New file.
35966         * tests/test-logl.c: New file.
35967
35968         Tests for module 'expl'.
35969         * modules/expl-tests: New file.
35970         * tests/test-expl.c: New file.
35971
35972         Tests for module 'cosl'.
35973         * modules/cosl-tests: New file.
35974         * tests/test-cosl.c: New file.
35975
35976         Tests for module 'atanl'.
35977         * modules/atanl-tests: New file.
35978         * tests/test-atanl.c: New file.
35979
35980         Tests for module 'asinl'.
35981         * modules/asinl-tests: New file.
35982         * tests/test-asinl.c: New file.
35983
35984         Tests for module 'acosl'.
35985         * modules/acosl-tests: New file.
35986         * tests/test-acosl.c: New file.
35987
35988         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35989         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35990         tanl): Use the standard gnulib idiom.
35991         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35992         * lib/sinl.c: Likewise.
35993         * lib/tanl.c: Don't include trigl.c.
35994         (kernel_tanl): Make static.
35995         * lib/sincosl.c: Include trigl.h first.
35996         * lib/trigl.c: Likewise.
35997         * m4/acosl.m4: New file.
35998         * m4/asinl.m4: New file.
35999         * m4/atanl.m4: New file.
36000         * m4/cosl.m4: New file.
36001         * m4/expl.m4: New file.
36002         * m4/logl.m4: New file.
36003         * m4/sinl.m4: New file.
36004         * m4/sqrtl.m4: New file.
36005         * m4/tanl.m4: New file.
36006         * m4/mathl.m4: Remove file.
36007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
36008         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
36009         Don't initialize GNULIB_MATHL.
36010         * modules/acosl: New file.
36011         * modules/asinl: New file.
36012         * modules/atanl: New file.
36013         * modules/cosl: New file.
36014         * modules/expl: New file.
36015         * modules/logl: New file.
36016         * modules/sinl: New file.
36017         * modules/sqrtl: New file.
36018         * modules/tanl: New file.
36019         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
36020         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
36021         substitute GNULIB_MATHL.
36022         * modules/mathl: Rewritten.
36023         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
36024         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
36025         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
36026         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
36027         * doc/posix-functions/expl.texi: Mention the 'expl' module.
36028         * doc/posix-functions/logl.texi: Mention the 'logl' module.
36029         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
36030         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
36031         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
36032
36033 2010-01-18  Bruno Haible  <bruno@clisp.org>
36034
36035         sqrt: Make gl_FUNC_SQRT requirable.
36036         * m4/sqrt.m4: New file.
36037         * modules/sqrt (Files): Add it.
36038         (configure.ac): Invoke gl_FUNC_SQRT.
36039
36040 2010-01-18  Bruno Haible  <bruno@clisp.org>
36041
36042         New modules for common <math.h> functions.
36043         * m4/mathfunc.m4: New file.
36044         * modules/acos: New file.
36045         * modules/asin: New file.
36046         * modules/atan: New file.
36047         * modules/atan2: New file.
36048         * modules/cbrt: New file.
36049         * modules/copysign: New file.
36050         * modules/cos: New file.
36051         * modules/cosh: New file.
36052         * modules/erf: New file.
36053         * modules/erfc: New file.
36054         * modules/exp: New file.
36055         * modules/fabs: New file.
36056         * modules/fmod: New file.
36057         * modules/hypot: New file.
36058         * modules/j0: New file.
36059         * modules/j1: New file.
36060         * modules/jn: New file.
36061         * modules/ldexp: New file.
36062         * modules/lgamma: New file.
36063         * modules/log: New file.
36064         * modules/log10: New file.
36065         * modules/log1p: New file.
36066         * modules/logb: New file.
36067         * modules/modf: New file.
36068         * modules/nextafter: New file.
36069         * modules/pow: New file.
36070         * modules/remainder: New file.
36071         * modules/rint: New file.
36072         * modules/sin: New file.
36073         * modules/sinh: New file.
36074         * modules/sqrt: New file.
36075         * modules/tan: New file.
36076         * modules/tanh: New file.
36077         * modules/y0: New file.
36078         * modules/y1: New file.
36079         * modules/yn: New file.
36080         * doc/posix-functions/acos.texi: Mention the 'acos' module.
36081         * doc/posix-functions/asin.texi: Mention the 'asin' module.
36082         * doc/posix-functions/atan.texi: Mention the 'atan' module.
36083         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
36084         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
36085         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
36086         * doc/posix-functions/cos.texi: Mention the 'cos' module.
36087         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
36088         * doc/posix-functions/erf.texi: Mention the 'erf' module.
36089         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
36090         * doc/posix-functions/exp.texi: Mention the 'exp' module.
36091         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
36092         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
36093         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
36094         * doc/posix-functions/j0.texi: Mention the 'j0' module.
36095         * doc/posix-functions/j1.texi: Mention the 'j1' module.
36096         * doc/posix-functions/jn.texi: Mention the 'jn' module.
36097         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
36098         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
36099         * doc/posix-functions/log.texi: Mention the 'log' module.
36100         * doc/posix-functions/log10.texi: Mention the 'log10' module.
36101         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
36102         * doc/posix-functions/logb.texi: Mention the 'logb' module.
36103         * doc/posix-functions/modf.texi: Mention the 'modf' module.
36104         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
36105         * doc/posix-functions/pow.texi: Mention the 'pow' module.
36106         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
36107         * doc/posix-functions/rint.texi: Mention the 'rint' module.
36108         * doc/posix-functions/sin.texi: Mention the 'sin' module.
36109         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
36110         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
36111         * doc/posix-functions/tan.texi: Mention the 'tan' module.
36112         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
36113         * doc/posix-functions/y0.texi: Mention the 'y0' module.
36114         * doc/posix-functions/y1.texi: Mention the 'y1' module.
36115         * doc/posix-functions/yn.texi: Mention the 'yn' module.
36116
36117 2010-01-18  Jim Meyering  <meyering@redhat.com>
36118
36119         ignore-value: relax license to LGPLv2+
36120         * modules/ignore-value (License): Relax to LGPLv2+.
36121
36122         getdate: don't leak when TZ contains two or more '"'s
36123         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
36124         double quote in TZ after the first one.
36125
36126         readtokens: do not leak internal token_lengths buffer
36127         * lib/readtokens.c (readtokens): Free the local, lengths,
36128         when the supplied "token_lengths" parameter is NULL.
36129
36130 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36131
36132         Fix a couple of missing LIBTHREAD link failures on AIX.
36133         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
36134         $(LIBTHREAD).
36135         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
36136
36137         Link test-poll against INET_PTON_LIB.
36138         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
36139         for inet_pton on Solaris 10.
36140
36141 2010-01-17  Bruno Haible  <bruno@clisp.org>
36142
36143         unistdio/*-sprintf: Fix typo in module description.
36144         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
36145         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
36146         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
36147         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
36148         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
36149         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
36150         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
36151         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36152
36153 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36154
36155         gnulib-tool: fix filelist for AIX, HP-UX ksh.
36156         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
36157         variables in shell case patterns, for AIX and HP-UX ksh.
36158
36159         Split large sed scripts, for HP-UX sed.
36160         * modules/stdio: Split sed scripts around 50 sed commands,
36161         to avoid HP-UX limit of 99 commands, in the near future.
36162         * modules/string: Likewise.
36163         * modules/unistd: Likewise.
36164
36165         gnulib-tool: avoid writing in the current directory.
36166         * gnulib-tool (func_emit_lib_Makefile_am)
36167         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
36168         not in the current directory, so concurrent gnulib-tool
36169         instances do not interfere.
36170
36171 2010-01-16  Jim Meyering  <meyering@redhat.com>
36172
36173         doc: update users.txt
36174         * users.txt: Add grep.
36175         (diffutils, gzip): Update URLs.
36176
36177 2010-01-12  Bruno Haible  <bruno@clisp.org>
36178
36179         posix_spawn: Avoid test failure on Cygwin.
36180         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
36181         characters.
36182         Reported by Simon Josefsson.
36183
36184 2010-01-12  Bruno Haible  <bruno@clisp.org>
36185
36186         * tests/test-cond.c (main): When skipping the test, show the reason.
36187
36188 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36189
36190         * lib/striconv.c (str_cd_iconv): Avoid if before free.
36191
36192 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36193
36194         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
36195         VC_LIST_ALWAYS_EXCLUDE_REGEX.
36196
36197 2010-01-12  Eric Blake  <ebb9@byu.net>
36198
36199         build: guarantee AS_VAR_IF
36200         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
36201         (gl_AS_VAR_IF): Move...
36202         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
36203         Reported by Simon Josefsson.
36204
36205 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36206
36207         * lib/stdio.in.h: Fix typo.
36208
36209 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36210
36211         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
36212         libgpg-error.
36213
36214 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36215
36216         * tests/test-xalloc-die.sh: Use $EXEEXT.
36217
36218 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36219             Bruno Haible  <bruno@clisp.org>
36220
36221         getlogin, getlogin_r: Avoid test failure.
36222         * tests/test-getlogin.c: Include <stdio.h>.
36223         (main): Skip the test when the function fails because stdin is not a
36224         tty.
36225         * tests/test-getlogin_r.c: Include <stdio.h>.
36226         (main): Skip the test when the function fails because stdin is not a
36227         tty.
36228
36229 2010-01-11  Eric Blake  <ebb9@byu.net>
36230
36231         tests: avoid more large file warnings
36232         * tests/test-fflush.c: Avoid warning about ftell use.
36233         * tests/test-fseek.c: Avoid warning about fseek use.
36234
36235 2010-01-10  Bruno Haible  <bruno@clisp.org>
36236
36237         nproc: Work better on Linux when /proc and /sys are not mounted.
36238         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
36239         as lower bound when, on glibc/Linux systems,
36240         sysconf (_SC_NPROCESSORS_CONF) returns 1.
36241         Suggested by Pádraig Brady <P@draigbrady.com>.
36242         Reported by Dmitry V. Levin <ldv@altlinux.org>.
36243
36244         nproc: Refactor.
36245         * lib/nproc.c (num_processors_via_affinity_mask): New function,
36246         extracted from num_processors.
36247         (num_processors): Call it.
36248
36249 2010-01-11  Jim Meyering  <meyering@redhat.com>
36250
36251         utimecmp: avoid new warning from upcoming gcc-4.5.0
36252         * lib/utimecmp.c (BILLION): Define using #define rather than an
36253         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
36254
36255 2010-01-11  Eric Blake  <ebb9@byu.net>
36256
36257         math: add portability warnings for classification macros
36258         * modules/math (Depends-on): Add warn-on-use.
36259         (Makefile.am): Provide new substitutions.
36260         * m4/math_h.m4 (gl_MATH_H): Require inline.
36261         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
36262         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
36263         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
36264         implement warnings.
36265
36266         unistd: warn on use of environ without module
36267         * modules/unistd (Depends-on): Add warn-on-use.
36268         (Makefile.am): Provide new substitutions.
36269         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
36270         * lib/unistd.in.h (environ): Wrap with a warning helper function.
36271
36272         stdio: warn on suspicious uses
36273         * modules/stdio (Depends-on): Add warn-on-use.
36274         (Makefile.am): Provide new substitutions.
36275         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
36276         fseeko.
36277         * lib/stdio.in.h (gets): Always warn on use.
36278         (fseek, ftell): Adjust when warnings are issued, and honor
36279         _GL_NO_LARGE_FILES as a way to silence the warning.
36280         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
36281         any warning about large file offsets.
36282         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
36283         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
36284         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
36285         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
36286         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
36287         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
36288         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
36289         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
36290
36291         warn-on-use: new module
36292         * modules/warn-on-use: New file.
36293         * build-aux/warn-on-use.h: Likewise.
36294         * m4/warn-on-use.m4: Likewise.
36295         * MODULES.html.sh (Support for building): Mention it.
36296
36297 2010-01-10  Bruno Haible  <bruno@clisp.org>
36298
36299         Tests for module 'unistr/u32-strdup'.
36300         * modules/unistr/u32-strdup-tests: New file.
36301         * tests/unistr/test-u32-strdup.c: New file.
36302
36303         Tests for module 'unistr/u16-strdup'.
36304         * modules/unistr/u16-strdup-tests: New file.
36305         * tests/unistr/test-u16-strdup.c: New file.
36306
36307         Tests for module 'unistr/u8-strdup'.
36308         * modules/unistr/u8-strdup-tests: New file.
36309         * tests/unistr/test-u8-strdup.c: New file.
36310         * tests/unistr/test-strdup.h: New file.
36311
36312         Tests for module 'unistr/u32-strncmp'.
36313         * modules/unistr/u32-strncmp-tests: New file.
36314         * tests/unistr/test-u32-strncmp.c: New file.
36315
36316         Tests for module 'unistr/u16-strncmp'.
36317         * modules/unistr/u16-strncmp-tests: New file.
36318         * tests/unistr/test-u16-strncmp.c: New file.
36319
36320         Tests for module 'unistr/u8-strncmp'.
36321         * modules/unistr/u8-strncmp-tests: New file.
36322         * tests/unistr/test-u8-strncmp.c: New file.
36323         * tests/unistr/test-strncmp.h: New file.
36324
36325         Tests for module 'unistr/u32-strcoll'.
36326         * modules/unistr/u32-strcoll-tests: New file.
36327         * tests/unistr/test-u32-strcoll.c: New file.
36328
36329         Tests for module 'unistr/u16-strcoll'.
36330         * modules/unistr/u16-strcoll-tests: New file.
36331         * tests/unistr/test-u16-strcoll.c: New file.
36332
36333         Tests for module 'unistr/u8-strcoll'.
36334         * modules/unistr/u8-strcoll-tests: New file.
36335         * tests/unistr/test-u8-strcoll.c: New file.
36336
36337         Tests for module 'unistr/u32-strcmp'.
36338         * modules/unistr/u32-strcmp-tests: New file.
36339         * tests/unistr/test-u32-strcmp.c: New file.
36340         * tests/unistr/test-u32-strcmp.h: New file.
36341
36342         Tests for module 'unistr/u16-strcmp'.
36343         * modules/unistr/u16-strcmp-tests: New file.
36344         * tests/unistr/test-u16-strcmp.c: New file.
36345         * tests/unistr/test-u16-strcmp.h: New file.
36346
36347         Tests for module 'unistr/u8-strcmp'.
36348         * modules/unistr/u8-strcmp-tests: New file.
36349         * tests/unistr/test-u8-strcmp.c: New file.
36350         * tests/unistr/test-u8-strcmp.h: New file.
36351         * tests/unistr/test-strcmp.h: New file.
36352
36353         Tests for module 'unistr/u32-strncat'.
36354         * modules/unistr/u32-strncat-tests: New file.
36355         * tests/unistr/test-u32-strncat.c: New file.
36356
36357         Tests for module 'unistr/u16-strncat'.
36358         * modules/unistr/u16-strncat-tests: New file.
36359         * tests/unistr/test-u16-strncat.c: New file.
36360
36361         Tests for module 'unistr/u8-strncat'.
36362         * modules/unistr/u8-strncat-tests: New file.
36363         * tests/unistr/test-u8-strncat.c: New file.
36364         * tests/unistr/test-strncat.h: New file.
36365
36366         Tests for module 'unistr/u32-strcat'.
36367         * modules/unistr/u32-strcat-tests: New file.
36368         * tests/unistr/test-u32-strcat.c: New file.
36369
36370         Tests for module 'unistr/u16-strcat'.
36371         * modules/unistr/u16-strcat-tests: New file.
36372         * tests/unistr/test-u16-strcat.c: New file.
36373
36374         Tests for module 'unistr/u8-strcat'.
36375         * modules/unistr/u8-strcat-tests: New file.
36376         * tests/unistr/test-u8-strcat.c: New file.
36377         * tests/unistr/test-strcat.h: New file.
36378
36379         Tests for module 'unistr/u32-stpncpy'.
36380         * modules/unistr/u32-stpncpy-tests: New file.
36381         * tests/unistr/test-u32-stpncpy.c: New file.
36382
36383         Tests for module 'unistr/u16-stpncpy'.
36384         * modules/unistr/u16-stpncpy-tests: New file.
36385         * tests/unistr/test-u16-stpncpy.c: New file.
36386
36387         Tests for module 'unistr/u8-stpncpy'.
36388         * modules/unistr/u8-stpncpy-tests: New file.
36389         * tests/unistr/test-u8-stpncpy.c: New file.
36390         * tests/unistr/test-stpncpy.h: New file.
36391
36392         Tests for module 'unistr/u32-strncpy'.
36393         * modules/unistr/u32-strncpy-tests: New file.
36394         * tests/unistr/test-u32-strncpy.c: New file.
36395
36396         Tests for module 'unistr/u16-strncpy'.
36397         * modules/unistr/u16-strncpy-tests: New file.
36398         * tests/unistr/test-u16-strncpy.c: New file.
36399
36400         Tests for module 'unistr/u8-strncpy'.
36401         * modules/unistr/u8-strncpy-tests: New file.
36402         * tests/unistr/test-u8-strncpy.c: New file.
36403         * tests/unistr/test-strncpy.h: New file.
36404
36405         Tests for module 'unistr/u32-stpcpy'.
36406         * modules/unistr/u32-stpcpy-tests: New file.
36407         * tests/unistr/test-u32-stpcpy.c: New file.
36408
36409         Tests for module 'unistr/u16-stpcpy'.
36410         * modules/unistr/u16-stpcpy-tests: New file.
36411         * tests/unistr/test-u16-stpcpy.c: New file.
36412
36413         Tests for module 'unistr/u8-stpcpy'.
36414         * modules/unistr/u8-stpcpy-tests: New file.
36415         * tests/unistr/test-u8-stpcpy.c: New file.
36416         * tests/unistr/test-stpcpy.h: New file.
36417
36418         Tests for module 'unistr/u32-strcpy'.
36419         * modules/unistr/u32-strcpy-tests: New file.
36420         * tests/unistr/test-u32-strcpy.c: New file.
36421
36422         Tests for module 'unistr/u16-strcpy'.
36423         * modules/unistr/u16-strcpy-tests: New file.
36424         * tests/unistr/test-u16-strcpy.c: New file.
36425
36426         Tests for module 'unistr/u8-strcpy'.
36427         * modules/unistr/u8-strcpy-tests: New file.
36428         * tests/unistr/test-u8-strcpy.c: New file.
36429         * tests/unistr/test-strcpy.h: New file.
36430
36431         Tests for module 'unistr/u32-strnlen'.
36432         * modules/unistr/u32-strnlen-tests: New file.
36433         * tests/unistr/test-u32-strnlen.c: New file.
36434
36435         Tests for module 'unistr/u16-strnlen'.
36436         * modules/unistr/u16-strnlen-tests: New file.
36437         * tests/unistr/test-u16-strnlen.c: New file.
36438
36439         Tests for module 'unistr/u8-strnlen'.
36440         * modules/unistr/u8-strnlen-tests: New file.
36441         * tests/unistr/test-u8-strnlen.c: New file.
36442         * tests/unistr/test-strnlen.h: New file.
36443
36444         Tests for module 'unistr/u32-strlen'.
36445         * modules/unistr/u32-strlen-tests: New file.
36446         * tests/unistr/test-u32-strlen.c: New file.
36447
36448         Tests for module 'unistr/u16-strlen'.
36449         * modules/unistr/u16-strlen-tests: New file.
36450         * tests/unistr/test-u16-strlen.c: New file.
36451
36452         Tests for module 'unistr/u8-strlen'.
36453         * modules/unistr/u8-strlen-tests: New file.
36454         * tests/unistr/test-u8-strlen.c: New file.
36455
36456         Tests for module 'unistr/u32-prev'.
36457         * modules/unistr/u32-prev-tests: New file.
36458         * tests/unistr/test-u32-prev.c: New file.
36459
36460         Tests for module 'unistr/u16-prev'.
36461         * modules/unistr/u16-prev-tests: New file.
36462         * tests/unistr/test-u16-prev.c: New file.
36463
36464         Tests for module 'unistr/u8-prev'.
36465         * modules/unistr/u8-prev-tests: New file.
36466         * tests/unistr/test-u8-prev.c: New file.
36467
36468         Tests for module 'unistr/u32-next'.
36469         * modules/unistr/u32-next-tests: New file.
36470         * tests/unistr/test-u32-next.c: New file.
36471
36472         Tests for module 'unistr/u16-next'.
36473         * modules/unistr/u16-next-tests: New file.
36474         * tests/unistr/test-u16-next.c: New file.
36475
36476         Tests for module 'unistr/u8-next'.
36477         * modules/unistr/u8-next-tests: New file.
36478         * tests/unistr/test-u8-next.c: New file.
36479
36480         Tests for module 'unistr/u32-strmbtouc'.
36481         * modules/unistr/u32-strmbtouc-tests: New file.
36482         * tests/unistr/test-u32-strmbtouc.c: New file.
36483
36484         Tests for module 'unistr/u16-strmbtouc'.
36485         * modules/unistr/u16-strmbtouc-tests: New file.
36486         * tests/unistr/test-u16-strmbtouc.c: New file.
36487
36488         Tests for module 'unistr/u8-strmbtouc'.
36489         * modules/unistr/u8-strmbtouc-tests: New file.
36490         * tests/unistr/test-u8-strmbtouc.c: New file.
36491
36492         Tests for module 'unistr/u32-strmblen'.
36493         * modules/unistr/u32-strmblen-tests: New file.
36494         * tests/unistr/test-u32-strmblen.c: New file.
36495
36496         Tests for module 'unistr/u16-strmblen'.
36497         * modules/unistr/u16-strmblen-tests: New file.
36498         * tests/unistr/test-u16-strmblen.c: New file.
36499
36500         Tests for module 'unistr/u8-strmblen'.
36501         * modules/unistr/u8-strmblen-tests: New file.
36502         * tests/unistr/test-u8-strmblen.c: New file.
36503
36504         Tests for module 'unistr/u32-cpy-alloc'.
36505         * modules/unistr/u32-cpy-alloc-tests: New file.
36506         * tests/unistr/test-u32-cpy-alloc.c: New file.
36507
36508         Tests for module 'unistr/u16-cpy-alloc'.
36509         * modules/unistr/u16-cpy-alloc-tests: New file.
36510         * tests/unistr/test-u16-cpy-alloc.c: New file.
36511
36512         Tests for module 'unistr/u8-cpy-alloc'.
36513         * modules/unistr/u8-cpy-alloc-tests: New file.
36514         * tests/unistr/test-u8-cpy-alloc.c: New file.
36515         * tests/unistr/test-cpy-alloc.h: New file.
36516
36517         Tests for module 'unistr/u32-mbsnlen'.
36518         * modules/unistr/u32-mbsnlen-tests: New file.
36519         * tests/unistr/test-u32-mbsnlen.c: New file.
36520
36521         Tests for module 'unistr/u16-mbsnlen'.
36522         * modules/unistr/u16-mbsnlen-tests: New file.
36523         * tests/unistr/test-u16-mbsnlen.c: New file.
36524
36525         Tests for module 'unistr/u8-mbsnlen'.
36526         * modules/unistr/u8-mbsnlen-tests: New file.
36527         * tests/unistr/test-u8-mbsnlen.c: New file.
36528
36529         Tests for module 'unistr/u32-chr'.
36530         * modules/unistr/u32-chr-tests: New file.
36531         * tests/unistr/test-u32-chr.c: New file.
36532
36533         Tests for module 'unistr/u16-chr'.
36534         * modules/unistr/u16-chr-tests: New file.
36535         * tests/unistr/test-u16-chr.c: New file.
36536
36537         Tests for module 'unistr/u8-chr'.
36538         * modules/unistr/u8-chr-tests: New file.
36539         * tests/unistr/test-u8-chr.c: New file.
36540         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
36541
36542         Tests for module 'unistr/u32-cmp2'.
36543         * modules/unistr/u32-cmp2-tests: New file.
36544         * tests/unistr/test-u32-cmp2.c: New file.
36545
36546         Tests for module 'unistr/u16-cmp2'.
36547         * modules/unistr/u16-cmp2-tests: New file.
36548         * tests/unistr/test-u16-cmp2.c: New file.
36549
36550         Tests for module 'unistr/u8-cmp2'.
36551         * modules/unistr/u8-cmp2-tests: New file.
36552         * tests/unistr/test-u8-cmp2.c: New file.
36553         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
36554
36555         Tests for module 'unistr/u32-cmp'.
36556         * modules/unistr/u32-cmp-tests: New file.
36557         * tests/unistr/test-u32-cmp.c: New file.
36558
36559         Tests for module 'unistr/u16-cmp'.
36560         * modules/unistr/u16-cmp-tests: New file.
36561         * tests/unistr/test-u16-cmp.c: New file.
36562
36563         Tests for module 'unistr/u8-cmp'.
36564         * modules/unistr/u8-cmp-tests: New file.
36565         * tests/unistr/test-u8-cmp.c: New file.
36566         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
36567
36568         Tests for module 'unistr/u32-set'.
36569         * modules/unistr/u32-set-tests: New file.
36570         * tests/unistr/test-u32-set.c: New file.
36571
36572         Tests for module 'unistr/u16-set'.
36573         * modules/unistr/u16-set-tests: New file.
36574         * tests/unistr/test-u16-set.c: New file.
36575
36576         Tests for module 'unistr/u8-set'.
36577         * modules/unistr/u8-set-tests: New file.
36578         * tests/unistr/test-u8-set.c: New file.
36579         * tests/unistr/test-set.h: New file.
36580
36581         Tests for module 'unistr/u32-move'.
36582         * modules/unistr/u32-move-tests: New file.
36583         * tests/unistr/test-u32-move.c: New file.
36584
36585         Tests for module 'unistr/u16-move'.
36586         * modules/unistr/u16-move-tests: New file.
36587         * tests/unistr/test-u16-move.c: New file.
36588
36589         Tests for module 'unistr/u8-move'.
36590         * modules/unistr/u8-move-tests: New file.
36591         * tests/unistr/test-u8-move.c: New file.
36592         * tests/unistr/test-move.h: New file.
36593
36594         Tests for module 'unistr/u32-cpy'.
36595         * modules/unistr/u32-cpy-tests: New file.
36596         * tests/unistr/test-u32-cpy.c: New file.
36597
36598         Tests for module 'unistr/u16-cpy'.
36599         * modules/unistr/u16-cpy-tests: New file.
36600         * tests/unistr/test-u16-cpy.c: New file.
36601
36602         Tests for module 'unistr/u8-cpy'.
36603         * modules/unistr/u8-cpy-tests: New file.
36604         * tests/unistr/test-u8-cpy.c: New file.
36605         * tests/unistr/test-cpy.h: New file.
36606
36607 2010-01-09  Bruno Haible  <bruno@clisp.org>
36608
36609         Tests for module 'unistr/u32-uctomb'.
36610         * modules/unistr/u32-uctomb-tests: New file.
36611         * tests/unistr/test-u32-uctomb.c: New file.
36612
36613         Tests for module 'unistr/u16-uctomb'.
36614         * modules/unistr/u16-uctomb-tests: New file.
36615         * tests/unistr/test-u16-uctomb.c: New file.
36616
36617         Tests for module 'unistr/u8-uctomb'.
36618         * modules/unistr/u8-uctomb-tests: New file.
36619         * tests/unistr/test-u8-uctomb.c: New file.
36620
36621         Tests for module 'unistr/u32-mbtoucr'.
36622         * modules/unistr/u32-mbtoucr-tests: New file.
36623         * tests/unistr/test-u32-mbtoucr.c: New file.
36624
36625         Tests for module 'unistr/u16-mbtoucr'.
36626         * modules/unistr/u16-mbtoucr-tests: New file.
36627         * tests/unistr/test-u16-mbtoucr.c: New file.
36628
36629         Tests for module 'unistr/u8-mbtoucr'.
36630         * modules/unistr/u8-mbtoucr-tests: New file.
36631         * tests/unistr/test-u8-mbtoucr.c: New file.
36632
36633         Tests for module 'unistr/u32-mbtouc'.
36634         * modules/unistr/u32-mbtouc-tests: New file.
36635         * tests/unistr/test-u32-mbtouc.c: New file.
36636
36637         Tests for module 'unistr/u16-mbtouc'.
36638         * modules/unistr/u16-mbtouc-tests: New file.
36639         * tests/unistr/test-u16-mbtouc.c: New file.
36640
36641         Tests for module 'unistr/u8-mbtouc'.
36642         * modules/unistr/u8-mbtouc-tests: New file.
36643         * tests/unistr/test-u8-mbtouc.c: New file.
36644
36645         Tests for module 'unistr/u32-mbtouc-unsafe'.
36646         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
36647         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
36648         * tests/unistr/test-u32-mbtouc.h: New file.
36649
36650         Tests for module 'unistr/u16-mbtouc-unsafe'.
36651         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
36652         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
36653         * tests/unistr/test-u16-mbtouc.h: New file.
36654
36655         Tests for module 'unistr/u8-mbtouc-unsafe'.
36656         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
36657         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
36658         * tests/unistr/test-u8-mbtouc.h: New file.
36659
36660         Tests for module 'unistr/u32-mblen'.
36661         * modules/unistr/u32-mblen-tests: New file.
36662         * tests/unistr/test-u32-mblen.c: New file.
36663
36664         Tests for module 'unistr/u16-mblen'.
36665         * modules/unistr/u16-mblen-tests: New file.
36666         * tests/unistr/test-u16-mblen.c: New file.
36667
36668         Tests for module 'unistr/u8-mblen'.
36669         * modules/unistr/u8-mblen-tests: New file.
36670         * tests/unistr/test-u8-mblen.c: New file.
36671
36672         Tests for module 'unistr/u32-to-u16'.
36673         * modules/unistr/u32-to-u16-tests: New file.
36674         * tests/unistr/test-u32-to-u16.c: New file.
36675
36676         Tests for module 'unistr/u32-to-u8'.
36677         * modules/unistr/u32-to-u8-tests: New file.
36678         * tests/unistr/test-u32-to-u8.c: New file.
36679
36680         Tests for module 'unistr/u16-to-u32'.
36681         * modules/unistr/u16-to-u32-tests: New file.
36682         * tests/unistr/test-u16-to-u32.c: New file.
36683
36684         Tests for module 'unistr/u16-to-u8'.
36685         * modules/unistr/u16-to-u8-tests: New file.
36686         * tests/unistr/test-u16-to-u8.c: New file.
36687
36688         Tests for module 'unistr/u8-to-u32'.
36689         * modules/unistr/u8-to-u32-tests: New file.
36690         * tests/unistr/test-u8-to-u32.c: New file.
36691
36692         Tests for module 'unistr/u8-to-u16'.
36693         * modules/unistr/u8-to-u16-tests: New file.
36694         * tests/unistr/test-u8-to-u16.c: New file.
36695
36696         Tests for module 'unistr/u32-check'.
36697         * modules/unistr/u32-check-tests: New file.
36698         * tests/unistr/test-u32-check.c: New file.
36699
36700         Tests for module 'unistr/u16-check'.
36701         * modules/unistr/u16-check-tests: New file.
36702         * tests/unistr/test-u16-check.c: New file.
36703
36704         Tests for module 'unistr/u8-check'.
36705         * modules/unistr/u8-check-tests: New file.
36706         * tests/unistr/test-u8-check.c: New file.
36707
36708         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
36709         (category_equals): New function.
36710         (main): Add more tests.
36711         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
36712
36713         * tests/unictype/test-bidi_byname.c (main): Add more tests.
36714
36715 2010-01-10  Bruno Haible  <bruno@clisp.org>
36716
36717         unistr/u*-strcoll: Try harder to distinguish different strings.
36718         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
36719         compare s1 and s2 to see if they are different.
36720
36721 2010-01-10  Bruno Haible  <bruno@clisp.org>
36722
36723         unistr/u*-stpncpy: Fix the return value.
36724         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
36725         description of the return value consistent with stpncpy in glibc.
36726         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
36727         written non-NUL unit.
36728
36729 2010-01-10  Bruno Haible  <bruno@clisp.org>
36730
36731         unistr/u*-next: Add missing dependencies.
36732         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
36733         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
36734         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
36735
36736 2010-01-10  Bruno Haible  <bruno@clisp.org>
36737
36738         unistr/u8-mbsnlen: Fix return value for incomplete character.
36739         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
36740         u8_mblen.
36741         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
36742         Remove unistr/u8-mblen.
36743         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
36744         u16_mblen.
36745         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
36746         Remove unistr/u16-mblen.
36747
36748 2010-01-10  Bruno Haible  <bruno@clisp.org>
36749
36750         wchar: Fix compilation error when <wchar.h> is used from coreutils.
36751         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
36752         Reported by Brian Gough <bjg@gnu.org> and
36753         Chris Clayton <chris2553@googlemail.com> via
36754         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
36755
36756 2010-01-09  Bruno Haible  <bruno@clisp.org>
36757
36758         unistr/u16-to-u32: Reject invalid input.
36759         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
36760         u16_mbtouc.
36761         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
36762         Remove unistr/u16-mbtouc.
36763
36764         unistr/u16-to-u8: Reject invalid input.
36765         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
36766         u16_mbtouc.
36767         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
36768         Remove unistr/u16-mbtouc.
36769
36770         unistr/u8-to-u32: Reject invalid input.
36771         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
36772         u8_mbtouc.
36773         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
36774         Remove unistr/u8-mbtouc.
36775
36776         unistr/u8-to-u16: Reject invalid input.
36777         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
36778         u8_mbtouc.
36779         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
36780         Remove unistr/u8-mbtouc.
36781
36782 2010-01-09  Bruno Haible  <bruno@clisp.org>
36783
36784         Tests for module 'getlogin'.
36785         * modules/getlogin-tests: New file.
36786         * tests/test-getlogin.c: New file.
36787
36788         New module 'getlogin'.
36789         * lib/unistd.in.h (getlogin): New declaration.
36790         * lib/getlogin.c: New file.
36791         * m4/getlogin.m4: New file.
36792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
36793         HAVE_GETLOGIN.
36794         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
36795         HAVE_GETLOGIN.
36796         * modules/getlogin: New file.
36797         * doc/posix-functions/getlogin.texi: Mention the new module.
36798         Reported by John W. Eaton <jwe@gnu.org>.
36799
36800 2010-01-09  Bruno Haible  <bruno@clisp.org>
36801
36802         getlogin_r: Support for native Windows.
36803         * lib/getlogin_r.c: Include <windows.h>
36804         (getlogin_r): Implement for native Windows.
36805         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
36806         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
36807         via John W. Eaton <jwe@gnu.org>.
36808
36809 2010-01-09  Bruno Haible  <bruno@clisp.org>
36810
36811         getlogin_r: Small fixes.
36812         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
36813         succeeds.
36814         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
36815         before testing whether getlogin_r is declared. No need to set
36816         HAVE_DECL_GETLOGIN_R to 1.
36817         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
36818
36819 2010-01-09  Bruno Haible  <bruno@clisp.org>
36820
36821         * lib/unistd.in.h (getlogin_r): Add comment.
36822
36823 2010-01-09  Bruno Haible  <bruno@clisp.org>
36824
36825         Tests for module 'getlogin_r'.
36826         * modules/getlogin_r-tests: New file.
36827         * tests/test-getlogin_r.c: New file.
36828
36829 2010-01-09  Jim Meyering  <meyering@redhat.com>
36830
36831         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
36832         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
36833         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
36834
36835 2010-01-08  Simon Josefsson  <simon@josefsson.org>
36836
36837         * lib/dup2.c (rpl_dup2): Improve comment.
36838
36839 2010-01-08  Eric Blake  <ebb9@byu.net>
36840
36841         maint.mk: allow packages to add makefile @@ exceptions
36842         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
36843         (sc_makefile_check): Rename...
36844         (sc_makefile_at_at_check): ...to this, and use hook.
36845
36846         dup2: work around mingw bug
36847         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
36848         Reported by Simon Josefsson.
36849
36850 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
36851
36852         glob: Fix C++ compilation.
36853         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
36854         C++.
36855
36856 2010-01-07  Bruno Haible  <bruno@clisp.org>
36857
36858         Fix indentation of wctype.in.h, broken since 2007-01-06.
36859         * lib/wctype.in.h: Fix indentation of preprocessor directives.
36860
36861 2010-01-07  Bruno Haible  <bruno@clisp.org>
36862
36863         mbslen: Avoid collision with system function.
36864         * lib/string.in.h [MirBSD]: Include <wchar.h>.
36865         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
36866         * m4/mbslen.m4: New file.
36867         * modules/mbslen (Files): Add it.
36868         (configure.ac): Invoke gl_MBSLEN.
36869         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
36870         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
36871         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
36872         via Ian Beckwith <ianb@erislabs.net>.
36873
36874 2010-01-07  Bruno Haible  <bruno@clisp.org>
36875
36876         dirent: Document the last fix.
36877         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
36878
36879 2010-01-07  Bruno Haible  <bruno@clisp.org>
36880
36881         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
36882         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
36883         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
36884         va_list are defined.
36885         * doc/posix-headers/stdio.texi: Document the bug of missing types.
36886         Reported by Eric Blake.
36887
36888 2010-01-07  Bruno Haible  <bruno@clisp.org>
36889
36890         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
36891         * modules/xlist (Depends-on): Add 'list',
36892         * modules/xoset (Depends-on): Add 'oset'.
36893         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36894
36895 2010-01-07  Bruno Haible  <bruno@clisp.org>
36896
36897         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
36898         * doc/posix-functions/strncasecmp.texi: Likewise.
36899
36900 2010-01-07  Bruno Haible  <bruno@clisp.org>
36901
36902         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
36903
36904 2010-01-07  John W. Eaton  <jwe@octave.org>
36905
36906         wctype: allow C++ use
36907         * lib/wctype.in.h: Add extern "C" block for C++.
36908
36909 2010-01-06  Eric Blake  <ebb9@byu.net>
36910
36911         maint.mk: detect incorrect GFDL usage
36912         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
36913
36914 2010-01-06  Jim Meyering  <meyering@redhat.com>
36915         and Eric Blake  <ebb9@byu.net>
36916
36917         maint.mk: ignore multi-line copyright in NEWS
36918         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
36919
36920 2010-01-06  Eric Blake  <ebb9@byu.net>
36921
36922         select: add missing dependency
36923         * modules/select-tests (Depends-on): Move sockets dependency...
36924         * modules/select (Depends-on): ...here.
36925         Reported by Ian Beckwith.
36926
36927         doc: regenerate INSTALL
36928         * doc/INSTALL: Reflect recent autoconf update.
36929         * doc/INSTALL.ISO: Likewise.
36930         * doc/INSTALL.UTF-8: Likewise.
36931
36932         pread: fix compilation on glibc
36933         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
36934         Reported by Ralf Wildenhues.
36935
36936         dirent: fix test failure
36937         * lib/dirent.in.h (includes): Guarantee ino_t.
36938         Reported by Ralf Wildenhues.
36939
36940 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
36941
36942         linkat, renameat: avoid bad free
36943         * lib/at-func2.c (at_func2): Fix typo.
36944         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36945
36946 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36947
36948         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36949         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36950         to avoid failure of symlink test later.
36951
36952 2010-01-06  Eric Blake  <ebb9@byu.net>
36953
36954         stdio, unistd: guarantee ssize_t
36955         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36956         2008 are exposed when needed.
36957         * lib/stdio.in.h (includes): Likewise.
36958         Reported by Ralf Wildenhues.
36959
36960 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36961
36962         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36963         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36964         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36965
36966 2010-01-06  Jim Meyering  <meyering@redhat.com>
36967
36968         readtokens: this module *does* require xalloc.h
36969         It uses only functions that were omitted by the old syntax-check rule.
36970         * lib/readtokens.c: Include "xalloc.h" once again.
36971         * modules/readtokens (Depends-on): Add xalloc.
36972         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36973
36974 2010-01-05  Eric Blake  <ebb9@byu.net>
36975
36976         maint: support 'make announcement' from a VPATH build
36977         * top/maint.mk (announcement): Look for correct NEWS file.
36978
36979 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36980
36981         utimens (fdutimens): ignore a negative FD, per contract
36982         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36983         when we have a valid file descriptor.  Otherwise, using a brand
36984         new glibc (with just-patched futimens that now fails with EBADF)
36985         would cause this function to fail with ENOSYS.
36986         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36987         See also http://bugzilla.redhat.com/552320.
36988
36989 2010-01-05  Eric Blake  <ebb9@byu.net>
36990
36991         strcase: document what it provides
36992         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36993         gnulib module.
36994         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36995         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36996
36997 2010-01-05  Jim Meyering  <meyering@redhat.com>
36998
36999         maint: remove useless inclusions of "xalloc.h"
37000         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
37001         * lib/readtokens.c: Likewise.
37002         * lib/same.c: Likewise.
37003         * modules/getloadavg (Depends-on): Remove xalloc.
37004         * modules/readtokens: Likewise.
37005         * modules/same: Likewise.
37006
37007         maint.mk: include 4 more function names in alloca.h-checking regexp
37008         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
37009         regexp.  Before, we would give a false-positive (saying alloca.h
37010         is included unnecessarily) when the only uses involved omitted symbols.
37011
37012         xalloc.h: use consistent formatting
37013         * lib/xalloc.h: Move declarations to start in the first column.
37014
37015 2010-01-05  Eric Blake  <ebb9@byu.net>
37016
37017         mkdir: avoid xalloc
37018         * lib/mkdir.c (includes): Drop unused header.
37019         Reported by John W. Eaton.
37020
37021 2010-01-04  Jim Meyering  <meyering@redhat.com>
37022
37023         nl_langinfo: avoid configure-time syntax error
37024         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
37025         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
37026         the empty string.  Don't let that provoke a shell syntax error.
37027
37028         regcomp, regexec, fnmatch: avoid array bounds read error
37029         * lib/regcomp.c (build_equiv_class): From glibc:
37030         Use only the low 24 bits of a findidx return value as an index
37031         into the weights array.  Patch by Ulrich Drepper:
37032         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
37033         * lib/regexec.c (check_node_accept_bytes): Likewise.
37034         * lib/fnmatch_loop.c (FCT): Likewise.
37035
37036         regcomp: skip collseq lookup when there are no rules
37037         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
37038         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
37039
37040         regcomp: recognize ill-formed { } expressions
37041         * lib/regcomp.c (parse_dup_op): From glibc:
37042         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
37043
37044         regcomp: fix typo in comment
37045         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
37046         s/satisfy/satisfies/.
37047
37048         regcomp: sync from glibc: remove dead store
37049         * lib/regcomp.c (duplicate_node_closure): Remove useless
37050         search_duplicated_node call and dead store.
37051
37052         regcomp: sync from glibc; always use nl_langinfo
37053         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
37054         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
37055         * modules/regex (Depends-on): Add nl_langinfo.
37056
37057 2010-01-04  Eric Blake  <ebb9@byu.net>
37058
37059         fdopendir: fix configure test
37060         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
37061
37062 2010-01-01  Bruno Haible  <bruno@clisp.org>
37063
37064         wchar: Remove unused configure check.
37065         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
37066
37067 2010-01-01  Eric Blake  <ebb9@byu.net>
37068
37069         headers: make check of system header explicit
37070         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
37071         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
37072         ourselves.
37073         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37074         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37075         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37076         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
37077         internals.
37078         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
37079         missing.
37080         Suggested by Bruno Haible.
37081
37082 2010-01-01  Jim Meyering  <meyering@redhat.com>
37083
37084         ChangeLog: tweak to eliminate unnecessary copyright line
37085         * ChangeLog: Remove a copyright line that was mistakenly updated
37086         by today's update-copyright run.  Reported by Eric Blake.
37087
37088         test-update-copyright: don't let envvar setting cause test failure
37089         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37090
37091 2010-01-01  Bruno Haible  <bruno@clisp.org>
37092
37093         localename: Avoid gcc warning.
37094         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
37095         function if it is not used.
37096
37097 2010-01-01  Jim Meyering  <meyering@redhat.com>
37098
37099         update nearly all FSF copyright year lists to include 2010
37100         Use the same procedure as for 2009, outlined in
37101         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
37102
37103         version-etc: set COPYRIGHT_YEAR to 2010
37104         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
37105
37106 2009-12-31  Eric Blake  <ebb9@byu.net>
37107
37108         doc: correct availability of cygwin 1.5.x getopt
37109         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
37110         variables.
37111         * doc/posix-functions/opterr.texi (opterr): Likewise.
37112         * doc/posix-functions/optind.texi (optind): Likewise.
37113         * doc/posix-functions/optopt.texi (optopt): Likewise.
37114         * doc/posix-functions/tzname.texi (tzname): Likewise.
37115
37116         openat: update maintainer
37117         * modules/openat (Maintainer): Add myself.
37118
37119         utimens: avoid shadowing warning
37120         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
37121         buffers into one, to avoid shadowing, as well as avoiding a
37122         redundant stat.
37123         Reported by Jim Meyering.
37124
37125         test-dup2: avoid compiler warning
37126         * tests/test-dup2.c (is_inheritable): Only define if used.
37127
37128 2010-01-01  Bruno Haible  <bruno@clisp.org>
37129
37130         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
37131         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
37132         defined, use wctomb instead of wcrtomb.
37133
37134 2010-01-01  Bruno Haible  <bruno@clisp.org>
37135
37136         iconv: Reject native Solaris iconv.
37137         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
37138         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
37139
37140 2009-12-31  Bruno Haible  <bruno@clisp.org>
37141
37142         * tests/test-signal.c (main): Remove test of 'SIG'.
37143
37144 2009-12-31  Bruno Haible  <bruno@clisp.org>
37145
37146         spawn: Fix incomplete fix.
37147         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
37148         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
37149         warnings for GNULIB_POSIXCHECK again.
37150         Reported by Eric Blake.
37151
37152 2009-12-31  Bruno Haible  <bruno@clisp.org>
37153
37154         Avoid namespace pollution on glibc systems.
37155         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
37156         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
37157         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
37158         glibc systems.
37159
37160 2009-12-31  Bruno Haible  <bruno@clisp.org>
37161
37162         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
37163         (gl_REPLACE_WCHAR_H): Turn into a no-op.
37164         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
37165         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
37166         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
37167         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
37168         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
37169
37170 2009-12-31  Bruno Haible  <bruno@clisp.org>
37171
37172         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
37173         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
37174         afterwards.
37175
37176 2009-12-31  Bruno Haible  <bruno@clisp.org>
37177
37178         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
37179         SYS_UTSNAME_H.
37180
37181 2009-12-31  Bruno Haible  <bruno@clisp.org>
37182
37183         spawn: Fix misapplied patch.
37184         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
37185         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
37186         warnings for GNULIB_POSIXCHECK.
37187
37188 2009-12-31  Bruno Haible  <bruno@clisp.org>
37189
37190         times: Update after sys_times changed.
37191         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
37192         * modules/times (Files): Add it.
37193         (configure.ac): Invoke gl_FUNC_TIMES.
37194
37195 2009-12-31  Bruno Haible  <bruno@clisp.org>
37196
37197         Use AC_C_INLINE where necessary.
37198         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
37199         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37200         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
37201         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
37202         * m4/mbfile.m4 (gl_MBFILE): Likewise.
37203         * m4/mbiter.m4 (gl_MBITER): Likewise.
37204         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37205         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37206         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
37207         * modules/u64 (configure.ac): Likewise.
37208
37209 2009-12-31  Bruno Haible  <bruno@clisp.org>
37210
37211         Use AC_C_INLINE instead of module 'inline' where possible.
37212         * modules/inline (Description): Clarify purpose.
37213         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
37214         * modules/count-one-bits (Depends-on): Remove inline.
37215         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
37216         * modules/openat (Depends-on): Remove inline.
37217         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
37218         instead of depending on module 'inline'.
37219         * modules/filevercmp (Depends-on, configure.ac): Likewise.
37220         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
37221         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
37222         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
37223         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
37224         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
37225         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
37226         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
37227         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
37228         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
37229         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
37230         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
37231         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
37232         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
37233         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
37234         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
37235         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
37236         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
37237         Likewise.
37238         * modules/unictype/property-ascii-hex-digit (Depends-on,
37239         configure.ac): Likewise.
37240         * modules/unictype/property-bidi-arabic-digit (Depends-on,
37241         configure.ac): Likewise.
37242         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
37243         configure.ac): Likewise.
37244         * modules/unictype/property-bidi-block-separator (Depends-on,
37245         configure.ac): Likewise.
37246         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
37247         configure.ac): Likewise.
37248         * modules/unictype/property-bidi-common-separator (Depends-on,
37249         configure.ac): Likewise.
37250         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
37251         Likewise.
37252         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
37253         configure.ac): Likewise.
37254         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
37255         configure.ac): Likewise.
37256         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
37257         configure.ac): Likewise.
37258         * modules/unictype/property-bidi-european-digit (Depends-on,
37259         configure.ac): Likewise.
37260         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
37261         configure.ac): Likewise.
37262         * modules/unictype/property-bidi-left-to-right (Depends-on,
37263         configure.ac): Likewise.
37264         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
37265         configure.ac): Likewise.
37266         * modules/unictype/property-bidi-other-neutral (Depends-on,
37267         configure.ac): Likewise.
37268         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
37269         Likewise.
37270         * modules/unictype/property-bidi-segment-separator (Depends-on,
37271         configure.ac): Likewise.
37272         * modules/unictype/property-bidi-whitespace (Depends-on,
37273         configure.ac): Likewise.
37274         * modules/unictype/property-combining (Depends-on, configure.ac):
37275         Likewise.
37276         * modules/unictype/property-composite (Depends-on, configure.ac):
37277         Likewise.
37278         * modules/unictype/property-currency-symbol (Depends-on,
37279         configure.ac): Likewise.
37280         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
37281         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
37282         Likewise.
37283         * modules/unictype/property-default-ignorable-code-point (Depends-on,
37284         configure.ac): Likewise.
37285         * modules/unictype/property-deprecated (Depends-on, configure.ac):
37286         Likewise.
37287         * modules/unictype/property-diacritic (Depends-on, configure.ac):
37288         Likewise.
37289         * modules/unictype/property-extender (Depends-on, configure.ac):
37290         Likewise.
37291         * modules/unictype/property-format-control (Depends-on, configure.ac):
37292         Likewise.
37293         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
37294         Likewise.
37295         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
37296         Likewise.
37297         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
37298         Likewise.
37299         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
37300         Likewise.
37301         * modules/unictype/property-hyphen (Depends-on, configure.ac):
37302         Likewise.
37303         * modules/unictype/property-id-continue (Depends-on, configure.ac):
37304         Likewise.
37305         * modules/unictype/property-id-start (Depends-on, configure.ac):
37306         Likewise.
37307         * modules/unictype/property-ideographic (Depends-on, configure.ac):
37308         Likewise.
37309         * modules/unictype/property-ids-binary-operator (Depends-on,
37310         configure.ac): Likewise.
37311         * modules/unictype/property-ids-trinary-operator (Depends-on,
37312         configure.ac): Likewise.
37313         * modules/unictype/property-ignorable-control (Depends-on,
37314         configure.ac): Likewise.
37315         * modules/unictype/property-iso-control (Depends-on, configure.ac):
37316         Likewise.
37317         * modules/unictype/property-join-control (Depends-on, configure.ac):
37318         Likewise.
37319         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
37320         Likewise.
37321         * modules/unictype/property-line-separator (Depends-on, configure.ac):
37322         Likewise.
37323         * modules/unictype/property-logical-order-exception (Depends-on,
37324         configure.ac): Likewise.
37325         * modules/unictype/property-lowercase (Depends-on, configure.ac):
37326         Likewise.
37327         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
37328         * modules/unictype/property-non-break (Depends-on, configure.ac):
37329         Likewise.
37330         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
37331         Likewise.
37332         * modules/unictype/property-numeric (Depends-on, configure.ac):
37333         Likewise.
37334         * modules/unictype/property-other-alphabetic (Depends-on,
37335         configure.ac): Likewise.
37336         * modules/unictype/property-other-default-ignorable-code-point
37337         (Depends-on, configure.ac): Likewise.
37338         * modules/unictype/property-other-grapheme-extend (Depends-on,
37339         configure.ac): Likewise.
37340         * modules/unictype/property-other-id-continue (Depends-on,
37341         configure.ac): Likewise.
37342         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
37343         Likewise.
37344         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
37345         Likewise.
37346         * modules/unictype/property-other-math (Depends-on, configure.ac):
37347         Likewise.
37348         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
37349         Likewise.
37350         * modules/unictype/property-paired-punctuation (Depends-on,
37351         configure.ac): Likewise.
37352         * modules/unictype/property-paragraph-separator (Depends-on,
37353         configure.ac): Likewise.
37354         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
37355         Likewise.
37356         * modules/unictype/property-pattern-white-space (Depends-on,
37357         configure.ac): Likewise.
37358         * modules/unictype/property-private-use (Depends-on, configure.ac):
37359         Likewise.
37360         * modules/unictype/property-punctuation (Depends-on, configure.ac):
37361         Likewise.
37362         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
37363         Likewise.
37364         * modules/unictype/property-radical (Depends-on, configure.ac):
37365         Likewise.
37366         * modules/unictype/property-sentence-terminal (Depends-on,
37367         configure.ac): Likewise.
37368         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
37369         Likewise.
37370         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
37371         * modules/unictype/property-terminal-punctuation (Depends-on,
37372         configure.ac): Likewise.
37373         * modules/unictype/property-titlecase (Depends-on, configure.ac):
37374         Likewise.
37375         * modules/unictype/property-unassigned-code-value (Depends-on,
37376         configure.ac): Likewise.
37377         * modules/unictype/property-unified-ideograph (Depends-on,
37378         configure.ac): Likewise.
37379         * modules/unictype/property-uppercase (Depends-on, configure.ac):
37380         Likewise.
37381         * modules/unictype/property-variation-selector (Depends-on,
37382         configure.ac): Likewise.
37383         * modules/unictype/property-white-space (Depends-on, configure.ac):
37384         Likewise.
37385         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
37386         Likewise.
37387         * modules/unictype/property-xid-start (Depends-on, configure.ac):
37388         Likewise.
37389         * modules/unictype/property-zero-width (Depends-on, configure.ac):
37390         Likewise.
37391         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
37392         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
37393         Likewise.
37394
37395 2009-12-31  Bruno Haible  <bruno@clisp.org>
37396
37397         Remove unnecessary AC_C_INLINE invocation.
37398         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
37399         since 2009-08-21.
37400
37401 2009-12-31  Jim Meyering  <meyering@redhat.com>
37402
37403         maint.mk: don't require explicit gpg_key_ID in cfg.mk
37404         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
37405         With this change, we can all remove the gpg_key_ID = ... definition
37406         from our respective cfg.mk files.
37407
37408         maint.mk: create announcement template in ~/, not in /tmp
37409         * top/maint.mk (emit_upload_commands): Adjust.
37410         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
37411         Remove temporary file, .ci-msg.
37412
37413 2009-12-31  Eric Blake  <ebb9@byu.net>
37414
37415         link-warning: always build headers with link warnings
37416         * modules/arpa_inet (Makefile.am): Always build replacement
37417         header.
37418         * modules/ctype (Makefile.am): Likewise.
37419         * modules/dirent (Makefile.am): Likewise.
37420         * modules/inttypes (Makefile.am): Likewise.
37421         * modules/langinfo (Makefile.am): Likewise.
37422         * modules/locale (Makefile.am): Likewise.
37423         * modules/spawn (Makefile.am): Likewise.
37424         * modules/sys_file (Makefile.am): Likewise.
37425         * modules/sys_ioctl (Makefile.am): Likewise.
37426         * modules/sys_select (Makefile.am): Likewise.
37427         * modules/sys_socket (Makefile.am): Likewise.
37428         * modules/sys_times (Makefile.am): Likewise.
37429         * modules/sys_utsname (Makefile.am): Likewise.
37430         * modules/sys_wait (Makefile.am): Likewise.
37431         * modules/wchar (Makefile.am): Likewise.
37432         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
37433         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
37434         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
37435         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
37436         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
37437         Likewise.
37438         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37439         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37440         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
37441         Likewise.
37442         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
37443         Likewise.
37444         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
37445         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
37446         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
37447         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37448         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37449         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
37450         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
37451         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
37452         (gl_WCHAR_H_DEFAULTS): Likewise.
37453
37454 2009-12-31  Eric Blake  <ebb9@byu.net>
37455
37456         signal, spawn: use link warnings
37457         * lib/signal.in.h (sigset_t): Make unconditional.
37458         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
37459         (sigpending, sigprocmask, sigaction): Add link warnings.
37460         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
37461         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
37462         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
37463         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
37464         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
37465         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
37466         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
37467         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
37468         (posix_spawn_file_actions_destroy)
37469         (posix_spawn_file_actions_addopen)
37470         (posix_spawn_file_actions_addclose)
37471         (posix_spawn_file_actions_adddup2): Likewise.
37472         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
37473         * tests/test-signal.c (main): Enhance test.
37474
37475         spawn: improve wrapper support
37476         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
37477         (gl_SPAWN_H_DEFAULTS): New defaults.
37478         * modules/spawn (Makefile.am): Substitute them.
37479         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
37480         Only declare if missing or broken.
37481
37482         sys_times, sys_utsname: use include_next
37483         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
37484         header.
37485         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
37486         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
37487         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
37488         * modules/sys_times (Depends-on): Add include_next.
37489         (Makefile.am): Substitute additional values.
37490         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37491         * lib/sys_times.in.h (includes): Include native header, if
37492         available.
37493         * lib/sys_utsname.in.h (includes): Likewise.
37494         * tests/test-sys_times.c (main): Enhance test.
37495
37496         fdutimensat: revert prior patch
37497         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
37498         utimens.h.
37499         Reported by Bruno Haible.
37500
37501 2009-12-30  Eric Blake  <ebb9@byu.net>
37502
37503         sys_wait: drop link-warning dependency
37504         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
37505         link-warning efforts.
37506         * lib/sys_wait.in.h: Likewise.
37507
37508         fdutimensat: remove bogus dependency
37509         * modules/fdutimensat (Depends-on): Drop inline.
37510
37511         unistd: fix typo
37512         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
37513
37514 2009-12-30  Bruno Haible  <bruno@clisp.org>
37515
37516         Fix compilation error with Solaris cc.
37517         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
37518         * lib/unicase/u16-is-invariant.c: Likewise.
37519         * lib/unicase/u32-is-invariant.c: Likewise.
37520         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
37521
37522 2009-12-30  Bruno Haible  <bruno@clisp.org>
37523
37524         Fix test crash.
37525         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
37526         locales.
37527         Reported by Simon Josefsson <simon@josefsson.org>.
37528
37529 2009-12-30  Bruno Haible  <bruno@clisp.org>
37530
37531         Fix compilation error on most platforms.
37532         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
37533         Reported by Simon Josefsson <simon@josefsson.org>
37534         and Nelson H. F. Beebe <beebe@math.utah.edu>.
37535
37536 2009-12-30  Eric Blake  <ebb9@byu.net>
37537
37538         futimens, utimensat: work around ntfs-3g bug
37539         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
37540         a ctime bug is present, and expand workaround to cover ntfs-3g.
37541         * lib/utimens.c (fdutimens, lutimens): Likewise.
37542         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
37543         (validate_timespec): Adjust return value.
37544         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
37545         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37546         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
37547
37548 2009-12-29  Eric Blake  <ebb9@byu.net>
37549
37550         link-warning: make usage consistent
37551         * modules/ctype (Depends-on): Add link-warning.
37552         (Makefile.am): Update rules accordingly.
37553         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37554         * modules/locale (Depends-on, Makefile.am): Likewise.
37555         * modules/sys_file (Makefile.am): Likewise.
37556         * modules/getopt-posix (Makefile.am): Delete unused link warning
37557         efforts.
37558         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
37559         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
37560         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
37561         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
37562
37563         stdio: remove unused variables
37564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
37565         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
37566         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
37567
37568         tests: test more substitute headers
37569         * modules/ctype-tests: New file.
37570         * modules/dirent-tests: Likewise.
37571         * modules/spawn-tests: Likewise.
37572         * modules/sys_file-tests: Likewise.
37573         * modules/sys_ioctl-tests: Likewise.
37574         * modules/sys_wait-tests: Likewise.
37575         * tests/test-ctype.c: Likewise.
37576         * tests/test-dirent.c: Likewise.
37577         * tests/test-spawn.c: Likewise.
37578         * tests/test-sys_file.c: Likewise.
37579         * tests/test-sys_ioctl.c: Likewise.
37580         * tests/test-sys_wait.c: Likewise.
37581         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
37582         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
37583         whether or not flock is in use.
37584
37585         tests: remove License section from module
37586         * modules/arpa_inet-tests: Remove unneeded section.
37587         * modules/byteswap-tests: Likewise.
37588         * modules/ceilf-tests: Likewise.
37589         * modules/ceill-tests: Likewise.
37590         * modules/crypto/des-tests: Likewise.
37591         * modules/crypto/gc-arcfour-tests: Likewise.
37592         * modules/crypto/gc-arctwo-tests: Likewise.
37593         * modules/crypto/gc-des-tests: Likewise.
37594         * modules/crypto/gc-hmac-md5-tests: Likewise.
37595         * modules/crypto/gc-hmac-sha1-tests: Likewise.
37596         * modules/crypto/gc-md2-tests: Likewise.
37597         * modules/crypto/gc-md4-tests: Likewise.
37598         * modules/crypto/gc-md5-tests: Likewise.
37599         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
37600         * modules/crypto/gc-rijndael-tests: Likewise.
37601         * modules/crypto/gc-sha1-tests: Likewise.
37602         * modules/crypto/gc-tests: Likewise.
37603         * modules/crypto/md2-tests: Likewise.
37604         * modules/crypto/md4-tests: Likewise.
37605         * modules/fcntl-h-tests: Likewise.
37606         * modules/floorf-tests: Likewise.
37607         * modules/floorl-tests: Likewise.
37608         * modules/frexp-nolibm-tests: Likewise.
37609         * modules/frexp-tests: Likewise.
37610         * modules/frexpl-nolibm-tests: Likewise.
37611         * modules/frexpl-tests: Likewise.
37612         * modules/getaddrinfo-tests: Likewise.
37613         * modules/inttypes-tests: Likewise.
37614         * modules/isfinite-tests: Likewise.
37615         * modules/isinf-tests: Likewise.
37616         * modules/ldexpl-tests: Likewise.
37617         * modules/locale-tests: Likewise.
37618         * modules/math-tests: Likewise.
37619         * modules/netdb-tests: Likewise.
37620         * modules/netinet_in-tests: Likewise.
37621         * modules/printf-frexp-tests: Likewise.
37622         * modules/printf-frexpl-tests: Likewise.
37623         * modules/priv-set-tests: Likewise.
37624         * modules/random_r-tests: Likewise.
37625         * modules/round-tests: Likewise.
37626         * modules/roundf-tests: Likewise.
37627         * modules/roundl-tests: Likewise.
37628         * modules/search-tests: Likewise.
37629         * modules/select-tests: Likewise.
37630         * modules/signal-tests: Likewise.
37631         * modules/stdbool-tests: Likewise.
37632         * modules/stddef-tests: Likewise.
37633         * modules/stdint-tests: Likewise.
37634         * modules/stdio-tests: Likewise.
37635         * modules/stdlib-tests: Likewise.
37636         * modules/string-tests: Likewise.
37637         * modules/strings-tests: Likewise.
37638         * modules/sys_select-tests: Likewise.
37639         * modules/sys_socket-tests: Likewise.
37640         * modules/sys_stat-tests: Likewise.
37641         * modules/sys_time-tests: Likewise.
37642         * modules/sys_utsname-tests: Likewise.
37643         * modules/sysexits-tests: Likewise.
37644         * modules/time-tests: Likewise.
37645         * modules/trunc-tests: Likewise.
37646         * modules/truncf-tests: Likewise.
37647         * modules/truncl-tests: Likewise.
37648         * modules/tsearch-tests: Likewise.
37649         * modules/unistd-tests: Likewise.
37650         * modules/wchar-tests: Likewise.
37651         * modules/wctype-tests: Likewise.
37652
37653         tests: fix license on several tests
37654         * tests/test-des.c: Update to GPLv3+.
37655         * tests/test-flock.c: Likewise.
37656         * tests/test-fsync.c: Likewise.
37657         * tests/test-futimens.h: Likewise.
37658         * tests/test-gc-arcfour.c: Likewise.
37659         * tests/test-gc-arctwo.c: Likewise.
37660         * tests/test-gc-des.c: Likewise.
37661         * tests/test-gc-hmac-md5.c: Likewise.
37662         * tests/test-gc-hmac-sha1.c: Likewise.
37663         * tests/test-gc-md2.c: Likewise.
37664         * tests/test-gc-md4.c: Likewise.
37665         * tests/test-gc-md5.c: Likewise.
37666         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37667         * tests/test-gc-rijndael.c: Likewise.
37668         * tests/test-gc-sha1.c: Likewise.
37669         * tests/test-gc.c: Likewise.
37670         * tests/test-getcwd.c: Likewise.
37671         * tests/test-link.c: Likewise.
37672         * tests/test-link.h: Likewise.
37673         * tests/test-lutimens.h: Likewise.
37674         * tests/test-md2.c: Likewise.
37675         * tests/test-md4.c: Likewise.
37676         * tests/test-mkdir.h: Likewise.
37677         * tests/test-rename.c: Likewise.
37678         * tests/test-rename.h: Likewise.
37679         * tests/test-safe-alloc.c: Likewise.
37680         * tests/test-utimens-common.h: Likewise.
37681         * tests/test-utimens.h: Likewise.
37682
37683         maint: sync license texts
37684         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
37685         * doc/gpl-3.0.texi: Revert copyright year update.
37686         * doc/lgpl-3.0.texi: Likewise.
37687
37688 2009-12-29  Jim Meyering  <meyering@redhat.com>
37689
37690         update nearly all FSF copyright year lists to include 2009
37691         The files named by the following are exempted:
37692             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
37693               test -f "$dst" && { echo "$dst"; continue; }
37694               test -d "$dst" || continue
37695               echo "$dst"/$(basename "$src")
37696             done > exempt
37697             git ls-files tests/unictype >> exempt
37698         In the remaining files, convert to all-interval notation if
37699         - there is already at least one year interval like 2000-2003
37700         - the file is maintained by me
37701         - the file is in lib/uni*/, where that style already prevails
37702         Otherwise, use update-copyright's default.
37703
37704 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37705         and Eric Blake  <ebb9@byu.net>
37706
37707         tests: don't require debug system() to pass
37708         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
37709         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37710         * tests/test-unlink.h (test_unlink_func): Likewise.
37711         * tests/test-fstatat.c (main): ...into callers.
37712         * tests/test-lstat.c (main): Likewise.
37713         * tests/test-rmdir.c (main): Likewise.
37714         * tests/test-unlink.c (main): Likewise.
37715         * tests/test-unlinkat.c (main): Likewise.
37716         * tests/test-areadlink-with-size.c (main): Don't require a
37717         debug-only system call to pass, aiding cross-testing to mingw.
37718         * tests/test-areadlink.c (main): Likewise.
37719         * tests/test-areadlinkat-with-size.c (main): Likewise.
37720         * tests/test-areadlinkat.c (main): Likewise.
37721         * tests/test-canonicalize-lgpl.c (main): Likewise.
37722         * tests/test-canonicalize.c (main): Likewise.
37723         * tests/test-chown.c (main): Likewise.
37724         * tests/test-fchownat.c (main): Likewise.
37725         * tests/test-lchown.c (main): Likewise.
37726         * tests/test-fdutimensat.c (main): Likewise.
37727         * tests/test-futimens.c (main): Likewise.
37728         * tests/test-link.c (main): Likewise.
37729         * tests/test-linkat.c (main): Likewise.
37730         * tests/test-mkdir.c (main): Likewise.
37731         * tests/test-mkdirat.c (main): Likewise.
37732         * tests/test-mkfifo.c (main): Likewise.
37733         * tests/test-mkfifoat.c (main): Likewise.
37734         * tests/test-mknod.c (main): Likewise.
37735         * tests/test-readlink.c (main): Likewise.
37736         * tests/test-remove.c (main): Likewise.
37737         * tests/test-rename.c (main): Likewise.
37738         * tests/test-renameat.c (main): Likewise.
37739         * tests/test-symlink.c (main): Likewise.
37740         * tests/test-symlinkat.c (main): Likewise.
37741         * tests/test-utimens.c (main): Likewise.
37742         * tests/test-utimensat.c (main): Likewise.
37743
37744 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37745
37746         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
37747         on $(UNUSED_PARAMETER_H) to avoid build failure.
37748
37749 2009-12-28  Jim Meyering  <meyering@redhat.com>
37750
37751         update-copyright: you may specify a max. line length other than 72
37752         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37753
37754         maint: use consistent FSF copyright line syntax
37755         * lib/posixtm.c: Add missing comma in FSF copyright line.
37756         * lib/posixtm.h: Likewise.
37757         * lib/getugroups.c: Add missing ", Inc.".
37758
37759         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
37760         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
37761         FSF copyright line.  Remove trailing blanks.
37762
37763 2009-12-28  Eric Blake  <ebb9@byu.net>
37764
37765         test-dup2: reduce dependencies
37766         * modules/cloexec (Configure.ac): Set witness.
37767         * modules/dup2-tests (Depends-on): Drop cloexec.
37768         * tests/test-dup2.c (main): Skip portion of test if cloexec module
37769         not present.
37770         Suggested by Bruno Haible.
37771
37772 2009-12-26  Bruno Haible  <bruno@clisp.org>
37773
37774         Remove an unneeded dependency.
37775         * modules/fseterr (Depends-on): Remove dup2.
37776
37777 2009-12-26  Eric Blake  <ebb9@byu.net>
37778
37779         tests: use macros.h in more places
37780         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
37781         (ASSERT_STREAM): Provide default of stderr.
37782         * tests/test-dirent-safer.c: Include macros.h, using alternate
37783         stream for assertions.
37784         * tests/test-dup-safer.c: Likewise.
37785         * tests/test-freopen-safer.c: Likewise.
37786         * tests/test-getopt.c: Likewise.
37787         * tests/test-openat-safer.c: Likewise.
37788         * tests/test-pipe.c: Likewise.
37789         * tests/test-popen-safer.c: Likewise.
37790         * modules/dirent-safer-tests (Files): Include macros.h.
37791         * modules/unistd-safer-tests (Files): Likewise.
37792         * modules/freopen-safer-tests (Files): Likewise.
37793         * modules/getopt-posix-tests (Files): Likewise.
37794         * modules/openat-safer-tests (Files): Likewise.
37795         * modules/pipe-tests (Files): Likewise.
37796
37797 2009-12-26  Bruno Haible  <bruno@clisp.org>
37798
37799         javacomp: Portability fix.
37800         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
37801         that it also works on Solaris.
37802
37803 2009-12-26  Bruno Haible  <bruno@clisp.org>
37804
37805         localename: Fix storage allocation of gl_locale_name_thread's result.
37806         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
37807         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
37808         all platforms that have 'uselocale'.
37809         (gl_locale_name_thread_unsafe): New function, extracted from
37810         gl_locale_name_thread.
37811         (gl_locale_name_thread): Call struniq on all platforms that have
37812         'uselocale'.
37813         * tests/test-localename.c (test_locale_name_thread): Check that the
37814         resulting strings are permanently allocated.
37815         * modules/localename-tests (Depends-on): Add strdup.
37816
37817 2009-12-26  Bruno Haible  <bruno@clisp.org>
37818
37819         * tests/test-localename.c (categories): Fill in the strings.
37820
37821 2009-12-26  Jim Meyering  <meyering@redhat.com>
37822
37823         isdir: complete the removal of m4/isdir.m4
37824         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
37825
37826         isdir: clean up, since at least grep still uses it
37827         * lib/isdir.c: Include "isdir.h".
37828         (S_ISDIR): Remove now-unneeded definition.
37829         * modules/isdir (Files): Add lib/isdir.h.
37830         * lib/isdir.h: New file, with declaration.
37831         * m4/isdir.m4: Remove file -- unneeded.
37832
37833 2009-12-25  Bruno Haible  <bruno@clisp.org>
37834
37835         selinux-h: Make generated .h files standalone.
37836         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
37837         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
37838         * lib/se-selinux.in.h: Likewise.
37839         * modules/selinux-h (Depends-on): Add unused-parameter.
37840         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
37841         selinux/selinux.h and selinux/context.h.
37842         Suggested by Eric Blake.
37843
37844 2009-12-25  Bruno Haible  <bruno@clisp.org>
37845
37846         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
37847         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
37848         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
37849         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
37850         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
37851
37852 2009-12-24  Bruno Haible  <bruno@clisp.org>
37853
37854         openat: Fix warning.
37855         * lib/openat-proc.c: Include <unistd.h>.
37856
37857 2009-12-24  Bruno Haible  <bruno@clisp.org>
37858
37859         New module 'unused-parameter'.
37860         * build-aux/unused-parameter.h: New file, extracted from earlier
37861         gnulib-common.m4.
37862         * modules/unused-parameter: New file.
37863         * lib/unistr.h: Include unused-parameter.h.
37864         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
37865         _GL_UNUSED.
37866         * modules/unistr/base (Depends-on): Add unused-parameter.
37867
37868 2009-12-24  Bruno Haible  <bruno@clisp.org>
37869
37870         Add missing dependencies to 'extensions' module.
37871         * m4/extensions.m4: Add comment.
37872         * modules/accept4 (Depends-on): Add extensions.
37873         * modules/dup3 (Depends-on): Likewise.
37874         * modules/fcntl (Depends-on): Likewise.
37875         * modules/futimens (Depends-on): Likewise.
37876         * modules/mknod (Depends-on): Likewise.
37877         * modules/pipe2 (Depends-on): Likewise.
37878         * modules/stat-time (Depends-on): Likewise.
37879         * modules/strcasestr-simple (Depends-on): Likewise.
37880         * modules/strsignal (Depends-on): Likewise.
37881         * modules/utimensat (Depends-on): Likewise.
37882         * modules/localcharset (Depends-on): Likewise. Needed because of
37883         gl_FCNTL_O_FLAGS.
37884         * modules/wcrtomb (Depends-on): Likewise. Needed because of
37885         AC_TYPE_MBSTATE_T.
37886         * modules/wcsnrtombs (Depends-on): Likewise.
37887         * modules/wcsrtombs (Depends-on): Likewise.
37888
37889 2009-12-24  Bruno Haible  <bruno@clisp.org>
37890
37891         binary-io: Avoid gcc warning due to SET_BINARY.
37892         * lib/binary-io.h (SET_BINARY): Cast the result to void.
37893         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
37894
37895 2009-12-24  Bruno Haible  <bruno@clisp.org>
37896
37897         Avoid future namespace pollution on glibc systems.
37898         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
37899         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
37900         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
37901         glibc systems.
37902
37903 2009-12-24  Bruno Haible  <bruno@clisp.org>
37904
37905         Refactor common macros used in tests.
37906         * tests/macros.h: New file.
37907         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
37908         and/or <stdlib.h>, if appropriate.
37909         (ASSERT, SIZEOF): Remove macros.
37910         * tests/test-areadlink-with-size.c: Likewise.
37911         * tests/test-areadlinkat.c: Likewise.
37912         * tests/test-areadlinkat-with-size.c: Likewise.
37913         * tests/test-argmatch.c: Likewise.
37914         * tests/test-argv-iter.c: Likewise.
37915         * tests/test-array-mergesort.c: Likewise.
37916         * tests/test-array_list.c: Likewise.
37917         * tests/test-array_oset.c: Likewise.
37918         * tests/test-avltree_list.c: Likewise.
37919         * tests/test-avltree_oset.c: Likewise.
37920         * tests/test-avltreehash_list.c: Likewise.
37921         * tests/test-base64.c: Likewise.
37922         * tests/test-binary-io.c: Likewise.
37923         * tests/test-bitrotate.c: Likewise.
37924         * tests/test-btowc.c: Likewise.
37925         * tests/test-byteswap.c: Likewise.
37926         * tests/test-c-ctype.c: Likewise.
37927         * tests/test-c-stack.c: Likewise.
37928         * tests/test-c-strcasecmp.c: Likewise.
37929         * tests/test-c-strcasestr.c: Likewise.
37930         * tests/test-c-strncasecmp.c: Likewise.
37931         * tests/test-c-strstr.c: Likewise.
37932         * tests/test-canonicalize-lgpl.c: Likewise.
37933         * tests/test-canonicalize.c: Likewise.
37934         * tests/test-carray_list.c: Likewise.
37935         * tests/test-ceilf1.c: Likewise.
37936         * tests/test-ceilf2.c: Likewise.
37937         * tests/test-ceill.c: Likewise.
37938         * tests/test-chown.c: Likewise.
37939         * tests/test-cloexec.c: Likewise.
37940         * tests/test-copy-acl.c: Likewise.
37941         * tests/test-copy-file.c: Likewise.
37942         * tests/test-count-one-bits.c: Likewise.
37943         * tests/test-dprintf-posix.c: Likewise.
37944         * tests/test-dup2.c: Likewise.
37945         * tests/test-dup3.c: Likewise.
37946         * tests/test-duplocale.c: Likewise.
37947         * tests/test-fbufmode.c: Likewise.
37948         * tests/test-fchdir.c: Likewise.
37949         * tests/test-fchownat.c: Likewise.
37950         * tests/test-fcntl-safer.c: Likewise.
37951         * tests/test-fcntl.c: Likewise.
37952         * tests/test-fdopendir.c: Likewise.
37953         * tests/test-fdutimensat.c: Likewise.
37954         * tests/test-fflush2.c: Likewise.
37955         * tests/test-file-has-acl.c: Likewise.
37956         * tests/test-filevercmp.c: Likewise.
37957         * tests/test-flock.c: Likewise.
37958         * tests/test-floorf1.c: Likewise.
37959         * tests/test-floorf2.c: Likewise.
37960         * tests/test-floorl.c: Likewise.
37961         * tests/test-fnmatch.c: Likewise.
37962         * tests/test-fopen.h: Likewise.
37963         * tests/test-fpending.c: Likewise.
37964         * tests/test-fprintf-posix.c: Likewise.
37965         * tests/test-fpurge.c: Likewise.
37966         * tests/test-freadable.c: Likewise.
37967         * tests/test-freadahead.c: Likewise.
37968         * tests/test-freading.c: Likewise.
37969         * tests/test-freadptr.c: Likewise.
37970         * tests/test-freadptr2.c: Likewise.
37971         * tests/test-freadseek.c: Likewise.
37972         * tests/test-freopen.c: Likewise.
37973         * tests/test-frexp.c: Likewise.
37974         * tests/test-frexpl.c: Likewise.
37975         * tests/test-fseek.c: Likewise.
37976         * tests/test-fseeko.c: Likewise.
37977         * tests/test-fstatat.c: Likewise.
37978         * tests/test-fstrcmp.c: Likewise.
37979         * tests/test-fsync.c: Likewise.
37980         * tests/test-ftell.c: Likewise.
37981         * tests/test-ftello.c: Likewise.
37982         * tests/test-func.c: Likewise.
37983         * tests/test-futimens.c: Likewise.
37984         * tests/test-fwritable.c: Likewise.
37985         * tests/test-fwriting.c: Likewise.
37986         * tests/test-getcwd.c: Likewise.
37987         * tests/test-getdate.c: Likewise.
37988         * tests/test-getdelim.c: Likewise.
37989         * tests/test-getdtablesize.c: Likewise.
37990         * tests/test-getgroups.c: Likewise.
37991         * tests/test-getline.c: Likewise.
37992         * tests/test-getndelim2.c: Likewise.
37993         * tests/test-glob.c: Likewise.
37994         * tests/test-hash.c: Likewise.
37995         * tests/test-i-ring.c: Likewise.
37996         * tests/test-iconv-utf.c: Likewise.
37997         * tests/test-iconv.c: Likewise.
37998         * tests/test-idpriv-drop.c: Likewise.
37999         * tests/test-idpriv-droptemp.c: Likewise.
38000         * tests/test-inet_ntop.c: Likewise.
38001         * tests/test-inet_pton.c: Likewise.
38002         * tests/test-isblank.c: Likewise.
38003         * tests/test-isfinite.c: Likewise.
38004         * tests/test-isinf.c: Likewise.
38005         * tests/test-isnan.c: Likewise.
38006         * tests/test-isnand.h: Likewise.
38007         * tests/test-isnanf.h: Likewise.
38008         * tests/test-isnanl.h: Likewise.
38009         * tests/test-lchown.c: Likewise.
38010         * tests/test-ldexpl.c: Likewise.
38011         * tests/test-link.c: Likewise.
38012         * tests/test-linkat.c: Likewise.
38013         * tests/test-linked_list.c: Likewise.
38014         * tests/test-linkedhash_list.c: Likewise.
38015         * tests/test-localename.c: Likewise.
38016         * tests/test-lseek.c: Likewise.
38017         * tests/test-lstat.c: Likewise.
38018         * tests/test-mbmemcasecmp.c: Likewise.
38019         * tests/test-mbmemcasecoll.c: Likewise.
38020         * tests/test-mbrtowc.c: Likewise.
38021         * tests/test-mbscasecmp.c: Likewise.
38022         * tests/test-mbscasestr1.c: Likewise.
38023         * tests/test-mbscasestr2.c: Likewise.
38024         * tests/test-mbscasestr3.c: Likewise.
38025         * tests/test-mbscasestr4.c: Likewise.
38026         * tests/test-mbschr.c: Likewise.
38027         * tests/test-mbscspn.c: Likewise.
38028         * tests/test-mbsinit.c: Likewise.
38029         * tests/test-mbsncasecmp.c: Likewise.
38030         * tests/test-mbsnrtowcs.c: Likewise.
38031         * tests/test-mbspbrk.c: Likewise.
38032         * tests/test-mbspcasecmp.c: Likewise.
38033         * tests/test-mbsrchr.c: Likewise.
38034         * tests/test-mbsrtowcs.c: Likewise.
38035         * tests/test-mbsspn.c: Likewise.
38036         * tests/test-mbsstr1.c: Likewise.
38037         * tests/test-mbsstr2.c: Likewise.
38038         * tests/test-mbsstr3.c: Likewise.
38039         * tests/test-memchr.c: Likewise.
38040         * tests/test-memchr2.c: Likewise.
38041         * tests/test-memcmp.c: Likewise.
38042         * tests/test-memmem.c: Likewise.
38043         * tests/test-memrchr.c: Likewise.
38044         * tests/test-mkdir.c: Likewise.
38045         * tests/test-mkdirat.c: Likewise.
38046         * tests/test-mkfifo.c: Likewise.
38047         * tests/test-mkfifoat.c: Likewise.
38048         * tests/test-mknod.c: Likewise.
38049         * tests/test-nanosleep.c: Likewise.
38050         * tests/test-nl_langinfo.c: Likewise.
38051         * tests/test-obstack-printf.c: Likewise.
38052         * tests/test-open.c: Likewise.
38053         * tests/test-openat.c: Likewise.
38054         * tests/test-pipe-filter-gi1.c: Likewise.
38055         * tests/test-pipe-filter-gi2-main.c: Likewise.
38056         * tests/test-pipe-filter-ii1.c: Likewise.
38057         * tests/test-pipe-filter-ii2-main.c: Likewise.
38058         * tests/test-pipe2.c: Likewise.
38059         * tests/test-popen.h: Likewise.
38060         * tests/test-posixtm.c: Likewise.
38061         * tests/test-pread.c: Likewise.
38062         * tests/test-printf-frexp.c: Likewise.
38063         * tests/test-printf-frexpl.c: Likewise.
38064         * tests/test-printf-posix.c: Likewise.
38065         * tests/test-priv-set.c: Likewise.
38066         * tests/test-quotearg.c: Likewise.
38067         * tests/test-random_r.c: Likewise.
38068         * tests/test-rawmemchr.c: Likewise.
38069         * tests/test-rbtree_list.c: Likewise.
38070         * tests/test-rbtree_oset.c: Likewise.
38071         * tests/test-rbtreehash_list.c: Likewise.
38072         * tests/test-readlink.c: Likewise.
38073         * tests/test-remove.c: Likewise.
38074         * tests/test-rename.c: Likewise.
38075         * tests/test-renameat.c: Likewise.
38076         * tests/test-rmdir.c: Likewise.
38077         * tests/test-round1.c: Likewise.
38078         * tests/test-roundf1.c: Likewise.
38079         * tests/test-roundl.c: Likewise.
38080         * tests/test-safe-alloc.c: Likewise.
38081         * tests/test-sameacls.c: Likewise.
38082         * tests/test-set-mode-acl.c: Likewise.
38083         * tests/test-setenv.c: Likewise.
38084         * tests/test-sigaction.c: Likewise.
38085         * tests/test-signbit.c: Likewise.
38086         * tests/test-sleep.c: Likewise.
38087         * tests/test-snprintf-posix.c: Likewise.
38088         * tests/test-snprintf.c: Likewise.
38089         * tests/test-sprintf-posix.c: Likewise.
38090         * tests/test-stat-time.c: Likewise.
38091         * tests/test-stat.c: Likewise.
38092         * tests/test-strcasestr.c: Likewise.
38093         * tests/test-strchrnul.c: Likewise.
38094         * tests/test-strerror.c: Likewise.
38095         * tests/test-striconv.c: Likewise.
38096         * tests/test-striconveh.c: Likewise.
38097         * tests/test-striconveha.c: Likewise.
38098         * tests/test-strsignal.c: Likewise.
38099         * tests/test-strstr.c: Likewise.
38100         * tests/test-strtod.c: Likewise.
38101         * tests/test-strverscmp.c: Likewise.
38102         * tests/test-symlink.c: Likewise.
38103         * tests/test-symlinkat.c: Likewise.
38104         * tests/test-trunc1.c: Likewise.
38105         * tests/test-trunc2.c: Likewise.
38106         * tests/test-truncf1.c: Likewise.
38107         * tests/test-truncf2.c: Likewise.
38108         * tests/test-truncl.c: Likewise.
38109         * tests/test-uname.c: Likewise.
38110         * tests/test-unlink.c: Likewise.
38111         * tests/test-unlinkat.c: Likewise.
38112         * tests/test-unsetenv.c: Likewise.
38113         * tests/test-usleep.c: Likewise.
38114         * tests/test-utimens.c: Likewise.
38115         * tests/test-utimensat.c: Likewise.
38116         * tests/test-vasnprintf-posix.c: Likewise.
38117         * tests/test-vasnprintf-posix2.c: Likewise.
38118         * tests/test-vasnprintf.c: Likewise.
38119         * tests/test-vasprintf-posix.c: Likewise.
38120         * tests/test-vasprintf.c: Likewise.
38121         * tests/test-vdprintf-posix.c: Likewise.
38122         * tests/test-vfprintf-posix.c: Likewise.
38123         * tests/test-vprintf-posix.c: Likewise.
38124         * tests/test-vsnprintf-posix.c: Likewise.
38125         * tests/test-vsnprintf.c: Likewise.
38126         * tests/test-vsprintf-posix.c: Likewise.
38127         * tests/test-wcrtomb.c: Likewise.
38128         * tests/test-wcsnrtombs.c: Likewise.
38129         * tests/test-wcsrtombs.c: Likewise.
38130         * tests/test-wctype.c: Likewise.
38131         * tests/test-wcwidth.c: Likewise.
38132         * tests/test-xfprintf-posix.c: Likewise.
38133         * tests/test-xmemdup0.c: Likewise.
38134         * tests/test-xprintf-posix.c: Likewise.
38135         * tests/test-xvasprintf.c: Likewise.
38136         * tests/unicase/test-locale-language.c: Likewise.
38137         * tests/unicase/test-mapping-part1.h: Likewise.
38138         * tests/unicase/test-predicate-part1.h: Likewise.
38139         * tests/unicase/test-u8-casecmp.c: Likewise.
38140         * tests/unicase/test-u8-casecoll.c: Likewise.
38141         * tests/unicase/test-u8-casefold.c: Likewise.
38142         * tests/unicase/test-u8-is-cased.c: Likewise.
38143         * tests/unicase/test-u8-is-casefolded.c: Likewise.
38144         * tests/unicase/test-u8-is-lowercase.c: Likewise.
38145         * tests/unicase/test-u8-is-titlecase.c: Likewise.
38146         * tests/unicase/test-u8-is-uppercase.c: Likewise.
38147         * tests/unicase/test-u8-tolower.c: Likewise.
38148         * tests/unicase/test-u8-totitle.c: Likewise.
38149         * tests/unicase/test-u8-toupper.c: Likewise.
38150         * tests/unicase/test-u16-casecmp.c: Likewise.
38151         * tests/unicase/test-u16-casecoll.c: Likewise.
38152         * tests/unicase/test-u16-casefold.c: Likewise.
38153         * tests/unicase/test-u16-is-cased.c: Likewise.
38154         * tests/unicase/test-u16-is-casefolded.c: Likewise.
38155         * tests/unicase/test-u16-is-lowercase.c: Likewise.
38156         * tests/unicase/test-u16-is-titlecase.c: Likewise.
38157         * tests/unicase/test-u16-is-uppercase.c: Likewise.
38158         * tests/unicase/test-u16-tolower.c: Likewise.
38159         * tests/unicase/test-u16-totitle.c: Likewise.
38160         * tests/unicase/test-u16-toupper.c: Likewise.
38161         * tests/unicase/test-u32-casecmp.c: Likewise.
38162         * tests/unicase/test-u32-casecoll.c: Likewise.
38163         * tests/unicase/test-u32-casefold.c: Likewise.
38164         * tests/unicase/test-u32-is-cased.c: Likewise.
38165         * tests/unicase/test-u32-is-casefolded.c: Likewise.
38166         * tests/unicase/test-u32-is-lowercase.c: Likewise.
38167         * tests/unicase/test-u32-is-titlecase.c: Likewise.
38168         * tests/unicase/test-u32-is-uppercase.c: Likewise.
38169         * tests/unicase/test-u32-tolower.c: Likewise.
38170         * tests/unicase/test-u32-totitle.c: Likewise.
38171         * tests/unicase/test-u32-toupper.c: Likewise.
38172         * tests/unicase/test-ulc-casecmp.c: Likewise.
38173         * tests/unicase/test-ulc-casecoll.c: Likewise.
38174         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
38175         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
38176         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
38177         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
38178         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
38179         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
38180         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
38181         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
38182         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
38183         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
38184         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
38185         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
38186         * tests/unictype/test-bidi_byname.c: Likewise.
38187         * tests/unictype/test-bidi_name.c: Likewise.
38188         * tests/unictype/test-bidi_of.c: Likewise.
38189         * tests/unictype/test-bidi_test.c: Likewise.
38190         * tests/unictype/test-block_list.c: Likewise.
38191         * tests/unictype/test-block_of.c: Likewise.
38192         * tests/unictype/test-block_test.c: Likewise.
38193         * tests/unictype/test-categ_and.c: Likewise.
38194         * tests/unictype/test-categ_and_not.c: Likewise.
38195         * tests/unictype/test-categ_byname.c: Likewise.
38196         * tests/unictype/test-categ_name.c: Likewise.
38197         * tests/unictype/test-categ_none.c: Likewise.
38198         * tests/unictype/test-categ_of.c: Likewise.
38199         * tests/unictype/test-categ_or.c: Likewise.
38200         * tests/unictype/test-categ_test_withtable.c: Likewise.
38201         * tests/unictype/test-combining.c: Likewise.
38202         * tests/unictype/test-decdigit.c: Likewise.
38203         * tests/unictype/test-digit.c: Likewise.
38204         * tests/unictype/test-mirror.c: Likewise.
38205         * tests/unictype/test-numeric.c: Likewise.
38206         * tests/unictype/test-pr_byname.c: Likewise.
38207         * tests/unictype/test-pr_test.c: Likewise.
38208         * tests/unictype/test-predicate-part1.h: Likewise.
38209         * tests/unictype/test-scripts.c: Likewise.
38210         * tests/unictype/test-sy_c_ident.c: Likewise.
38211         * tests/unictype/test-sy_java_ident.c: Likewise.
38212         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
38213         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
38214         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
38215         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
38216         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
38217         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
38218         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
38219         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
38220         * tests/uninorm/test-canonical-decomposition.c: Likewise.
38221         * tests/uninorm/test-compat-decomposition.c: Likewise.
38222         * tests/uninorm/test-composition.c: Likewise.
38223         * tests/uninorm/test-decomposing-form.c: Likewise.
38224         * tests/uninorm/test-decomposition.c: Likewise.
38225         * tests/uninorm/test-u8-nfc.c: Likewise.
38226         * tests/uninorm/test-u8-nfd.c: Likewise.
38227         * tests/uninorm/test-u8-nfkc.c: Likewise.
38228         * tests/uninorm/test-u8-nfkd.c: Likewise.
38229         * tests/uninorm/test-u8-normcmp.c: Likewise.
38230         * tests/uninorm/test-u8-normcoll.c: Likewise.
38231         * tests/uninorm/test-u16-nfc.c: Likewise.
38232         * tests/uninorm/test-u16-nfd.c: Likewise.
38233         * tests/uninorm/test-u16-nfkc.c: Likewise.
38234         * tests/uninorm/test-u16-nfkd.c: Likewise.
38235         * tests/uninorm/test-u16-normcmp.c: Likewise.
38236         * tests/uninorm/test-u16-normcoll.c: Likewise.
38237         * tests/uninorm/test-u32-nfc.c: Likewise.
38238         * tests/uninorm/test-u32-nfd.c: Likewise.
38239         * tests/uninorm/test-u32-nfkc.c: Likewise.
38240         * tests/uninorm/test-u32-nfkd.c: Likewise.
38241         * tests/uninorm/test-u32-normalize-big.c: Likewise.
38242         * tests/uninorm/test-u32-normcmp.c: Likewise.
38243         * tests/uninorm/test-u32-normcoll.c: Likewise.
38244         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
38245         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
38246         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
38247         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
38248         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
38249         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
38250         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
38251         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
38252         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
38253         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
38254         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
38255         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
38256         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
38257         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
38258         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
38259         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
38260         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
38261         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
38262         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
38263         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
38264         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
38265         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
38266         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
38267         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
38268         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
38269         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
38270         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
38271         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
38272         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
38273         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
38274         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
38275         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
38276         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
38277         * tests/uniwidth/test-u8-strwidth.c: Likewise.
38278         * tests/uniwidth/test-u8-width.c: Likewise.
38279         * tests/uniwidth/test-u16-strwidth.c: Likewise.
38280         * tests/uniwidth/test-u16-width.c: Likewise.
38281         * tests/uniwidth/test-u32-strwidth.c: Likewise.
38282         * tests/uniwidth/test-u32-width.c: Likewise.
38283         * tests/uniwidth/test-uc_width.c: Likewise.
38284         * tests/uniwidth/test-uc_width2.c: Likewise.
38285         * modules/acl-tests (Files): Add tests/macros.h.
38286         * modules/areadlink-tests (Files): Likewise.
38287         * modules/areadlink-with-size-tests (Files): Likewise.
38288         * modules/areadlinkat-tests (Files): Likewise.
38289         * modules/areadlinkat-with-size-tests (Files): Likewise.
38290         * modules/argmatch-tests (Files): Likewise.
38291         * modules/argv-iter-tests (Files): Likewise.
38292         * modules/array-list-tests (Files): Likewise.
38293         * modules/array-mergesort-tests (Files): Likewise.
38294         * modules/array-oset-tests (Files): Likewise.
38295         * modules/avltree-list-tests (Files): Likewise.
38296         * modules/avltree-oset-tests (Files): Likewise.
38297         * modules/avltreehash-list-tests (Files): Likewise.
38298         * modules/base64-tests (Files): Likewise.
38299         * modules/binary-io-tests (Files): Likewise.
38300         * modules/bitrotate-tests (Files): Likewise.
38301         * modules/btowc-tests (Files): Likewise.
38302         * modules/byteswap-tests (Files): Likewise.
38303         * modules/c-ctype-tests (Files): Likewise.
38304         * modules/c-stack-tests (Files): Likewise.
38305         * modules/c-strcase-tests (Files): Likewise.
38306         * modules/c-strcasestr-tests (Files): Likewise.
38307         * modules/c-strstr-tests (Files): Likewise.
38308         * modules/canonicalize-lgpl-tests (Files): Likewise.
38309         * modules/canonicalize-tests (Files): Likewise.
38310         * modules/carray-list-tests (Files): Likewise.
38311         * modules/ceilf-tests (Files): Likewise.
38312         * modules/ceill-tests (Files): Likewise.
38313         * modules/chown-tests (Files): Likewise.
38314         * modules/cloexec-tests (Files): Likewise.
38315         * modules/copy-file-tests (Files): Likewise.
38316         * modules/count-one-bits-tests (Files): Likewise.
38317         * modules/dprintf-posix-tests (Files): Likewise.
38318         * modules/dup2-tests (Files): Likewise.
38319         * modules/dup3-tests (Files): Likewise.
38320         * modules/duplocale-tests (Files): Likewise.
38321         * modules/fbufmode-tests (Files): Likewise.
38322         * modules/fchdir-tests (Files): Likewise.
38323         * modules/fcntl-safer-tests (Files): Likewise.
38324         * modules/fcntl-tests (Files): Likewise.
38325         * modules/fdopendir-tests (Files): Likewise.
38326         * modules/fdutimensat-tests (Files): Likewise.
38327         * modules/fflush-tests (Files): Likewise.
38328         * modules/filevercmp-tests (Files): Likewise.
38329         * modules/flock-tests (Files): Likewise.
38330         * modules/floorf-tests (Files): Likewise.
38331         * modules/floorl-tests (Files): Likewise.
38332         * modules/fnmatch-tests (Files): Likewise.
38333         * modules/fopen-safer-tests (Files): Likewise.
38334         * modules/fopen-tests (Files): Likewise.
38335         * modules/fpending-tests (Files): Likewise.
38336         * modules/fprintf-posix-tests (Files): Likewise.
38337         * modules/fpurge-tests (Files): Likewise.
38338         * modules/freadable-tests (Files): Likewise.
38339         * modules/freadahead-tests (Files): Likewise.
38340         * modules/freading-tests (Files): Likewise.
38341         * modules/freadptr-tests (Files): Likewise.
38342         * modules/freadseek-tests (Files): Likewise.
38343         * modules/freopen-tests (Files): Likewise.
38344         * modules/frexp-nolibm-tests (Files): Likewise.
38345         * modules/frexp-tests (Files): Likewise.
38346         * modules/frexpl-nolibm-tests (Files): Likewise.
38347         * modules/frexpl-tests (Files): Likewise.
38348         * modules/fseek-tests (Files): Likewise.
38349         * modules/fseeko-tests (Files): Likewise.
38350         * modules/fstrcmp-tests (Files): Likewise.
38351         * modules/fsync-tests (Files): Likewise.
38352         * modules/ftell-tests (Files): Likewise.
38353         * modules/ftello-tests (Files): Likewise.
38354         * modules/func-tests (Files): Likewise.
38355         * modules/futimens-tests (Files): Likewise.
38356         * modules/fwritable-tests (Files): Likewise.
38357         * modules/fwriting-tests (Files): Likewise.
38358         * modules/getcwd-tests (Files): Likewise.
38359         * modules/getdate-tests (Files): Likewise.
38360         * modules/getdelim-tests (Files): Likewise.
38361         * modules/getdtablesize-tests (Files): Likewise.
38362         * modules/getgroups-tests (Files): Likewise.
38363         * modules/getline-tests (Files): Likewise.
38364         * modules/getndelim2-tests (Files): Likewise.
38365         * modules/glob-tests (Files): Likewise.
38366         * modules/hash-tests (Files): Likewise.
38367         * modules/i-ring-tests (Files): Likewise.
38368         * modules/iconv-tests (Files): Likewise.
38369         * modules/iconv_open-utf-tests (Files): Likewise.
38370         * modules/idpriv-drop-tests (Files): Likewise.
38371         * modules/idpriv-droptemp-tests (Files): Likewise.
38372         * modules/inet_ntop-tests (Files): Likewise.
38373         * modules/inet_pton-tests (Files): Likewise.
38374         * modules/isblank-tests (Files): Likewise.
38375         * modules/isfinite-tests (Files): Likewise.
38376         * modules/isinf-tests (Files): Likewise.
38377         * modules/isnan-tests (Files): Likewise.
38378         * modules/isnand-nolibm-tests (Files): Likewise.
38379         * modules/isnand-tests (Files): Likewise.
38380         * modules/isnanf-nolibm-tests (Files): Likewise.
38381         * modules/isnanf-tests (Files): Likewise.
38382         * modules/isnanl-nolibm-tests (Files): Likewise.
38383         * modules/isnanl-tests (Files): Likewise.
38384         * modules/lchown-tests (Files): Likewise.
38385         * modules/ldexpl-tests (Files): Likewise.
38386         * modules/link-tests (Files): Likewise.
38387         * modules/linkat-tests (Files): Likewise.
38388         * modules/linked-list-tests (Files): Likewise.
38389         * modules/linkedhash-list-tests (Files): Likewise.
38390         * modules/localename-tests (Files): Likewise.
38391         * modules/lseek-tests (Files): Likewise.
38392         * modules/lstat-tests (Files): Likewise.
38393         * modules/mbmemcasecmp-tests (Files): Likewise.
38394         * modules/mbmemcasecoll-tests (Files): Likewise.
38395         * modules/mbrtowc-tests (Files): Likewise.
38396         * modules/mbscasecmp-tests (Files): Likewise.
38397         * modules/mbscasestr-tests (Files): Likewise.
38398         * modules/mbschr-tests (Files): Likewise.
38399         * modules/mbscspn-tests (Files): Likewise.
38400         * modules/mbsinit-tests (Files): Likewise.
38401         * modules/mbsncasecmp-tests (Files): Likewise.
38402         * modules/mbsnrtowcs-tests (Files): Likewise.
38403         * modules/mbspbrk-tests (Files): Likewise.
38404         * modules/mbspcasecmp-tests (Files): Likewise.
38405         * modules/mbsrchr-tests (Files): Likewise.
38406         * modules/mbsrtowcs-tests (Files): Likewise.
38407         * modules/mbsspn-tests (Files): Likewise.
38408         * modules/mbsstr-tests (Files): Likewise.
38409         * modules/memchr-tests (Files): Likewise.
38410         * modules/memchr2-tests (Files): Likewise.
38411         * modules/memcmp-tests (Files): Likewise.
38412         * modules/memmem-tests (Files): Likewise.
38413         * modules/memrchr-tests (Files): Likewise.
38414         * modules/mkdir-tests (Files): Likewise.
38415         * modules/mkfifo-tests (Files): Likewise.
38416         * modules/mkfifoat-tests (Files): Likewise.
38417         * modules/mknod-tests (Files): Likewise.
38418         * modules/nanosleep-tests (Files): Likewise.
38419         * modules/nl_langinfo-tests (Files): Likewise.
38420         * modules/obstack-printf-tests (Files): Likewise.
38421         * modules/open-tests (Files): Likewise.
38422         * modules/openat-tests (Files): Likewise.
38423         * modules/pipe-filter-gi-tests (Files): Likewise.
38424         * modules/pipe-filter-ii-tests (Files): Likewise.
38425         * modules/pipe2-tests (Files): Likewise.
38426         * modules/popen-safer-tests (Files): Likewise.
38427         * modules/popen-tests (Files): Likewise.
38428         * modules/posixtm-tests (Files): Likewise.
38429         * modules/pread-tests (Files): Likewise.
38430         * modules/printf-frexp-tests (Files): Likewise.
38431         * modules/printf-frexpl-tests (Files): Likewise.
38432         * modules/printf-posix-tests (Files): Likewise.
38433         * modules/priv-set-tests (Files): Likewise.
38434         * modules/quotearg-tests (Files): Likewise.
38435         * modules/random_r-tests (Files): Likewise.
38436         * modules/rawmemchr-tests (Files): Likewise.
38437         * modules/rbtree-list-tests (Files): Likewise.
38438         * modules/rbtree-oset-tests (Files): Likewise.
38439         * modules/rbtreehash-list-tests (Files): Likewise.
38440         * modules/readlink-tests (Files): Likewise.
38441         * modules/remove-tests (Files): Likewise.
38442         * modules/rename-tests (Files): Likewise.
38443         * modules/renameat-tests (Files): Likewise.
38444         * modules/rmdir-tests (Files): Likewise.
38445         * modules/round-tests (Files): Likewise.
38446         * modules/roundf-tests (Files): Likewise.
38447         * modules/roundl-tests (Files): Likewise.
38448         * modules/safe-alloc-tests (Files): Likewise.
38449         * modules/setenv-tests (Files): Likewise.
38450         * modules/sigaction-tests (Files): Likewise.
38451         * modules/signbit-tests (Files): Likewise.
38452         * modules/sleep-tests (Files): Likewise.
38453         * modules/snprintf-posix-tests (Files): Likewise.
38454         * modules/snprintf-tests (Files): Likewise.
38455         * modules/sprintf-posix-tests (Files): Likewise.
38456         * modules/stat-tests (Files): Likewise.
38457         * modules/stat-time-tests (Files): Likewise.
38458         * modules/strcasestr-tests (Files): Likewise.
38459         * modules/strchrnul-tests (Files): Likewise.
38460         * modules/strerror-tests (Files): Likewise.
38461         * modules/striconv-tests (Files): Likewise.
38462         * modules/striconveh-tests (Files): Likewise.
38463         * modules/striconveha-tests (Files): Likewise.
38464         * modules/strsignal-tests (Files): Likewise.
38465         * modules/strstr-tests (Files): Likewise.
38466         * modules/strtod-tests (Files): Likewise.
38467         * modules/strverscmp-tests (Files): Likewise.
38468         * modules/symlink-tests (Files): Likewise.
38469         * modules/symlinkat-tests (Files): Likewise.
38470         * modules/trunc-tests (Files): Likewise.
38471         * modules/truncf-tests (Files): Likewise.
38472         * modules/truncl-tests (Files): Likewise.
38473         * modules/uname-tests (Files): Likewise.
38474         * modules/unicase/cased-tests (Files): Likewise.
38475         * modules/unicase/ignorable-tests (Files): Likewise.
38476         * modules/unicase/locale-language-tests (Files): Likewise.
38477         * modules/unicase/tolower-tests (Files): Likewise.
38478         * modules/unicase/totitle-tests (Files): Likewise.
38479         * modules/unicase/toupper-tests (Files): Likewise.
38480         * modules/unicase/u8-casecmp-tests (Files): Likewise.
38481         * modules/unicase/u8-casecoll-tests (Files): Likewise.
38482         * modules/unicase/u8-casefold-tests (Files): Likewise.
38483         * modules/unicase/u8-is-cased-tests (Files): Likewise.
38484         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
38485         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
38486         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
38487         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
38488         * modules/unicase/u8-tolower-tests (Files): Likewise.
38489         * modules/unicase/u8-totitle-tests (Files): Likewise.
38490         * modules/unicase/u8-toupper-tests (Files): Likewise.
38491         * modules/unicase/u16-casecmp-tests (Files): Likewise.
38492         * modules/unicase/u16-casecoll-tests (Files): Likewise.
38493         * modules/unicase/u16-casefold-tests (Files): Likewise.
38494         * modules/unicase/u16-is-cased-tests (Files): Likewise.
38495         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
38496         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
38497         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
38498         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
38499         * modules/unicase/u16-tolower-tests (Files): Likewise.
38500         * modules/unicase/u16-totitle-tests (Files): Likewise.
38501         * modules/unicase/u16-toupper-tests (Files): Likewise.
38502         * modules/unicase/u32-casecmp-tests (Files): Likewise.
38503         * modules/unicase/u32-casecoll-tests (Files): Likewise.
38504         * modules/unicase/u32-casefold-tests (Files): Likewise.
38505         * modules/unicase/u32-is-cased-tests (Files): Likewise.
38506         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
38507         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
38508         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
38509         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
38510         * modules/unicase/u32-tolower-tests (Files): Likewise.
38511         * modules/unicase/u32-totitle-tests (Files): Likewise.
38512         * modules/unicase/u32-toupper-tests (Files): Likewise.
38513         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
38514         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
38515         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
38516         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
38517         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
38518         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
38519         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
38520         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
38521         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
38522         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
38523         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
38524         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
38525         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
38526         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
38527         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
38528         * modules/unictype/bidicategory-name-tests (Files): Likewise.
38529         * modules/unictype/bidicategory-of-tests (Files): Likewise.
38530         * modules/unictype/bidicategory-test-tests (Files): Likewise.
38531         * modules/unictype/block-list-tests (Files): Likewise.
38532         * modules/unictype/block-of-tests (Files): Likewise.
38533         * modules/unictype/block-test-tests (Files): Likewise.
38534         * modules/unictype/category-C-tests (Files): Likewise.
38535         * modules/unictype/category-Cc-tests (Files): Likewise.
38536         * modules/unictype/category-Cf-tests (Files): Likewise.
38537         * modules/unictype/category-Cn-tests (Files): Likewise.
38538         * modules/unictype/category-Co-tests (Files): Likewise.
38539         * modules/unictype/category-Cs-tests (Files): Likewise.
38540         * modules/unictype/category-L-tests (Files): Likewise.
38541         * modules/unictype/category-Ll-tests (Files): Likewise.
38542         * modules/unictype/category-Lm-tests (Files): Likewise.
38543         * modules/unictype/category-Lo-tests (Files): Likewise.
38544         * modules/unictype/category-Lt-tests (Files): Likewise.
38545         * modules/unictype/category-Lu-tests (Files): Likewise.
38546         * modules/unictype/category-M-tests (Files): Likewise.
38547         * modules/unictype/category-Mc-tests (Files): Likewise.
38548         * modules/unictype/category-Me-tests (Files): Likewise.
38549         * modules/unictype/category-Mn-tests (Files): Likewise.
38550         * modules/unictype/category-N-tests (Files): Likewise.
38551         * modules/unictype/category-Nd-tests (Files): Likewise.
38552         * modules/unictype/category-Nl-tests (Files): Likewise.
38553         * modules/unictype/category-No-tests (Files): Likewise.
38554         * modules/unictype/category-P-tests (Files): Likewise.
38555         * modules/unictype/category-Pc-tests (Files): Likewise.
38556         * modules/unictype/category-Pd-tests (Files): Likewise.
38557         * modules/unictype/category-Pe-tests (Files): Likewise.
38558         * modules/unictype/category-Pf-tests (Files): Likewise.
38559         * modules/unictype/category-Pi-tests (Files): Likewise.
38560         * modules/unictype/category-Po-tests (Files): Likewise.
38561         * modules/unictype/category-Ps-tests (Files): Likewise.
38562         * modules/unictype/category-S-tests (Files): Likewise.
38563         * modules/unictype/category-Sc-tests (Files): Likewise.
38564         * modules/unictype/category-Sk-tests (Files): Likewise.
38565         * modules/unictype/category-Sm-tests (Files): Likewise.
38566         * modules/unictype/category-So-tests (Files): Likewise.
38567         * modules/unictype/category-Z-tests (Files): Likewise.
38568         * modules/unictype/category-Zl-tests (Files): Likewise.
38569         * modules/unictype/category-Zp-tests (Files): Likewise.
38570         * modules/unictype/category-Zs-tests (Files): Likewise.
38571         * modules/unictype/category-and-not-tests (Files): Likewise.
38572         * modules/unictype/category-and-tests (Files): Likewise.
38573         * modules/unictype/category-byname-tests (Files): Likewise.
38574         * modules/unictype/category-name-tests (Files): Likewise.
38575         * modules/unictype/category-none-tests (Files): Likewise.
38576         * modules/unictype/category-of-tests (Files): Likewise.
38577         * modules/unictype/category-or-tests (Files): Likewise.
38578         * modules/unictype/category-test-withtable-tests (Files): Likewise.
38579         * modules/unictype/combining-class-tests (Files): Likewise.
38580         * modules/unictype/ctype-alnum-tests (Files): Likewise.
38581         * modules/unictype/ctype-alpha-tests (Files): Likewise.
38582         * modules/unictype/ctype-blank-tests (Files): Likewise.
38583         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
38584         * modules/unictype/ctype-digit-tests (Files): Likewise.
38585         * modules/unictype/ctype-graph-tests (Files): Likewise.
38586         * modules/unictype/ctype-lower-tests (Files): Likewise.
38587         * modules/unictype/ctype-print-tests (Files): Likewise.
38588         * modules/unictype/ctype-punct-tests (Files): Likewise.
38589         * modules/unictype/ctype-space-tests (Files): Likewise.
38590         * modules/unictype/ctype-upper-tests (Files): Likewise.
38591         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
38592         * modules/unictype/decimal-digit-tests (Files): Likewise.
38593         * modules/unictype/digit-tests (Files): Likewise.
38594         * modules/unictype/mirror-tests (Files): Likewise.
38595         * modules/unictype/numeric-tests (Files): Likewise.
38596         * modules/unictype/property-alphabetic-tests (Files): Likewise.
38597         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
38598         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
38599         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
38600         Likewise.
38601         * modules/unictype/property-bidi-block-separator-tests (Files):
38602         Likewise.
38603         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
38604         Likewise.
38605         * modules/unictype/property-bidi-common-separator-tests (Files):
38606         Likewise.
38607         * modules/unictype/property-bidi-control-tests (Files): Likewise.
38608         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
38609         Likewise.
38610         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
38611         Likewise.
38612         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
38613         Likewise.
38614         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
38615         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
38616         Likewise.
38617         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
38618         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
38619         Likewise.
38620         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
38621         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
38622         * modules/unictype/property-bidi-segment-separator-tests (Files):
38623         Likewise.
38624         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
38625         * modules/unictype/property-byname-tests (Files): Likewise.
38626         * modules/unictype/property-combining-tests (Files): Likewise.
38627         * modules/unictype/property-composite-tests (Files): Likewise.
38628         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
38629         * modules/unictype/property-dash-tests (Files): Likewise.
38630         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
38631         * modules/unictype/property-default-ignorable-code-point-tests (Files):
38632         Likewise.
38633         * modules/unictype/property-deprecated-tests (Files): Likewise.
38634         * modules/unictype/property-diacritic-tests (Files): Likewise.
38635         * modules/unictype/property-extender-tests (Files): Likewise.
38636         * modules/unictype/property-format-control-tests (Files): Likewise.
38637         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
38638         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
38639         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
38640         * modules/unictype/property-hex-digit-tests (Files): Likewise.
38641         * modules/unictype/property-hyphen-tests (Files): Likewise.
38642         * modules/unictype/property-id-continue-tests (Files): Likewise.
38643         * modules/unictype/property-id-start-tests (Files): Likewise.
38644         * modules/unictype/property-ideographic-tests (Files): Likewise.
38645         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
38646         * modules/unictype/property-ids-trinary-operator-tests (Files):
38647         Likewise.
38648         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
38649         * modules/unictype/property-iso-control-tests (Files): Likewise.
38650         * modules/unictype/property-join-control-tests (Files): Likewise.
38651         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
38652         * modules/unictype/property-line-separator-tests (Files): Likewise.
38653         * modules/unictype/property-logical-order-exception-tests (Files):
38654         Likewise.
38655         * modules/unictype/property-lowercase-tests (Files): Likewise.
38656         * modules/unictype/property-math-tests (Files): Likewise.
38657         * modules/unictype/property-non-break-tests (Files): Likewise.
38658         * modules/unictype/property-not-a-character-tests (Files): Likewise.
38659         * modules/unictype/property-numeric-tests (Files): Likewise.
38660         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
38661         * modules/unictype/property-other-default-ignorable-code-point-tests
38662         (Files): Likewise.
38663         * modules/unictype/property-other-grapheme-extend-tests (Files):
38664         Likewise.
38665         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
38666         * modules/unictype/property-other-id-start-tests (Files): Likewise.
38667         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
38668         * modules/unictype/property-other-math-tests (Files): Likewise.
38669         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
38670         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
38671         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
38672         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
38673         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
38674         * modules/unictype/property-private-use-tests (Files): Likewise.
38675         * modules/unictype/property-punctuation-tests (Files): Likewise.
38676         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
38677         * modules/unictype/property-radical-tests (Files): Likewise.
38678         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
38679         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
38680         * modules/unictype/property-space-tests (Files): Likewise.
38681         * modules/unictype/property-terminal-punctuation-tests (Files):
38682         Likewise.
38683         * modules/unictype/property-test-tests (Files): Likewise.
38684         * modules/unictype/property-titlecase-tests (Files): Likewise.
38685         * modules/unictype/property-unassigned-code-value-tests (Files):
38686         Likewise.
38687         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
38688         * modules/unictype/property-uppercase-tests (Files): Likewise.
38689         * modules/unictype/property-variation-selector-tests (Files): Likewise.
38690         * modules/unictype/property-white-space-tests (Files): Likewise.
38691         * modules/unictype/property-xid-continue-tests (Files): Likewise.
38692         * modules/unictype/property-xid-start-tests (Files): Likewise.
38693         * modules/unictype/property-zero-width-tests (Files): Likewise.
38694         * modules/unictype/scripts-tests (Files): Likewise.
38695         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
38696         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
38697         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
38698         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
38699         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
38700         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
38701         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
38702         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
38703         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
38704         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
38705         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
38706         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
38707         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
38708         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
38709         * modules/uninorm/composition-tests (Files): Likewise.
38710         * modules/uninorm/decomposing-form-tests (Files): Likewise.
38711         * modules/uninorm/decomposition-tests (Files): Likewise.
38712         * modules/uninorm/filter-tests (Files): Likewise.
38713         * modules/uninorm/nfc-tests (Files): Likewise.
38714         * modules/uninorm/nfd-tests (Files): Likewise.
38715         * modules/uninorm/nfkc-tests (Files): Likewise.
38716         * modules/uninorm/nfkd-tests (Files): Likewise.
38717         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
38718         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
38719         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
38720         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
38721         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
38722         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
38723         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
38724         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38725         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
38726         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
38727         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
38728         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
38729         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38730         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
38731         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
38732         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
38733         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
38734         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38735         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
38736         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
38737         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
38738         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
38739         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38740         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
38741         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
38742         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
38743         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
38744         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
38745         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
38746         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
38747         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
38748         * modules/uniwidth/u8-width-tests (Files): Likewise.
38749         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
38750         * modules/uniwidth/u16-width-tests (Files): Likewise.
38751         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
38752         * modules/uniwidth/u32-width-tests (Files): Likewise.
38753         * modules/uniwidth/width-tests (Files): Likewise.
38754         * modules/unlink-tests (Files): Likewise.
38755         * modules/unsetenv-tests (Files): Likewise.
38756         * modules/usleep-tests (Files): Likewise.
38757         * modules/utimens-tests (Files): Likewise.
38758         * modules/utimensat-tests (Files): Likewise.
38759         * modules/vasnprintf-posix-tests (Files): Likewise.
38760         * modules/vasnprintf-tests (Files): Likewise.
38761         * modules/vasprintf-posix-tests (Files): Likewise.
38762         * modules/vasprintf-tests (Files): Likewise.
38763         * modules/vdprintf-posix-tests (Files): Likewise.
38764         * modules/vfprintf-posix-tests (Files): Likewise.
38765         * modules/vprintf-posix-tests (Files): Likewise.
38766         * modules/vsnprintf-posix-tests (Files): Likewise.
38767         * modules/vsnprintf-tests (Files): Likewise.
38768         * modules/vsprintf-posix-tests (Files): Likewise.
38769         * modules/wcrtomb-tests (Files): Likewise.
38770         * modules/wcsnrtombs-tests (Files): Likewise.
38771         * modules/wcsrtombs-tests (Files): Likewise.
38772         * modules/wctype-tests (Files): Likewise.
38773         * modules/wcwidth-tests (Files): Likewise.
38774         * modules/xmemdup0-tests (Files): Likewise.
38775         * modules/xprintf-posix-tests (Files): Likewise.
38776         * modules/xvasprintf-tests (Files): Likewise.
38777
38778 2009-12-24  Eric Blake  <ebb9@byu.net>
38779
38780         test-nanosleep: fix typo
38781         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
38782         patch.
38783         Reported by Bruno Haible.
38784
38785 2009-12-24  Bruno Haible  <bruno@clisp.org>
38786
38787         Reduce namespace pollution on glibc systems.
38788         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
38789         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
38790         systems.
38791         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
38792         <getopt.h> on glibc systems.
38793         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
38794         systems.
38795         * lib/fcntl.c: Include <unistd.h> here instead.
38796
38797 2009-12-24  Bruno Haible  <bruno@clisp.org>
38798
38799         * lib/stdlib.in.h (includes): Fix typo in today's commit.
38800
38801 2009-12-24  Eric Blake  <ebb9@byu.net>
38802
38803         tests: add signature checks
38804         * tests/signature.h (SIGNATURE_CHECK): New file.
38805         * modules/atexit-tests (Files): Use it.
38806         * modules/btowc-tests (Files): Likewise.
38807         * modules/canonicalize-lgpl-tests (Files): Likewise.
38808         * modules/ceilf-tests (Files): Likewise.
38809         * modules/ceill-tests (Files): Likewise.
38810         * modules/chown-tests (Files): Likewise.
38811         * modules/dprintf-posix-tests (Files): Likewise.
38812         * modules/dup2-tests (Files): Likewise.
38813         * modules/dup3-tests (Files): Likewise.
38814         * modules/duplocale-tests (Files): Likewise.
38815         * modules/fchdir-tests (Files): Likewise.
38816         * modules/fcntl-tests (Files): Likewise.
38817         * modules/fdopendir-tests (Files): Likewise.
38818         * modules/fflush-tests (Files): Likewise.
38819         * modules/flock-tests (Files): Likewise.
38820         * modules/floorf-tests (Files): Likewise.
38821         * modules/floorl-tests (Files): Likewise.
38822         * modules/fnmatch-tests (Files): Likewise.
38823         * modules/fopen-tests (Files): Likewise.
38824         * modules/fprintf-posix-tests (Files): Likewise.
38825         * modules/freopen-tests (Files): Likewise.
38826         * modules/frexp-nolibm-tests (Files): Likewise.
38827         * modules/frexp-tests (Files): Likewise.
38828         * modules/frexpl-nolibm-tests (Files): Likewise.
38829         * modules/frexpl-tests (Files): Likewise.
38830         * modules/fseek-tests (Files): Likewise.
38831         * modules/fseeko-tests (Files): Likewise.
38832         * modules/fsync-tests (Files): Likewise.
38833         * modules/ftell-tests (Files): Likewise.
38834         * modules/ftello-tests (Files): Likewise.
38835         * modules/futimens-tests (Files): Likewise.
38836         * modules/getaddrinfo-tests (Files): Likewise.
38837         * modules/getcwd-tests (Files): Likewise.
38838         * modules/getdelim-tests (Files): Likewise.
38839         * modules/getdtablesize-tests (Files): Likewise.
38840         * modules/getgroups-tests (Files): Likewise.
38841         * modules/gethostname-tests (Files): Likewise.
38842         * modules/getline-tests (Files): Likewise.
38843         * modules/getopt-posix-tests (Files): Likewise.
38844         * modules/gettimeofday-tests (Files): Likewise.
38845         * modules/glob-tests (Files): Likewise.
38846         * modules/iconv-tests (Files): Likewise.
38847         * modules/inet_ntop-tests (Files): Likewise.
38848         * modules/inet_pton-tests (Files): Likewise.
38849         * modules/isblank-tests (Files): Likewise.
38850         * modules/lchown-tests (Files): Likewise.
38851         * modules/ldexpl-tests (Files): Likewise.
38852         * modules/link-tests (Files): Likewise.
38853         * modules/linkat-tests (Files): Likewise.
38854         * modules/lseek-tests (Files): Likewise.
38855         * modules/lstat-tests (Files): Likewise.
38856         * modules/mbrtowc-tests (Files): Likewise.
38857         * modules/mbsinit-tests (Files): Likewise.
38858         * modules/mbsnrtowcs-tests (Files): Likewise.
38859         * modules/mbsrtowcs-tests (Files): Likewise.
38860         * modules/memchr-tests (Files): Likewise.
38861         * modules/memcmp-tests (Files): Likewise.
38862         * modules/memmem-tests (Files): Likewise.
38863         * modules/memrchr-tests (Files): Likewise.
38864         * modules/mkdir-tests (Files): Likewise.
38865         * modules/mkfifo-tests (Files): Likewise.
38866         * modules/mkfifoat-tests (Files): Likewise.
38867         * modules/mknod-tests (Files): Likewise.
38868         * modules/nanosleep-tests (Files): Likewise.
38869         * modules/nl_langinfo-tests (Files): Likewise.
38870         * modules/obstack-printf-tests (Files): Likewise.
38871         * modules/open-tests (Files): Likewise.
38872         * modules/openat-tests (Files): Likewise.
38873         * modules/perror-tests (Files): Likewise.
38874         * modules/pipe2-tests (Files): Likewise.
38875         * modules/poll-tests (Files): Likewise.
38876         * modules/popen-tests (Files): Likewise.
38877         * modules/posix_spawn-tests (Files): Likewise.
38878         * modules/posix_spawnp-tests (Files): Likewise.
38879         * modules/pread-tests (Files): Likewise.
38880         * modules/printf-posix-tests (Files): Likewise.
38881         * modules/pty-tests (Files): Likewise.
38882         * modules/random_r-tests (Files): Likewise.
38883         * modules/rawmemchr-tests (Files): Likewise.
38884         * modules/readlink-tests (Files): Likewise.
38885         * modules/remove-tests (Files): Likewise.
38886         * modules/rename-tests (Files): Likewise.
38887         * modules/renameat-tests (Files): Likewise.
38888         * modules/rmdir-tests (Files): Likewise.
38889         * modules/round-tests (Files): Likewise.
38890         * modules/roundf-tests (Files): Likewise.
38891         * modules/roundl-tests (Files): Likewise.
38892         * modules/select-tests (Files): Likewise.
38893         * modules/setenv-tests (Files): Likewise.
38894         * modules/sigaction-tests (Files): Likewise.
38895         * modules/sleep-tests (Files): Likewise.
38896         * modules/snprintf-posix-tests (Files): Likewise.
38897         * modules/snprintf-tests (Files): Likewise.
38898         * modules/sprintf-posix-tests (Files): Likewise.
38899         * modules/stat-tests (Files): Likewise.
38900         * modules/strcasestr-tests (Files): Likewise.
38901         * modules/strchrnul-tests (Files): Likewise.
38902         * modules/strerror-tests (Files): Likewise.
38903         * modules/strsignal-tests (Files): Likewise.
38904         * modules/strstr-tests (Files): Likewise.
38905         * modules/strtod-tests (Files): Likewise.
38906         * modules/strverscmp-tests (Files): Likewise.
38907         * modules/symlink-tests (Files): Likewise.
38908         * modules/symlinkat-tests (Files): Likewise.
38909         * modules/times-tests (Files): Likewise.
38910         * modules/trunc-tests (Files): Likewise.
38911         * modules/truncf-tests (Files): Likewise.
38912         * modules/truncl-tests (Files): Likewise.
38913         * modules/tsearch-tests (Files): Likewise.
38914         * modules/uname-tests (Files): Likewise.
38915         * modules/unlink-tests (Files): Likewise.
38916         * modules/unsetenv-tests (Files): Likewise.
38917         * modules/usleep-tests (Files): Likewise.
38918         * modules/utimensat-tests (Files): Likewise.
38919         * modules/vasprintf-tests (Files): Likewise.
38920         * modules/vdprintf-posix-tests (Files): Likewise.
38921         * modules/vfprintf-posix-tests (Files): Likewise.
38922         * modules/vprintf-posix-tests (Files): Likewise.
38923         * modules/vsnprintf-posix-tests (Files): Likewise.
38924         * modules/vsnprintf-tests (Files): Likewise.
38925         * modules/vsprintf-posix-tests (Files): Likewise.
38926         * modules/wcrtomb-tests (Files): Likewise.
38927         * modules/wcsnrtombs-tests (Files): Likewise.
38928         * modules/wcsrtombs-tests (Files): Likewise.
38929         * modules/wcwidth-tests (Files): Likewise.
38930         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
38931         * tests/test-isinf.c (isinf): Likewise.
38932         * tests/test-isnan.c (isnan): Likewise.
38933         * tests/test-signbit.c (signbit): Likewise.
38934         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
38935         declaration, either as macro or with correct signature.
38936         (select): Ensure function under test is declared with correct
38937         signature in correct header.
38938         * tests/test-atexit.c (atexit): Likewise.
38939         * tests/test-btowc.c (btowc): Likewise.
38940         * tests/test-canonicalize-lgpl.c (realpath)
38941         (canonicalize_file_name): Likewise.
38942         * tests/test-ceilf1.c (ceilf): Likewise.
38943         * tests/test-ceill.c (ceill): Likewise.
38944         * tests/test-chown.c (chown): Likewise.
38945         * tests/test-dprintf-posix.c (dprintf): Likewise.
38946         * tests/test-dup2.c (dup2): Likewise.
38947         * tests/test-dup3.c (dup3): Likewise.
38948         * tests/test-duplocale.c (duplocale): Likewise.
38949         * tests/test-fchdir.c (fchdir): Likewise.
38950         * tests/test-fchownat.c (fchownat): Likewise.
38951         * tests/test-fcntl.c (fcntl): Likewise.
38952         * tests/test-fdopendir.c (fdopendir): Likewise.
38953         * tests/test-fflush.c (fflush): Likewise.
38954         * tests/test-flock.c (flock): Likewise.
38955         * tests/test-floorf1.c (floorf): Likewise.
38956         * tests/test-floorl.c (floorl): Likewise.
38957         * tests/test-fnmatch.c (fnmatch): Likewise.
38958         * tests/test-fopen.c (fopen): Likewise.
38959         * tests/test-fprintf-posix.c (fprintf): Likewise.
38960         * tests/test-freopen.c (freopen): Likewise.
38961         * tests/test-frexp.c (frexp): Likewise.
38962         * tests/test-frexpl.c (frexpl): Likewise.
38963         * tests/test-fseek.c (fseek): Likewise.
38964         * tests/test-fseeko.c (fseeko): Likewise.
38965         * tests/test-fstatat.c (fstatat): Likewise.
38966         * tests/test-fsync.c (fsync): Likewise.
38967         * tests/test-ftell.c (ftell): Likewise.
38968         * tests/test-ftello.c (ftello): Likewise.
38969         * tests/test-futimens.c (futimens): Likewise.
38970         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38971         (gai_strerror): Likewise.
38972         * tests/test-getcwd.c (getcwd): Likewise.
38973         * tests/test-getdelim.c (getdelim): Likewise.
38974         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38975         * tests/test-getgroups.c (getgroups): Likewise.
38976         * tests/test-gethostname.c (gethostname): Likewise.
38977         * tests/test-getline.c (getline): Likewise.
38978         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38979         Likewise.
38980         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38981         * tests/test-glob.c (glob, globfree): Likewise.
38982         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38983         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38984         * tests/test-inet_pton.c (inet_pton): Likewise.
38985         * tests/test-isblank.c (isblank): Likewise.
38986         * tests/test-lchown.c (lchown): Likewise.
38987         * tests/test-ldexpl.c (ldexpl): Likewise.
38988         * tests/test-link.c (link): Likewise.
38989         * tests/test-linkat.c (linkat): Likewise.
38990         * tests/test-lseek.c (lseek): Likewise.
38991         * tests/test-lstat.c (lstat): Likewise.
38992         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38993         * tests/test-mbsinit.c (mbsinit): Likewise.
38994         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38995         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38996         * tests/test-memchr.c (memchr): Likewise.
38997         * tests/test-memcmp.c (memcmp): Likewise.
38998         * tests/test-memmem.c (memmem): Likewise.
38999         * tests/test-memrchr.c (memrchr): Likewise.
39000         * tests/test-mkdir.c (mkdir): Likewise.
39001         * tests/test-mkdirat.c (mkdirat): Likewise.
39002         * tests/test-mkfifo.c (mkfifo): Likewise.
39003         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
39004         * tests/test-mknod.c (mknod): Likewise.
39005         * tests/test-nanosleep.c (nanosleep): Likewise.
39006         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
39007         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
39008         Likewise.
39009         * tests/test-open.c (open): Likewise.
39010         * tests/test-openat.c (openat): Likewise.
39011         * tests/test-perror.c (perror): Likewise.
39012         * tests/test-pipe2.c (pipe2): Likewise.
39013         * tests/test-poll.c (poll): Likewise.
39014         * tests/test-popen.c (popen, pclose): Likewise.
39015         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
39016         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
39017         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
39018         (posix_spawn_file_actions_destroy)
39019         (posix_spawn_file_actions_addclose)
39020         (posix_spawn_file_actions_addopen)
39021         (posix_spawn_file_actions_adddup2): Likewise.
39022         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
39023         * tests/test-pread.c (pread): Likewise.
39024         * tests/test-printf-posix.c (printf): Likewise.
39025         * tests/test-pty.c (openpty, forkpty): Likewise.
39026         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
39027         (random_r): Likewise.
39028         * tests/test-rawmemchr.c (rawmemchr): Likewise.
39029         * tests/test-readlink.c (readlink): Likewise.
39030         * tests/test-remove.c (remove): Likewise.
39031         * tests/test-rename.c (rename): Likewise.
39032         * tests/test-renameat.c (renameat): Likewise.
39033         * tests/test-rmdir.c (rmdir): Likewise.
39034         * tests/test-round1.c (round): Likewise.
39035         * tests/test-roundf1.c (roundf): Likewise.
39036         * tests/test-roundl.c (roundl): Likewise.
39037         * tests/test-setenv.c (setenv): Likewise.
39038         * tests/test-sigaction.c (sigaction): Likewise.
39039         * tests/test-sleep.c (sleep): Likewise.
39040         * tests/test-snprintf.c (snprintf): Likewise.
39041         * tests/test-sprintf-posix.c (sprintf): Likewise.
39042         * tests/test-stat.c (stat): Likewise.
39043         * tests/test-stpncpy.c (stpncpy): Likewise.
39044         * tests/test-strcasestr.c (strcasestr): Likewise.
39045         * tests/test-strchrnul.c (strchrnul): Likewise.
39046         * tests/test-strerror.c (strerror): Likewise.
39047         * tests/test-strsignal.c (strsignal): Likewise.
39048         * tests/test-strstr.c (strstr): Likewise.
39049         * tests/test-strtod.c (strtod): Likewise.
39050         * tests/test-strverscmp.c (strverscmp): Likewise.
39051         * tests/test-symlink.c (symlink): Likewise.
39052         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
39053         * tests/test-times.c (times): Likewise.
39054         * tests/test-trunc1.c (trunc): Likewise.
39055         * tests/test-truncf1.c (truncf): Likewise.
39056         * tests/test-truncl.c (truncl): Likewise.
39057         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
39058         Likewise.
39059         * tests/test-uname.c (uname): Likewise.
39060         * tests/test-unlink.c (unlink): Likewise.
39061         * tests/test-unlinkat.c (unlinkat): Likewise.
39062         * tests/test-unsetenv.c (unsetenv): Likewise.
39063         * tests/test-usleep.c (usleep): Likewise.
39064         * tests/test-utimensat.c (utimensat): Likewise.
39065         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
39066         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
39067         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
39068         * tests/test-vprintf-posix.c (vprintf): Likewise.
39069         * tests/test-vsnprintf.c (vsnprintf): Likewise.
39070         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
39071         * tests/test-wcrtomb.c (wcrtomb): Likewise.
39072         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
39073         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
39074         * tests/test-wcwidth.c (wcwidth): Likewise.
39075
39076         build: pull in conditional headers during GNULIB_POSIXCHECK
39077         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
39078         definitions from any conditionally-included headers.
39079         * lib/stdlib.in.h (includes): Likewise.
39080         * lib/unistd.in.h (includes): Likewise.
39081
39082 2009-12-24  Bruno Haible  <bruno@clisp.org>
39083
39084         * tests/test-argv-iter.c: Include header file being tested immediately
39085         after config.h.
39086         * tests/test-base64.c: Likewise.
39087         * tests/test-flock.c: Likewise.
39088         * tests/test-fsync.c: Likewise.
39089         * tests/test-getdate.c: Likewise.
39090         * tests/test-getndelim2.c: Likewise.
39091         * tests/test-isfinite.c: Likewise.
39092         * tests/test-isinf.c: Likewise.
39093         * tests/test-strerror.c: Likewise.
39094         * tests/test-strsignal.c: Likewise.
39095
39096 2009-12-23  Eric Blake  <ebb9@byu.net>
39097
39098         unistd: work around cygwin bug
39099         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
39100         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
39101         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39102
39103 2009-12-23  Bruno Haible  <bruno@clisp.org>
39104
39105         localename: More tests.
39106         * tests/test-localename.c (SIZEOF): New macro.
39107         (categories): New variable.
39108         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
39109         test_locale_name_default): Add test w.r.t. thread locale.
39110         (test_locale_name_thread): New function.
39111         (main): Invoke it.
39112
39113         localename: Make aware of thread locale.
39114         * lib/localename.h (gl_locale_name_thread): New declaration.
39115         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
39116         behaviour with respect to thread locale.
39117         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
39118         <langinfo.h>, glthread/lock.h.
39119         (SIZE_BITS): New macro.
39120         (string_hash): New function.
39121         (struct hash_node): New type.
39122         (HASH_TABLE_SIZE): New macro.
39123         (struniq_hash_table, struniq_lock): New variables.
39124         (struniq): New function.
39125         (gl_locale_name_thread): New function.
39126         (gl_locale_name): Invoke it.
39127         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
39128         * modules/localename (Depends-on): Add lock.
39129         Reported by Mike Gran <spk121@yahoo.com>.
39130
39131 2009-12-23  Eric Blake  <ebb9@byu.net>
39132
39133         va-args: new module
39134         * modules/va-args: New file.
39135         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
39136         * MODULES.html.sh (Core language properties): Mention it.
39137
39138         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
39139         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
39140         named alias for __attribute__((__unused__)).
39141         * lib/chown.c: Update client.
39142         * lib/fchmodat.c: Likewise.
39143         * lib/fts.c: Likewise.
39144         * lib/getdate.y: Likewise.
39145         * lib/getgroups.c: Likewise.
39146         * lib/getopt.c: Likewise.
39147         * lib/getugroups.c: Likewise.
39148         * lib/mkdir.c: Likewise.
39149         * lib/mkfifo.c: Likewise.
39150         * lib/mkfifoat.c: Likewise.
39151         * lib/mknod.c: Likewise.
39152         * lib/mknodat.c: Likewise.
39153         * lib/readlink.c: Likewise.
39154         * lib/se-context.in.h: Likewise.
39155         * lib/se-selinux.in.h: Likewise.
39156         * lib/sockets.c: Likewise.
39157         * lib/symlink.c: Likewise.
39158         * lib/symlinkat.c: Likewise.
39159         * lib/unicodeio.c: Likewise.
39160         * lib/unistr.h: Likewise.
39161         * tests/test-areadlink.c: Likewise.
39162         * tests/test-areadlinkat.c: Likewise.
39163         * tests/test-filenamecat.c: Likewise.
39164         * tests/test-fseeko.c: Likewise.
39165         * tests/test-ftello.c: Likewise.
39166         * tests/test-getdate.c: Likewise.
39167         * tests/test-getgroups.c: Likewise.
39168         * tests/test-gethostname.c: Likewise.
39169         * tests/test-quotearg.c: Likewise.
39170         * tests/test-version-etc.c: Likewise.
39171         * tests/test-xalloc-die.c: Likewise.
39172         * tests/test-xfprintf-posix.c: Likewise.
39173         * tests/test-xprintf-posix.c: Likewise.
39174         * tests/test-xvasprintf.c: Likewise.
39175
39176         tests: avoid compiler warnings
39177         * tests/test-fcntl.c (main): Delete unused parameters.
39178         * tests/test-freopen-safer.c (main): Likewise.
39179         * tests/test-xalloc-die.c (main): Mark unused parameters.
39180         * tests/test-fseeko.c (main): Likewise.
39181         * tests/test-ftello.c (main): Likewise.
39182         * tests/test-nanosleep.c (main): Avoid declaration warning.
39183         * tests/test-sleep.c (main): Likewise.
39184         * tests/test-unsetenv.c (main): Silence warning about string
39185         literal.
39186         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
39187
39188 2009-12-23  Bruno Haible  <bruno@clisp.org>
39189
39190         * tests/test-localename.c (test_locale_name): New function, extracted
39191         from main. Also test mixed situations.
39192         (test_locale_name_posix, test_locale_name_environ,
39193         test_locale_name_default): New functions.
39194         (main): Invoke them all.
39195         * modules/localename-tests (configure.ac): Test for newlocale.
39196
39197 2009-12-23  Bruno Haible  <bruno@clisp.org>
39198
39199         unistd: Ensure getcwd gets declared before being overridden.
39200         * lib/unistd.in.h: Conditionally include <io.h>.
39201
39202 2009-12-22  Bruno Haible  <bruno@clisp.org>
39203
39204         wchar: Diagnose broken combination of glibc and gcc versions and flags.
39205         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
39206         (gl_WCHAR_H): Invoke it.
39207         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
39208         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
39209         Reported by Karl Berry <karl@freefriends.org>.
39210
39211 2009-12-22  Eric Blake  <ebb9@byu.net>
39212
39213         math, unistd: avoid redundant includes
39214         * lib/math.in.h (isnan): No need to re-include <math.h>.
39215         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
39216
39217         getsubopt: work around cygwin bug
39218         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
39219         avoid conflicting with system getsubopt.
39220         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
39221         bug.
39222
39223         getopt: synchronize from glibc
39224         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
39225         parameter order.  Adjust all callers.
39226         (_getopt_internal_r, main): Adjust quoting in error messages.
39227         Drop considerations for outdated POSIX 1003.2 error message.
39228         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
39229         callers.
39230         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
39231
39232         test-getopt: test stderr behavior
39233         * modules/getopt-posix-tests (Depends-on): Add dup2.
39234         * tests/test-getopt.c (ASSERT): Avoid stderr.
39235         (main): Move stderr to a temporary file.
39236         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
39237         Instead, add parameter to inform caller if output occurred.
39238         (test_getopt): Adjust all existing tests to expect silence, and
39239         add new tests of leading ":".
39240         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
39241         glibc shortcomings with leading "-:" or "+:" in optstring.
39242         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39243         Likewise.
39244         * doc/posix-functions/getopt.texi (getopt): Likewise.
39245
39246         test-getopt: enhance test
39247         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
39248         supports optind=0.
39249         * tests/test-getopt.c (OPTIND_MIN): Move...
39250         * tests/test-getopt.h (OPTIND_MIN): ...here.
39251         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
39252         Require that optind=0 works, since modern BSD supports it in
39253         addition to optreset, and since coreutils expects it.
39254         (test_getopt_long_only): New test.
39255         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
39256         glibc shortcomings with 'W;', and enforcement of optind=0.
39257         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39258         Likewise.
39259
39260 2009-12-21  Bruno Haible  <bruno@clisp.org>
39261
39262         localename: Improvements for MacOS X and Cygwin.
39263         * lib/localename.h (gl_locale_name_environ): New declaration.
39264         * lib/localename.c (gl_locale_name_environ): New function, extracted from
39265         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
39266         (gl_locale_name_posix): Invoke it.
39267         (gl_locale_name_default): Add comments. Use Windows native API also on
39268         Cygwin.
39269
39270 2009-12-21  Bruno Haible  <bruno@clisp.org>
39271
39272         Update list of Win32 locale ids.
39273         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
39274         (LANG_SAMI): Renamed from LANG_SAAMI.
39275         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
39276         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
39277         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
39278         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
39279         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
39280         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
39281         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
39282         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
39283         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
39284         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
39285         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
39286         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
39287         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
39288         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
39289         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
39290         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
39291         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
39292         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
39293         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
39294         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
39295         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
39296         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
39297         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
39298         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
39299         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
39300         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
39301         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
39302         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
39303         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
39304         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
39305         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
39306         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
39307         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
39308         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
39309         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
39310         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
39311         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
39312         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
39313         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
39314         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
39315         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
39316         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
39317         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
39318         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
39319         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
39320         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
39321         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
39322         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
39323         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
39324         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
39325         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
39326         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
39327         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
39328         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
39329         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
39330         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
39331         Add more languages and countries for Sami, Sorbian. Add more countries
39332         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
39333         for Pashto. Change country for Syriac, Tswana.
39334
39335 2009-12-21  Eric Blake  <ebb9@byu.net>
39336
39337         test-utimens: avoid spurious failure
39338         * tests/test-chown.h (nap): Factor...
39339         * tests/nap.h: ...into new file.
39340         * tests/test-lchown.h (nap): Avoid duplication.
39341         * tests/test-utimens-common.h (nap): Use shared implementation,
39342         necessary on file systems with 1-second resolution.
39343         * modules/chown-tests (Files): Include new file.
39344         * modules/fdutimensat-tests (Files): Likewise.
39345         * modules/futimens-tests (Files): Likewise.
39346         * modules/lchown-tests (Files): Likewise.
39347         * modules/openat-tests (Files): Likewise.
39348         * modules/utimens-tests (Files): Likewise.
39349         * modules/utimensat-tests (Files): Likewise.
39350
39351 2009-12-19  Eric Blake  <ebb9@byu.net>
39352
39353         futimens, utimensat: work around Linux bug
39354         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
39355         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39356         * lib/utimensat.c (rpl_utimensat): Work around it.
39357         * lib/futimens.c (rpl_futimens): Adjust comment.
39358
39359         utimens: work around Linux ctime bug
39360         * lib/utimens.c (detect_ctime_bug): New helper function.
39361         (update_timespec): Differentiate between workaround needed for
39362         this bug vs. what is needed for systems that lack utimensat.
39363         (fdutimens, lutimens): Work around bug.
39364
39365         utimens: check for ctime update
39366         * tests/test-utimens-common.h (check_ctime): Define.
39367         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
39368         * tests/test-futimens.h (test_futimens): Likewise.
39369         * tests/test-lutimens.h (test_lutimens): Likewise.
39370         * doc/posix-functions/futimens.texi (futimens): Document the bug.
39371         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39372
39373 2009-12-19  Bruno Haible  <bruno@clisp.org>
39374
39375         dprintf-posix: Check against memory leak fixed on 2009-12-15.
39376         * tests/test-dprintf-posix2.sh: New file.
39377         * tests/test-dprintf-posix2.c: New file.
39378         * modules/dprintf-posix-tests (Files): Add them.
39379         (configure.ac): Check for getrlimit and setrlimit.
39380         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
39381
39382 2009-12-19  Bruno Haible  <bruno@clisp.org>
39383
39384         fprintf-posix: Check against memory leak fixed on 2009-12-15.
39385         * tests/test-fprintf-posix3.sh: New file.
39386         * tests/test-fprintf-posix3.c: New file.
39387         * modules/fprintf-posix-tests (Files): Add them.
39388         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
39389
39390 2009-12-19  Eric Blake  <ebb9@byu.net>
39391
39392         dirfd: fix prototype
39393         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
39394         * lib/dirfd.c (dirfd): Likewise.
39395
39396         canonicalize: reduce memory usage
39397         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
39398         allocation to size.
39399         Reported by Solar Designer <solar@openwall.com>.
39400
39401 2009-12-19  Bruno Haible  <bruno@clisp.org>
39402
39403         New module attribute 'Applicability'.
39404         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
39405         * gnulib-tool: New option --extract-applicability.
39406         (func_usage): Document it.
39407         (sed_extract_prog): Recognize it.
39408         (func_get_applicability): New function.
39409         (func_import): Generalize handling of 'link-warning' module.
39410         * modules/link-warning (Applicability): New section.
39411         * modules/arg-nonnull (Applicability): New section.
39412         Repoted by Simon Josefsson <simon@josefsson.org>.
39413
39414 2009-12-19  Bruno Haible  <bruno@clisp.org>
39415
39416         fflush: tweak
39417         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
39418         * lib/fseeko.c (rpl_fseeko): Likewise.
39419
39420 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
39421
39422         * lib/gl_list.h: Fix typo in comment.
39423
39424 2009-12-16  Eric Blake  <ebb9@byu.net>
39425
39426         fcntl: use to simplify other modules
39427         * modules/cloexec (Depends-on): Add fcntl.
39428         * modules/fchdir (Depends-on): Likewise.
39429         * modules/fd-safer-flag (Depends-on): Likewise.
39430         * modules/unistd-safer (Depends-on): Likewise.
39431         * modules/dup3 (configure.ac): Set module indicator.
39432         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
39433         missing.
39434         * lib/fchdir.c (_gl_register_dup): Fix comment.
39435         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
39436         * lib/dup-safer.c (dup_safer): Likewise.
39437         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
39438         * lib/dup3.c (dup3): Likewise.
39439         * tests/test-fchdir.c (main): Enhance test.
39440         Fixes a dup_cloexec bug reported by Ondřej Vašík.
39441
39442         fcntl: port portions of fcntl to mingw
39443         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
39444         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
39445         replacement for mingw.
39446         * modules/fcntl (Description): Update.
39447         (Depends-on): Add dup2.
39448         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
39449         * modules/fcntl-h (Makefile.am): Substitute it.
39450         * lib/fcntl.in.h (fcntl): Update declaration.
39451         (F_DUPFD, F_GETFD): New macros, when needed.
39452         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39453         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
39454         * tests/test-fcntl.c (check_flags, main): Enhance test for items
39455         we now guarantee.
39456
39457         fcntl: work around cygwin bug in F_DUPFD
39458         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
39459         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
39460         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
39461         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
39462         * doc/posix-functions/fcntl.texi (fcntl): Document it.
39463
39464         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
39465         * modules/fcntl (Files): List new files.
39466         (configure.ac): Run a test.
39467         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
39468         * lib/fcntl.c (rpl_fcntl): Likewise.
39469         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
39470         (gl_FCNTL_H): Always replace fcntl.h.
39471         * modules/fcntl-h (Makefile.am): Substitute witnesses.
39472         * lib/fcntl.in.h (fcntl): Declare replacement.
39473         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
39474         needed, plus a witness.
39475         * doc/posix-functions/fcntl.texi (fcntl): Document this.
39476         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39477         * tests/test-fcntl.c: New file.
39478         * modules/fcntl-tests: Likewise.
39479
39480         binary-io: avoid potential compilation warning
39481         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
39482         directives.
39483
39484         fflush: avoid compilation error on NetBSD
39485         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
39486         between off_t and fpos_t, since the latter is sometimes a struct.
39487         * lib/fseeko.c (rpl_fseeko): Likewise.
39488         Reported by Alexander Nasonov <alnsn@yandex.ru>.
39489
39490 2009-12-15  Eric Blake  <ebb9@byu.net>
39491
39492         fcntl-h, stdio, sys_ioctl: fix declarations
39493         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
39494         function must not take arguments.
39495         * lib/sys_ioctl.in.h (ioctl): Likewise.
39496         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
39497         (open): Add a link warning.
39498
39499 2009-12-15  Jim Meyering  <meyering@redhat.com>
39500
39501         areadlink, areadlink-with-size: relax license to LGPLv2+
39502         * modules/areadlink (License): Relax to LGPLv2+.
39503         * modules/areadlink-with-size (License): Likewise.
39504
39505 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
39506             Bruno Haible  <bruno@clisp.org>
39507
39508         *printf: Fix memory leak.
39509         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
39510         * lib/vfprintf.c (vfprintf): Likewise.
39511         * lib/dprintf.c (dprintf): Likewise.
39512         * lib/vdprintf.c (vdprintf): Likewise.
39513
39514 2009-12-14  Eric Blake  <ebb9@byu.net>
39515
39516         accept4: adjust module dependencies
39517         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
39518
39519         utimens: one more try at avoiding compiler warning
39520         * lib/utimens.c (lutimens): Lower scope of result.
39521
39522 2009-12-13  Bruno Haible  <bruno@clisp.org>
39523
39524         Move the malloc checking from module 'list' to new module 'xlist'.
39525         * modules/xlist: New file.
39526         * lib/gl_xlist.h: New file.
39527         * lib/gl_xlist.c: New file.
39528         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
39529         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
39530         gl_list_add_last, gl_list_add_before, gl_list_add_after,
39531         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
39532         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
39533         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
39534         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
39535         gl_sortedlist_nx_add): New declarations.
39536         (struct gl_list_implementation): Rename and change methods accordingly.
39537         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
39538         (gl_list_nx_create): Renamed from gl_list_create.
39539         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39540         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39541         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39542         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39543         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39544         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39545         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39546         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39547         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
39548         gl_list_create_empty.
39549         (gl_list_nx_create): Renamed from gl_list_create.
39550         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39551         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39552         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39553         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39554         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39555         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39556         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39557         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39558         * lib/gl_array_list.c: Don't include xalloc.h.
39559         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
39560         NULL upon out-of-memory.
39561         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
39562         out-of-memory.
39563         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
39564         Change return type to 'int'.
39565         (gl_array_nx_set_at): Renamed from gl_array_set_at.
39566         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39567         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
39568         upon out-of-memory.
39569         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
39570         upon out-of-memory.
39571         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
39572         upon out-of-memory.
39573         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
39574         upon out-of-memory.
39575         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
39576         out-of-memory.
39577         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
39578         Update.
39579         (gl_array_list_implementation): Update.
39580         * lib/gl_carray_list.c: Don't include xalloc.h.
39581         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
39582         Return NULL upon out-of-memory.
39583         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
39584         out-of-memory.
39585         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
39586         Change return type to 'int'.
39587         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
39588         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39589         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
39590         upon out-of-memory.
39591         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
39592         upon out-of-memory.
39593         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
39594         out-of-memory.
39595         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
39596         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
39597         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
39598         Update.
39599         (gl_carray_list_implementation): Update.
39600         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
39601         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
39602         gl_linked_create_empty. Return NULL upon out-of-memory.
39603         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
39604         out-of-memory.
39605         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
39606         Change return type to 'int'. Return -1 upon out-of-memory.
39607         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
39608         out-of-memory.
39609         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
39610         upon out-of-memory.
39611         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
39612         upon out-of-memory.
39613         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
39614         NULL upon out-of-memory.
39615         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
39616         upon out-of-memory.
39617         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
39618         out-of-memory.
39619         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
39620         Update.
39621         * lib/gl_linked_list.c: Don't include xalloc.h.
39622         (gl_linked_list_implementation): Update.
39623         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
39624         (add_to_bucket): Change return type to 'int'.
39625         (gl_linkedhash_list_implementation): Update.
39626         * lib/gl_anytree_list1.h (free_subtree): New function.
39627         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
39628         gl_tree_create_empty. Return NULL upon out-of-memory.
39629         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
39630         Change return type to 'int'. Return -1 upon out-of-memory.
39631         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
39632         out-of-memory.
39633         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
39634         (gl_tree_remove_node): New function, moved here from
39635         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
39636         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
39637         Update.
39638         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
39639         malloc, not xmalloc. Return NULL upon out-of-memory.
39640         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39641         out-of-memory.
39642         (gl_tree_remove_node_from_tree): New function, extracted from
39643         gl_tree_remove_node.
39644         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39645         upon out-of-memory.
39646         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39647         out-of-memory.
39648         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39649         upon out-of-memory.
39650         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39651         upon out-of-memory.
39652         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39653         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
39654         not xmalloc. Return NULL upon out-of-memory.
39655         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39656         out-of-memory.
39657         (gl_tree_remove_node_from_tree): New function, extracted from
39658         gl_tree_remove_node.
39659         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39660         upon out-of-memory.
39661         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39662         out-of-memory.
39663         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39664         upon out-of-memory.
39665         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39666         upon out-of-memory.
39667         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39668         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
39669         gl_anytree_list1.h before gl_anyavltree_list2.h.
39670         (gl_avltree_list_implementation): Update.
39671         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
39672         gl_anytree_list1.h before gl_anyavltree_list2.h.
39673         (gl_rbtree_list_implementation): Update.
39674         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
39675         Change return type to 'int'. Return -1 upon out-of-memory. Use
39676         __builtin_expect.
39677         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
39678         (gl_avltreehash_list_implementation): Update.
39679         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
39680         (gl_rbtreehash_list_implementation): Update.
39681         * modules/array-list (Depends-on): Remove xalloc.
39682         * modules/carray-list (Depends-on): Likewise.
39683         * modules/linked-list (Depends-on): Likewise.
39684         * modules/linkedhash-list (Depends-on): Likewise.
39685         * modules/avltree-list (Depends-on): Likewise.
39686         * modules/rbtree-list (Depends-on): Likewise.
39687         * modules/avltreehash-list (Depends-on): Likewise.
39688         * modules/rbtreehash-list (Depends-on): Likewise.
39689
39690         * modules/xsublist: New file.
39691         * lib/gl_xsublist.h: New file.
39692         * lib/gl_xsublist.c: New file.
39693         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
39694         (gl_sublist_nx_create): New declaration.
39695         * lib/gl_sublist.c: Don't include xalloc.h.
39696         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
39697         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
39698         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
39699         Change return type to 'int'. Return -1 upon out-of-memory.
39700         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
39701         upon out-of-memory.
39702         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
39703         NULL upon out-of-memory.
39704         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
39705         upon out-of-memory.
39706         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
39707         NULL upon out-of-memory.
39708         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
39709         NULL upon out-of-memory.
39710         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
39711         upon out-of-memory.
39712         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
39713         (gl_sublist_list_implementation): Update.
39714         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
39715         upon out-of-memory.
39716         * modules/sublist (Depends-on): Remove xalloc.
39717
39718         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
39719         * tests/test-carray_list.c: Likewise.
39720         * tests/test-linked_list.c: Likewise.
39721         * tests/test-linkedhash_list.c: Likewise.
39722         * tests/test-avltree_list.c: Likewise.
39723         * tests/test-rbtree_list.c: Likewise.
39724         * tests/test-avltreehash_list.c: Likewise.
39725         * tests/test-rbtreehash_list.c: Likewise.
39726         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
39727         * modules/carray-list-tests (Makefile.am): Likewise.
39728         * modules/linked-list-tests (Makefile.am): Likewise.
39729         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39730         * modules/avltree-list-tests (Makefile.am): Likewise.
39731         * modules/rbtree-list-tests (Makefile.am): Likewise.
39732         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39733         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39734
39735         * NEWS: Mention the changes.
39736
39737         * lib/clean-temp.c: Include gl_xlist.h.
39738         * modules/clean-temp (Depends-on): Add xlist.
39739
39740         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
39741         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
39742
39743         * tests/test-array_oset.c: Include gl_xlist.h.
39744         * modules/array-oset-tests (Depends-on): Add xlist.
39745
39746         Reported by José E. Marchesi <jemarch@gnu.org>.
39747
39748 2009-12-13  Bruno Haible  <bruno@clisp.org>
39749
39750         Move the malloc checking from module 'oset' to new module 'xoset'.
39751         * modules/xoset: New file.
39752         * lib/gl_xoset.h: New file.
39753         * lib/gl_xoset.c: New file.
39754         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
39755         declarations.
39756         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
39757         (struct gl_oset_implementation): Rename and change methods accordingly.
39758         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
39759         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39760         'int'. Mark as __warn_unused_result__.
39761         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
39762         gl_oset_create_empty.
39763         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39764         'int'.
39765         * lib/gl_array_oset.c: Don't include xalloc.h.
39766         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
39767         malloc, not xmalloc.
39768         (grow): Change return type to 'int'. Don't call xalloc_die.
39769         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
39770         to 'int'.
39771         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
39772         'int'.
39773         (gl_array_oset_implementation): Update.
39774         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
39775         gl_tree_create_empty.
39776         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
39777         'int'.
39778         * lib/gl_avltree_oset.c: Don't include xalloc.h.
39779         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39780         xmalloc.
39781         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39782         not xmalloc.
39783         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39784         xmalloc.
39785         (gl_avltree_oset_implementation): Update.
39786         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
39787         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39788         xmalloc.
39789         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39790         not xmalloc.
39791         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39792         xmalloc.
39793         (gl_rbtree_oset_implementation): Update.
39794         * modules/array-oset (Depends-on): Remove xalloc.
39795         * modules/avltree-oset (Depends-on): Likewise.
39796         * modules/rbtree-oset (Depends-on): Likewise.
39797         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
39798         * tests/test-avltree_oset.c: Likewise.
39799         * tests/test-rbtree_oset.c: Likewise.
39800         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39801         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
39802         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39803         * NEWS: Mention the change.
39804
39805 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
39806
39807         maint.mk: allow a project to override release-prep commands
39808         * top/maint.mk (alpha, beta, stable): Move release-preparatory
39809         commands into a new rule.
39810         (release-prep): New rule.
39811         (release-prep-hook): New overridable variable.
39812
39813 2009-12-13  Bruno Haible  <bruno@clisp.org>
39814
39815         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
39816
39817 2009-12-13  Jim Meyering  <meyering@redhat.com>
39818
39819         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
39820         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
39821
39822 2009-12-12  Bruno Haible  <bruno@clisp.org>
39823
39824         duplocale: Tweak.
39825         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
39826
39827 2009-12-12  Karl Berry  <karl@gnu.org>
39828
39829         * config/srclist.txt (strtoll.c): tab changes, no more sync.
39830
39831 2009-12-12  Bruno Haible  <bruno@clisp.org>
39832
39833         * m4/po.m4: Undo incorrect untabification.
39834
39835 2009-12-12  Bruno Haible  <bruno@clisp.org>
39836
39837         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
39838         * modules/c-strtod (Depends-on): Add locale.
39839         * modules/c-strtold (Depends-on): Likewise.
39840
39841 2009-12-12  Bruno Haible  <bruno@clisp.org>
39842
39843         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
39844
39845 2009-12-11  Eric Blake  <ebb9@byu.net>
39846
39847         setenv: relax requirement in light of POSIX ruling
39848         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
39849         not NULL.
39850         * tests/test-setenv.c (main): Relax test.
39851         * tests/test-unsetenv.c (main): Likewise.
39852         * doc/posix-functions/setenv.texi (setenv): Document this.
39853         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39854
39855 2009-12-11  Bruno Haible  <bruno@clisp.org>
39856
39857         New module 'fd-safer-flag'.
39858         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
39859         * lib/dup-safer.c (dup_safer_flag): Remove function.
39860         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
39861         * lib/fd-safer.c (fd_safer_flag): Remove function.
39862         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
39863         * modules/cloexec (configure.ac): Drop indicator macro.
39864         * modules/fd-safer-flag: New file.
39865         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
39866         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
39867         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
39868
39869 2009-12-11  Bruno Haible  <bruno@clisp.org>
39870
39871         Tests for module 'nl_langinfo'.
39872         * modules/nl_langinfo-tests: New file.
39873         * tests/test-nl_langinfo.sh: New file.
39874         * tests/test-nl_langinfo.c: New file.
39875
39876         New module 'nl_langinfo'.
39877         * lib/nl_langinfo.c: New file.
39878         * m4/nl_langinfo.m4: New file.
39879         * modules/nl_langinfo: New file.
39880         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
39881
39882 2009-12-11  Bruno Haible  <bruno@clisp.org>
39883
39884         Tests for module 'langinfo'.
39885         * modules/langinfo-tests: New file.
39886         * tests/test-langinfo.c: New file.
39887
39888         New module 'langinfo'.
39889         * lib/langinfo.in.h: New file.
39890         * m4/langinfo_h.m4: New file.
39891         * modules/langinfo: New file.
39892         * doc/posix-headers/langinfo.texi: Mention the new module.
39893
39894 2009-12-11  Bruno Haible  <bruno@clisp.org>
39895
39896         * lib/config.charset: Untabify.
39897
39898 2009-12-11  Bruno Haible  <bruno@clisp.org>
39899
39900         * modules/unistd-safer (configure.ac): Drop indicator macro.
39901
39902 2009-12-11  Bruno Haible  <bruno@clisp.org>
39903
39904         Move pipe2-safer code to its own file.
39905         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
39906         * lib/pipe-safer.c (pipe2_safer): Remove function.
39907         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
39908         (Makefile.am): Add it to lib_SOURCES.
39909
39910 2009-12-10  Bruno Haible  <bruno@clisp.org>
39911
39912         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
39913
39914 2009-12-10  Bruno Haible  <bruno@clisp.org>
39915
39916         Declare which arguments expect non-NULL values, for GCC and clang.
39917         * build-aux/arg-nonnull.h: New file.
39918         * modules/arg-nonnull: New file.
39919         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
39920         (inet_ntop, inet_pton): Use it.
39921         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
39922         (closedir, dirfd, opendir, scandir, alphasort): Use it.
39923         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
39924         (open, openat): Use it.
39925         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
39926         (fnmatch): Use it.
39927         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
39928         (getopt, getopt_long, getopt_long_only): Use it.
39929         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
39930         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
39931         Use it.
39932         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
39933         (iconv_open): Use it.
39934         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
39935         (strtoimax, strtoumax): Use it.
39936         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
39937         (duplocale): Use it.
39938         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
39939         (frexp, frexpl): Use it.
39940         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
39941         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
39942         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39943         (tsearch, tfind, tdelete, twalk): Use it.
39944         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39945         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39946         sigpending): Use it.
39947         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39948         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39949         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39950         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39951         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39952         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39953         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39954         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39955         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39956         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39957         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39958         Use it.
39959         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39960         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39961         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39962         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39963         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39964         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39965         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39966         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39967         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39968         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39969         strtoull, unsetenv): Use it.
39970         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39971         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39972         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39973         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39974         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39975         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39976         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39977         (strcasecmp, strncasecmp): Use it.
39978         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39979         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39980         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39981         rpl_setsockopt): Use it.
39982         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39983         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39984         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39985         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39986         (gettimeofday): Use it.
39987         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39988         (times): Use it.
39989         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39990         (uname): Use it.
39991         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39992         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39993         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39994         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39995         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39996         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39997         unlinkat, write): Use it.
39998         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39999         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
40000         * lib/argv-iter.h: Include arg-nonnull.h.
40001         (_ATTRIBUTE_NONNULL_): Remove macro.
40002         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
40003         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
40004         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
40005         optimization.
40006         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
40007         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
40008         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
40009         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
40010         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
40011         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
40012         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
40013         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
40014         * modules/arpa_inet (Depends-on): Add arg-nonnull.
40015         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
40016         * modules/dirent (Depends-on): Add arg-nonnull.
40017         (Makefile.am): Insert arg-nonnull.h into dirent.h.
40018         * modules/fcntl-h (Depends-on): Add arg-nonnull.
40019         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
40020         * modules/fnmatch (Depends-on): Add arg-nonnull.
40021         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
40022         * modules/getopt-posix (Depends-on): Add arg-nonnull.
40023         (Makefile.am): Insert arg-nonnull.h into getopt.h.
40024         * modules/glob (Depends-on): Add arg-nonnull.
40025         (Makefile.am): Insert arg-nonnull.h into glob.h.
40026         * modules/iconv_open (Depends-on): Add arg-nonnull.
40027         (Makefile.am): Insert arg-nonnull.h into iconv.h.
40028         * modules/inttypes (Depends-on): Add arg-nonnull.
40029         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
40030         * modules/locale (Depends-on): Add arg-nonnull.
40031         (Makefile.am): Insert arg-nonnull.h into locale.h.
40032         * modules/math (Depends-on): Add arg-nonnull.
40033         (Makefile.am): Insert arg-nonnull.h into math.h.
40034         * modules/netdb (Depends-on): Add arg-nonnull.
40035         (Makefile.am): Insert arg-nonnull.h into netdb.h.
40036         * modules/search (Depends-on): Add arg-nonnull.
40037         (Makefile.am): Insert arg-nonnull.h into search.h.
40038         * modules/signal (Depends-on): Add arg-nonnull.
40039         (Makefile.am): Insert arg-nonnull.h into signal.h.
40040         * modules/spawn (Depends-on): Add arg-nonnull.
40041         (Makefile.am): Insert arg-nonnull.h into spawn.h.
40042         * modules/stdio (Depends-on): Add arg-nonnull.
40043         (Makefile.am): Insert arg-nonnull.h into stdio.h.
40044         * modules/stdlib (Depends-on): Add arg-nonnull.
40045         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
40046         * modules/string (Depends-on): Add arg-nonnull.
40047         (Makefile.am): Insert arg-nonnull.h into string.h.
40048         * modules/strings (Depends-on): Add arg-nonnull.
40049         (Makefile.am): Insert arg-nonnull.h into strings.h.
40050         * modules/sys_socket (Depends-on): Add arg-nonnull.
40051         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
40052         * modules/sys_stat (Depends-on): Add arg-nonnull.
40053         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
40054         * modules/sys_time (Depends-on): Add arg-nonnull.
40055         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
40056         * modules/sys_times (Depends-on): Add arg-nonnull.
40057         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
40058         * modules/sys_utsname (Depends-on): Add arg-nonnull.
40059         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
40060         * modules/time (Depends-on): Add arg-nonnull.
40061         (Makefile.am): Insert arg-nonnull.h into time.h.
40062         * modules/unistd (Depends-on): Add arg-nonnull.
40063         (Makefile.am): Insert arg-nonnull.h into unistd.h.
40064         * modules/wchar (Depends-on): Add arg-nonnull.
40065         (Makefile.am): Insert arg-nonnull.h into wchar.h.
40066         * modules/argv-iter (Depends-on): Add arg-nonnull.
40067         * tests/test-canonicalize.c (null_ptr): New function.
40068         (main): Use it.
40069         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
40070         (main): Use it.
40071         * tests/test-memmem.c (null_ptr): New function.
40072         (main): Use it.
40073         Reported by Jim Meyering.
40074
40075 2009-12-10  Bruno Haible  <bruno@clisp.org>
40076
40077         Use spaces for indentation, not tabs.
40078         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
40079         * m4/*.m4: Untabify.
40080         * build-aux/*.h: Untabify.
40081         * tests/**/*.[hc]: Untabify.
40082         * README: New section "Indent with spaces, not TABs", based on
40083         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
40084         * NEWS: Mention the change.
40085
40086 2009-12-10  Bruno Haible  <bruno@clisp.org>
40087
40088         pty test: Fix link error.
40089         * modules/pty-tests (Makefile.am): Add the default LDADD value to
40090         test_pty_LDADD.
40091
40092 2009-12-07  Simon Josefsson  <simon@josefsson.org>
40093
40094         * modules/pty: New file.
40095         * modules/pty-tests: New file.
40096         * m4/pty.m4: New file.
40097         * tests/test-pty.c: New file.
40098         * doc/glibc-headers/pty.texi: Modified.
40099         * doc/glibc-functions/forkpty.texi: Modified.
40100         * doc/glibc-functions/openpty.texi: Modified.
40101
40102 2009-12-10  Bruno Haible  <bruno@clisp.org>
40103
40104         Avoid syntax error in C++ mode.
40105         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
40106
40107 2009-12-10  Bruno Haible  <bruno@clisp.org>
40108
40109         Use sed with option -e.
40110         * gnulib-tool (func_version, func_emit_copyright_notice,
40111         func_emit_initmacro_end, func_import, func_create_testdir): Pass
40112         option -e to sed.
40113         * modules/link-warning (Makefile.am): Likewise.
40114
40115 2009-12-10  Jim Meyering  <meyering@redhat.com>
40116
40117         mgetgroups: do not write bytes beyond end of malloc'd buffer
40118         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
40119         username, we call getgroups with a one-element-shorter buffer,
40120         but still told it the length was original, max_n_groups.
40121
40122 2009-12-09  Eric Blake  <ebb9@byu.net>
40123
40124         cloexec: relax license
40125         * modules/cloexec (Maintainer): Add myself.
40126         (License): Use LGPL, not GPL.
40127
40128         link-warning: optimize generation
40129         * modules/link-warning (Makefile.am): Reduce process usage.
40130
40131 2009-12-09  Bruno Haible  <bruno@clisp.org>
40132
40133         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
40134         workaround was added on 2009-11-17.
40135
40136 2009-12-09  Jim Meyering  <meyering@redhat.com>
40137             Bruno Haible  <bruno@clisp.org>
40138
40139         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
40140         * modules/link-warning (Makefile.am): Make the comment-removing sed
40141         command more robust in the face of bootstrap-prepended comment lines.
40142
40143 2009-12-09  Bruno Haible  <bruno@clisp.org>
40144
40145         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
40146         most one group.
40147
40148 2009-12-09  Simon Josefsson <simon@josefsson.org>
40149             Bruno Haible  <bruno@clisp.org>
40150
40151         * build-aux/link-warning.h: Add copyright notice.
40152         * modules/link-warning (Makefile.am): Generate link-warning.h from
40153         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
40154         * NEWS: Mention change in link-warning module.
40155         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
40156         * modules/dirent (Makefile.am): Add dependency to dirent.h.
40157         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
40158         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
40159         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
40160         * modules/math (Makefile.am): Add dependency to math.h.
40161         * modules/search (Makefile.am): Add dependency to search.h.
40162         * modules/signal (Makefile.am): Add dependency to signal.h.
40163         * modules/spawn (Makefile.am): Add dependency to spawn.h.
40164         * modules/stdio (Makefile.am): Add dependency to stdio.h.
40165         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
40166         * modules/string (Makefile.am): Add dependency to string.h.
40167         * modules/strings (Makefile.am): Add dependency to strings.h.
40168         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
40169         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
40170         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
40171         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
40172         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
40173         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
40174         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
40175         * modules/unistd (Makefile.am): Add dependency to unistd.h.
40176         * modules/wchar (Makefile.am): Add dependency to wchar.h.
40177
40178 2009-12-09  Bruno Haible  <bruno@clisp.org>
40179
40180         fchdir: Optimize away rpl_fstat when possible.
40181         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
40182         REPLACE_OPEN_DIRECTORY.
40183         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
40184
40185 2009-12-09  Bruno Haible  <bruno@clisp.org>
40186
40187         * lib/fchdir.c: Update comment.
40188
40189 2009-12-09  Bruno Haible  <bruno@clisp.org>
40190
40191         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
40192
40193 2009-12-08  Eric Blake  <ebb9@byu.net>
40194
40195         fchdir: avoid memory leak on re-registration.
40196         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
40197
40198 2009-12-08  Jim Meyering  <meyering@redhat.com>
40199
40200         init.sh: avoid Solaris 10 /bin/sh portability problem
40201         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
40202         sourced script:
40203           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
40204           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
40205           bar
40206         tests/init.sh relied on that, accepting a --set-path=DIR argument,
40207         and two tests used that idiom.
40208         * tests/init.sh: Update suggested usage comments.
40209         (path_prepend_): New function, to be used in place
40210         of the --src-path=DIR option.
40211         (setup_): Move PATH-prepending code into path_prepend_.
40212         * tests/test-pread.sh: Adapt to new usage.
40213         * tests/test-xalloc-die.sh: Likewise.
40214
40215 2009-12-08  Simon Josefsson  <simon@josefsson.org>
40216
40217         * doc/gnulib.texi (Glibc pty.h): Add.
40218         * doc/glibc-functions/forkpty.texi: Add.
40219         * doc/glibc-functions/openpty.texi: Add.
40220         Suggested by Bruno Haible.
40221
40222 2009-12-08  Eric Blake  <ebb9@byu.net>
40223
40224         fchdir: fix logic bugs
40225         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
40226         * tests/test-fchdir.c (main): Enhance test.
40227         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
40228         is in use.
40229
40230         dup2: fix logic bugs
40231         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
40232         REPLACE_DUP2 to decide when rpl_dup2 is needed.
40233         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
40234         exists.
40235         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
40236
40237 2009-12-07  Eric Blake  <ebb9@byu.net>
40238
40239         unlink: fix m4 detection
40240         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
40241
40242         unistd-safer: add unit test
40243         * modules/unistd-safer-tests: New file.
40244         * tests/test-dup-safer.c: Likewise.
40245         * tests/test-cloexec.c (setmode): Avoid compiler warning.
40246         * tests/test-dup2.c (setmode): Likewise.
40247         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
40248
40249         cloexec: preserve text vs. binary across dup_cloexec
40250         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
40251         mode.
40252         * modules/dup2-tests (Depends-on): Add binary-io.
40253         * modules/cloexec-tests (Depends-on): Likewise.
40254         * tests/test-dup2.c (setmode, is_mode): New helpers.
40255         (main): Add tests that translation mode is preserved.
40256         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
40257         Reported by Bruno Haible.
40258
40259         mgetgroups: reduce duplicate listings
40260         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
40261         resulting array.
40262         * tests/test-chown.h (test_chown): Simplify client.
40263         * tests/test-lchown.h (test_lchown): Likewise.
40264
40265 2009-12-06  Bruno Haible  <bruno@clisp.org>
40266
40267         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
40268         value.
40269
40270 2009-12-06  Bruno Haible  <bruno@clisp.org>
40271
40272         * lib/progname.c: Include stdio.h, stdlib.h.
40273         (set_program_name): Reject a NULL argument.
40274
40275 2009-12-05  Eric Blake  <ebb9@byu.net>
40276
40277         pipe2-safer: new module
40278         * modules/pipe2-safer: New file.
40279         * lib/unistd-safer.h (pipe2_safer): New prototype.
40280         * lib/unistd--.h (pipe2): New wrapper.
40281         * lib/pipe-safer.c (pipe2_safer): New function.
40282         * modules/pipe (Depends-on): Add pipe2-safer.
40283         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
40284
40285         stdlib-safer: preserve cloexec flag for mkostemp[s]
40286         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
40287         fd_safer_flag.
40288
40289         unistd-safer: allow preservation of cloexec status via flag
40290         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
40291         prototypes.
40292         * lib/dup-safer.c (dup_safer_flag): New function.
40293         * lib/fd-safer.c (fd_safer_flag): Likewise.
40294         * modules/cloexec (configure.ac): Set witness.
40295
40296         test-dup2: enhance test
40297         * modules/dup2-tests (Depends-on): Add cloexec.
40298         * tests/test-dup2.c (main): Enhance test.
40299
40300         cloexec: add dup_cloexec
40301         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
40302         header and comments.
40303         * lib/cloexec.c (set_cloexec_flag): Add comments.
40304         (dup_cloexec): New function, with mingw implementation borrowed
40305         from...
40306         * lib/w32spawn.h (dup_noinherit): ...here.
40307         * modules/execute (Depends-on): Add cloexec.
40308         * modules/pipe (Depends-on): Likewise.
40309         * modules/cloexec (Depends-on): Add dup2.
40310         * modules/cloexec-tests (Files): New file.
40311         * tests/test-cloexec.c: Likewise.
40312
40313         test-xalloc-die: fix test for mingw
40314         * modules/xalloc-die-tests (Files): Add tests/init.sh.
40315         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
40316         directory and .exe suffix off argv[0] output.
40317
40318         test-fseeko: fix test for mingw
40319         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
40320         than undefining fseek, so test will pass on mingw.
40321
40322 2009-12-05  Bruno Haible  <bruno@clisp.org>
40323
40324         * lib/progname.h (set_program_name): Clarify specification.
40325         * lib/progname.c (set_program_name): Likewise.
40326         Reported by Jim Meyering.
40327
40328 2009-12-05  Jim Meyering  <meyering@redhat.com>
40329
40330         maint.mk: backslash-escape parens in default regexp
40331         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
40332         backslash-escape the literal parentheses.
40333
40334         maint.mk: news-date-check: use grep -E
40335         * top/maint.mk (today): Define a Make variable, not a...
40336         (news-date-check): ...shell variable.
40337         (news-date-regexp): Use the Make variable.
40338         Use grep's -E option.  Change the failing diagnostic to mention
40339         the variable, $(news-date-regexp).
40340
40341 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
40342
40343         maintainer-makefile: allow customization of NEWS entry format
40344         * top/maint.mk (news-date-regexp): New overridable variable.
40345         (news-date-check): Use it.
40346
40347 2009-12-04  Eric Blake  <ebb9@byu.net>
40348
40349         mgetgroups: add xgetgroups, and avoid ENOSYS failures
40350         * lib/mgetgroups.h (xgetgroups): New prototype.
40351         * lib/mgetgroups.c (xgetgroups): New wrapper.
40352         (mgetgroups): Handle ENOSYS.
40353         * modules/mgetgroups (Depends-on): Add realloc.
40354         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
40355
40356         mgetgroups: avoid argument promotion issues with -1
40357         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
40358         for invalid gid_t.
40359         * tests/test-chown.h (getegid, test_chown): Likewise.
40360         * tests/test-lchown.h (getegid, test_lchown): Likewise.
40361
40362 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
40363
40364         exclude: Fix header file problems.
40365         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
40366
40367 2009-12-01  Jim Meyering  <meyering@redhat.com>
40368
40369         fts: fts_open: do not let an empty string cause immediate failure
40370         This is required in support of GNU rm, for which the command
40371         "rm A '' B" must process and remove both A and B, in spite of
40372         the empty string argument.
40373         * lib/fts.c (fts_open): Do not let the presence of an empty string
40374         cause fts_open to fail immediately.  Most fts-using tools must be
40375         able to process all arguments, in order, and can be expected to
40376         diagnose such arguments themselves.
40377
40378 2009-11-30  Eric Blake  <ebb9@byu.net>
40379
40380         utimens: fix compilation error
40381         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
40382         Declare variable at right scope.
40383
40384 2009-11-29  Jim Meyering  <meyering@redhat.com>
40385
40386         bootstrap: handle perl-5.11's changed --version output
40387         * build-aux/bootstrap (get_version): Handle perl separately,
40388         since perl-5.11's --version output is different.
40389
40390 2009-11-28  Jim Meyering  <meyering@redhat.com>
40391
40392         userspec: depend on the inttostr module, too
40393         * modules/userspec (Depends-on): Add inttostr.
40394
40395         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
40396         * lib/userspec.c (parse_with_separator): Do not accept a user ID
40397         number of MAXUID when it evaluates to (uid_t) -1.
40398         Likewise for group ID.  Reported by Matt McCutchen in
40399         <http://savannah.gnu.org/bugs/?28113>
40400
40401         userspec: reformat to use spaces, not TABs
40402         * lib/userspec.c: Expand TABs to spaces.
40403         Add Emacs' "indent-tabs-mode: nil" hint.
40404
40405 2009-11-27  Eric Blake  <ebb9@byu.net>
40406
40407         getopt-gnu: flush out another BSD bug
40408         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
40409         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
40410         flush out BSD bug.
40411         * tests/test-getopt.h (test_getopt): End lists with NULL.
40412         * tests/test-getopt_long.h (test_getopt_long): Likewise.
40413         (test_getopt_long_posix): Enhance test.
40414         * modules/getopt-posix-tests (Depends-on): Add stdbool.
40415         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
40416         getopt-gnu.
40417         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40418         Likewise.
40419
40420 2009-11-27  Simon Josefsson  <simon@josefsson.org>
40421
40422         * modules/idpriv-droptemp-tests (Notice): Fix text.
40423
40424 2009-11-27  Jim Meyering  <meyering@redhat.com>
40425
40426         test-xalloc-die: avoid spurious failure due to libtool argv difference
40427         In a libtool-enabled project, this test would fail due to a difference
40428         in the emitted program name, e.g.,
40429         -test-xalloc-die: memory exhausted
40430         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
40431         Use program to avoid that.
40432         * modules/xalloc-die-tests (Depends-on): Add progname.
40433         * tests/test-xalloc-die.c: Include progname.h".
40434         (program_name): Remove decl.
40435         (main): Call set_program_name.
40436         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
40437
40438 2009-11-26  Richard Jones  <rjones@redhat.com>
40439
40440         w32sock: leave win32 error in place.
40441         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
40442
40443 2009-11-26  Eric Blake  <ebb9@byu.net>
40444
40445         init.sh: suggest to use skip_ and fail_ functions in comments
40446         * tests/init.sh: Add a sentence.
40447
40448 2009-11-25  Bruno Haible  <bruno@clisp.org>
40449
40450         init.sh: add documentation in comments
40451         * tests/init.sh: Add some developer and user documentation.
40452
40453 2009-11-26  Jim Meyering  <meyering@redhat.com>
40454
40455         init.sh: accommodate even those who specify bogus srcdir manually
40456         * tests/init.sh: Normally, srcdir is guaranteed by automake and
40457         configure-time tests to be sanitized, so that there is no need to
40458         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
40459         (with no double quotes) suffices.  However, since tests may be
40460         invoked manually, and since you may explicitly set srcdir to the
40461         name of a directory containing spaces, do quote its uses here.
40462         * tests/test-pread.sh: Likewise.
40463         Suggested by Bruno Haible.
40464
40465         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
40466         * tests/test-pread.sh: Write no data into the pipe, because
40467         test-pread actually reads none.  This avoids a diagnostic,
40468         "bash: echo: write error: Broken pipe", that arises in the unusual
40469         event something is ignoring SIGPIPE, and might be interpreted
40470         as some sort of failure.  Reported by Bruno Haible.
40471
40472 2009-11-25  Jim Meyering  <meyering@redhat.com>
40473
40474         test-pread: cover failure with ESPIPE and EINVAL
40475         * tests/test-pread.c (main): Test for failure, too.
40476         * tests/test-pread.sh: Invoke with stdin on a pipe.
40477         Suggested by Eric Blake.
40478
40479         pread: improvement and fix
40480         * modules/pread (Depends-on): Depend on lseek, for portability to
40481         e.g., mingw.  Suggested by Eric Blake.
40482         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
40483
40484         unistd.in.h: correct declaration of pread
40485         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
40486         Reported by Richard W.M. Jones.
40487
40488         test-pread.sh: distribute the test script
40489         * modules/pread-tests (Files): Include test-pread.sh.
40490
40491         test-pread.sh: clean up
40492         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
40493         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
40494         That is unnecessary, since it's always ".".
40495         Suggestion from Eric Blake.
40496
40497         test-pread.sh: make executable
40498         * tests/test-pread.sh: Set executable bit.
40499         Reported by Eric Blake.
40500
40501         correct typo in test-pread.sh
40502         * tests/test-pread.sh: Add #! line.
40503
40504         test pread
40505         * tests/test-pread.c: New file.
40506         * tests/test-pread.sh: Likewise.
40507         * modules/pread-tests: Likewise.
40508
40509         pread: new module
40510         * modules/pread: New file.
40511         * lib/unistd.in.h (pread): Define/declare.
40512         * lib/pread.c (pread): New file.
40513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
40514         * modules/unistd (Makefile.am): Substitute witnesses.
40515         * doc/posix-functions/pread.texi (pread): Update.
40516         * MODULES.html.sh: Add pread.
40517
40518 2009-11-25  Jim Meyering  <meyering@redhat.com>
40519
40520         tests/init.sh: new file to be used via most *.sh tests
40521         * tests/init.sh: New file.
40522
40523 2009-11-25  Eric Blake  <ebb9@byu.net>
40524
40525         utimens: work around older Linux failure with symlinks
40526         * lib/utimens.c (lutimensat_works_really): New variable.
40527         (fdutimens, lutimens): Use it to manage kernels that support
40528         nanosecond times on files, but not on symlinks.
40529         Reported by Ondřej Vašík.
40530
40531         utimes: fix configure grammar
40532         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
40533
40534 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
40535
40536         regex: Fix fastmap for multibyte character ranges.
40537         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
40538         characters when a multibyte character range is included.
40539
40540 2009-11-22  Andy Wingo  <wingo@pobox.com>
40541
40542         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
40543         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
40544
40545 2009-11-24  Bruno Haible  <bruno@clisp.org>
40546
40547         doc: Most *_l functions exist in MacOS X 10.5.
40548         * doc/posix-functions/duplocale.texi: Update platforms list.
40549         * doc/posix-functions/freelocale.texi: Likewise.
40550         * doc/posix-functions/newlocale.texi: Likewise.
40551         * doc/posix-functions/uselocale.texi: Likewise.
40552         * doc/posix-functions/isalnum_l.texi: Likewise.
40553         * doc/posix-functions/isalpha_l.texi: Likewise.
40554         * doc/posix-functions/isblank_l.texi: Likewise.
40555         * doc/posix-functions/iscntrl_l.texi: Likewise.
40556         * doc/posix-functions/isdigit_l.texi: Likewise.
40557         * doc/posix-functions/isgraph_l.texi: Likewise.
40558         * doc/posix-functions/islower_l.texi: Likewise.
40559         * doc/posix-functions/isprint_l.texi: Likewise.
40560         * doc/posix-functions/ispunct_l.texi: Likewise.
40561         * doc/posix-functions/isspace_l.texi: Likewise.
40562         * doc/posix-functions/isupper_l.texi: Likewise.
40563         * doc/posix-functions/iswalnum_l.texi: Likewise.
40564         * doc/posix-functions/iswalpha_l.texi: Likewise.
40565         * doc/posix-functions/iswblank_l.texi: Likewise.
40566         * doc/posix-functions/iswcntrl_l.texi: Likewise.
40567         * doc/posix-functions/iswctype_l.texi: Likewise.
40568         * doc/posix-functions/iswdigit_l.texi: Likewise.
40569         * doc/posix-functions/iswgraph_l.texi: Likewise.
40570         * doc/posix-functions/iswlower_l.texi: Likewise.
40571         * doc/posix-functions/iswprint_l.texi: Likewise.
40572         * doc/posix-functions/iswpunct_l.texi: Likewise.
40573         * doc/posix-functions/iswspace_l.texi: Likewise.
40574         * doc/posix-functions/iswupper_l.texi: Likewise.
40575         * doc/posix-functions/iswxdigit_l.texi: Likewise.
40576         * doc/posix-functions/isxdigit_l.texi: Likewise.
40577         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
40578         * doc/posix-functions/strcasecmp_l.texi: Likewise.
40579         * doc/posix-functions/strcoll_l.texi: Likewise.
40580         * doc/posix-functions/strfmon_l.texi: Likewise.
40581         * doc/posix-functions/strftime_l.texi: Likewise.
40582         * doc/posix-functions/strncasecmp_l.texi: Likewise.
40583         * doc/posix-functions/strxfrm_l.texi: Likewise.
40584         * doc/posix-functions/tolower_l.texi: Likewise.
40585         * doc/posix-functions/toupper_l.texi: Likewise.
40586         * doc/posix-functions/towctrans_l.texi: Likewise.
40587         * doc/posix-functions/towlower_l.texi: Likewise.
40588         * doc/posix-functions/towupper_l.texi: Likewise.
40589         * doc/posix-functions/wcscoll_l.texi: Likewise.
40590         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
40591         * doc/posix-functions/wctrans_l.texi: Likewise.
40592         * doc/posix-functions/wctype_l.texi: Likewise.
40593         * doc/glibc-functions/strptime_l.texi: Likewise.
40594         * doc/glibc-functions/strtod_l.texi: Likewise.
40595         * doc/glibc-functions/strtof_l.texi: Likewise.
40596         * doc/glibc-functions/strtol_l.texi: Likewise.
40597         * doc/glibc-functions/strtold_l.texi: Likewise.
40598         * doc/glibc-functions/strtoll_l.texi: Likewise.
40599         * doc/glibc-functions/strtoul_l.texi: Likewise.
40600         * doc/glibc-functions/strtoull_l.texi: Likewise.
40601         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40602         * doc/glibc-functions/wcstod_l.texi: Likewise.
40603         * doc/glibc-functions/wcstof_l.texi: Likewise.
40604         * doc/glibc-functions/wcstol_l.texi: Likewise.
40605         * doc/glibc-functions/wcstold_l.texi: Likewise.
40606         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40607         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40608         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40609
40610 2009-11-24  Bruno Haible  <bruno@clisp.org>
40611
40612         duplocale: Fix logic bug.
40613         * lib/duplocale.c: Don't include <langinfo.h>.
40614         (_NL_LOCALE_NAME): Remove macro.
40615         (rpl_duplocale): Use setlocale instead of nl_langinfo.
40616         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
40617
40618 2009-11-23  Jim Meyering  <meyering@redhat.com>
40619
40620         test-update-copyright: don't hard-code /usr/bin/perl
40621         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
40622         perl to print the current year.  Gilles Espinasse reported that
40623         the replaced use of perl was hard-coded as /usr/bin/perl.
40624
40625 2009-11-23  Bruno Haible  <bruno@clisp.org>
40626
40627         duplocale: Add support for glibc 2.3.x.
40628         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
40629
40630 2009-11-22  Bruno Haible  <bruno@clisp.org>
40631
40632         vasnprintf: Tiny optimization.
40633         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
40634         MacOS X.
40635
40636 2009-11-22  Bruno Haible  <bruno@clisp.org>
40637
40638         Tests for module 'duplocale'.
40639         * modules/duplocale-tests: New file.
40640         * tests/test-duplocale.c: New file.
40641
40642         New module 'duplocale'.
40643         * m4/duplocale.m4: New file.
40644         * lib/locale.in.h (duplocale): New declaration.
40645         * lib/duplocale.c: New file.
40646         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
40647         gl_LOCALE_H_DEFAULTS): New macros.
40648         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
40649         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
40650         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
40651         REPLACE_DUPLOCALE.
40652         * modules/duplocale: New file.
40653         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
40654
40655 2009-11-22  Bruno Haible  <bruno@clisp.org>
40656
40657         * modules/locale-tests (configure.ac): Test for newlocale function.
40658         * tests/test-locale.c: When the system has extended locale functions,
40659         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
40660
40661         locale: Make locale_t available when possible.
40662         * lib/locale.in.h: Include <xlocale.h> when it exists.
40663         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
40664         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
40665         * modules/locale (Depends-on): Add extensions.
40666         (Makefile.am): Also substitute HAVE_XLOCALE_H.
40667         * doc/posix-headers/locale.texi: Document the problem with locale_t.
40668
40669 2009-11-22  Bruno Haible  <bruno@clisp.org>
40670
40671         Add comments.
40672         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
40673         invocation.
40674         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40675         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
40676         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40677
40678 2009-11-22  Bruno Haible  <bruno@clisp.org>
40679
40680         error: account for the possibility of freopen (stdout).
40681         * lib/error.c: Include <unistd.h>.
40682         (flush_stdout): New function, extracted from error and error_at_line.
40683         Determine stdout's fd dynamically.
40684         (error, error_at_line): Invoke flush_stdout.
40685         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
40686         * modules/error (Depends-on): Add unistd.
40687
40688 2009-11-22  Bruno Haible  <bruno@clisp.org>
40689
40690         diffseq: Add comment.
40691         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
40692
40693 2009-11-22  Jim Meyering  <meyering@redhat.com>
40694
40695         c-stack: avoid defining an unused static function
40696         * lib/c-stack.c (find_stack_direction): Do not define this function
40697         when it will not be used.
40698
40699         diffseq: avoid spurious gcc warnings
40700         * lib/diffseq.h (IF_LINT2): Define.
40701         (compareseq): Use it to initialize two members of "part".
40702         This avoids two used-uninitialized warnings.
40703
40704 2009-11-21  Jim Meyering  <meyering@redhat.com>
40705
40706         c-stack: avoid "ignoring return value of `write'" warning
40707         * lib/c-stack.c: Include "ignore-value.h".
40708         (die): Explicitly ignore each write return value.
40709         * modules/c-stack (Depends-on): Add ignore-value.
40710
40711 2009-11-21  Bruno Haible  <bruno@clisp.org>
40712
40713         diffseq: reduce scope of variable 'best'.
40714         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
40715         variable, earlier used for two different purposes.
40716
40717 2009-11-21  Jim Meyering  <meyering@redhat.com>
40718
40719         diffseq: remove useless assignment to "best"
40720         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
40721         assignment.  At that point "best" is already guaranteed to be zero.
40722
40723 2009-11-20  Eric Blake  <ebb9@byu.net>
40724
40725         build: mention ftp redirector in release announcements
40726         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
40727         values that used to come from cfg.mk; mention FTP redirect URL.
40728         * build-aux/announce-gen: Mention the mirror list.
40729         Suggested by Karl Berry.
40730
40731         nanosleep: improve port to mingw
40732         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
40733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
40734         LIB_NANOSLEEP, but only when needed.
40735         * modules/select (Link): Document LIBSOCKET.
40736         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
40737         enough.
40738
40739         nanosleep: work around cygwin bug
40740         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
40741         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
40742         bug.
40743         (getnow): Delete, not needed.
40744         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
40745         LIB_CLOCK_GETTIME.
40746         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
40747         clock-time, gettime.
40748         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
40749         bug.
40750         * modules/nanosleep-tests: New test.
40751         * tests/test-nanosleep.c: New file.
40752
40753         sleep: work around cygwin bug
40754         * lib/sleep.c (rpl_sleep): Work around the bug.
40755         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
40756         (gl_PREREQ_SLEEP): Delete unused macro.
40757         * modules/sleep (Depends-on): Add verify.
40758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40759         * modules/unistd (Makefile.am): Substitute witness.
40760         * lib/unistd.in.h (sleep): Update prototype.
40761         * doc/posix-functions/sleep.texi (sleep): Document the bug.
40762         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
40763         * modules/sleep-tests (Depends-on): Check for alarm.
40764
40765 2009-11-20  Jim Meyering  <meyering@redhat.com>
40766
40767         maint.mk: improve sc_prohibit_magic_number_exit
40768         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
40769         so it does not match uses like System.exit(1).
40770         Add comments showing how to correct all offenders.
40771
40772 2009-11-19  Eric Blake  <ebb9@byu.net>
40773
40774         xalloc-die-tests: add missing library
40775         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
40776
40777         test-xvasprintf: silence compiler warnings
40778         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
40779         empty string from gcc.
40780
40781 2009-11-19  Jim Meyering  <meyering@redhat.com>
40782
40783         xfreopen: new module, from coreutils
40784         * modules/xfreopen: New module.
40785         * lib/xfreopen.c: New file.
40786         * lib/xfreopen.h: New file.
40787         * MODULES.html.sh (File stream based Input/Output"): Add it.
40788
40789 2009-11-19  Eric Blake  <ebb9@byu.net>
40790
40791         manywarnings: depend on warnings
40792         * modules/manywarnings (Depends-on): Add warnings.
40793
40794         build: avoid compiler warnings
40795         * lib/select.c (rpl_select): Delete unused variable.
40796         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
40797
40798 2009-11-18  Eric Blake  <ebb9@byu.net>
40799
40800         tests: avoid false negative with --with-packager
40801         * tests/test-version-etc.sh: Discard packager information.
40802         * tests/test-argp-version-etc-1.sh: Likewise.
40803         Reported by Mike Frysinger.
40804
40805         utimens: fix regression on Solaris
40806         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
40807         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
40808         can only change fd timestamps via futimesat.  Instead, use an
40809         additional witness macro to avoid BSD bug.
40810         Reported by Jim Meyering.
40811
40812 2009-11-17  Eric Blake  <ebb9@byu.net>
40813
40814         usleep: use it to simplify tests
40815         * modules/stat-time-tests (Depends-on): Add usleep.
40816         (configure.ac): Drop usleep check.
40817         * modules/chown-tests (Depends-on, configure.ac): Likewise.
40818         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
40819         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
40820         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
40821         * modules/openat-tests (Depends-on, configure.ac): Likewise.
40822         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
40823         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
40824         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
40825         Likewise.
40826         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
40827         * tests/test-lchown.h (nap): Likewise.
40828         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
40829         * tests/test-stat-time.c (nap): Likewise.
40830         * tests/test-utimens-common.h (nap): Update comments.
40831
40832         usleep: new module
40833         * modules/usleep: New file.
40834         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
40835         * lib/usleep.c (usleep): Likewise.
40836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40837         * modules/unistd (Makefile.am): Substitute witnesses.
40838         * lib/unistd.in.h (usleep): Add declaration.
40839         * doc/pastposix-functions/usleep.texi (usleep): Document this.
40840         * MODULES.html.sh (Date and time): Likewise.
40841         * modules/usleep-tests (Depends-on): New test.
40842         * tests/test-usleep.c: New file.
40843
40844         chown: work around OpenBSD bug
40845         * lib/chown.c (rpl_chown): Work around the bug.
40846         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
40847         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
40848         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
40849         * modules/chown (Depends-on): Add stdbool.
40850         * modules/lchown (Depends-on): Likewise.
40851         * doc/posix-functions/chown.texi (chown): Document the bug.
40852         * doc/posix-functions/lchown.texi (lchown): Likewise.
40853         * tests/test-lchown.h (test_chown): Relax test.
40854
40855         mkstemp: avoid conflict with C++ keyword template
40856         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
40857         * lib/mkostemp.c (mkostemp): Likewise.
40858         * lib/mkostemps.c (mkostemps): Likewise.
40859         * lib/mkstemp.c (mkstemp): Likewise.
40860         * lib/mkstemps.c (mkstemps): Likewise.
40861
40862         xalloc-die-tests: optimize
40863         * tests/test-xalloc-die.sh: Reduce number of processes.
40864
40865 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40866
40867         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
40868         patch from ludo@gnu.org (Ludovic Courtès).
40869
40870 2009-11-17  Jim Meyering  <meyering@redhat.com>
40871
40872         version-etc: use proper license string
40873         * modules/version-etc (License): Use LGPL, not LGPLv3+.
40874         * modules/version-etc-fsf: Likewise.
40875
40876 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40877
40878         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
40879         printed to stdout.  Deal with EOL differences.
40880
40881 2009-11-17  Eric Blake  <ebb9@byu.net>
40882
40883         unsetenv: work around Solaris bug
40884         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
40885         * lib/unsetenv.c (rpl_unsetenv): Work around it.
40886         Reported by Jim Meyering.
40887
40888         vasnprintf: avoid compiler warnings
40889         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
40890         variables.
40891         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
40892
40893 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40894
40895         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
40896         settings since xalloc-die is no longer the self test,
40897         xalloc-die.sh is.
40898
40899 2009-11-17  Jim Meyering  <meyering@redhat.com>
40900
40901         test-xalloc-die.sh: make the code agree with the commit log
40902         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
40903         at the end, just in case you happen to have a test-xalloc-die
40904         program in some other PATH directory.
40905
40906         test-xalloc-die.sh: fix a portability bug
40907         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
40908         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
40909         Otherwise, argv[0] (as often seen in diagnostics) would be too
40910         system-dependent, sometimes with, and sometimes without the leading "./".
40911
40912         version-etc-fsf: relax license to LGPLv3+
40913         * modules/version-etc-fsf (License): Relax license.
40914
40915 2009-11-16  Eric Blake  <ebb9@byu.net>
40916
40917         xalloc-die-tests: avoid printing null pointer
40918         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
40919         shell script.
40920         * tests/test-xalloc-die.c (program_name): Declare.
40921         * tests/test-xalloc-die.sh (tmpfiles): New file.
40922
40923         setenv, unsetenv: work around various bugs
40924         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
40925         (setenv) [HAVE_SETENV]: Work around bugs.
40926         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
40927         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
40928         for bugs.
40929         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
40930         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
40931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
40932         * modules/stdlib (Makefile.am): Update substitutions.
40933         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
40934         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
40935         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40936         * modules/setenv-tests: New test.
40937         * modules/unsetenv-tests: Likewise.
40938         * tests/test-setenv.c: New file.
40939         * tests/test-unsetenv.c: Likewise.
40940
40941 2009-11-16  Jim Meyering  <meyering@redhat.com>
40942
40943         version-etc: relax license to LGPLv3+
40944         * modules/version-etc (License): Relax license.
40945
40946         better AC_REQUIRE expanded-before-required-warning avoidance
40947         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40948         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40949         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40950         which is no longer needed.
40951
40952 2009-11-16  Eric Blake  <ebb9@byu.net>
40953
40954         test-freading: clean up temporary file
40955         * tests/test-freading.c (main): Remove file on success, and use
40956         ASSERT more liberally.
40957         Reported by Jim Meyering.
40958
40959 2009-11-16  Jim Meyering  <meyering@redhat.com>
40960
40961         avoid new AC_REQUIRE expanded-before-required warnings
40962         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40963         merely using it.
40964         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40965         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40966
40967 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40968
40969         * tests/test-xalloc-die.c: New file.
40970         * modules/xalloc-die-tests: New file.
40971         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40972         XFAIL_TESTS so it can be appended by modules.
40973
40974 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40975
40976         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40977         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40978
40979 2009-11-14  Eric Blake  <ebb9@byu.net>
40980
40981         fnmatch: avoid compiler warning
40982         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40983         to silence compiler warning about mismatch signedness in ?:.
40984         Reported by Robert Millan.
40985
40986         intprops: add double-inclusion guard
40987         * lib/intprops.h: Allow idempotent includes.
40988         Suggested by Bruce Korb.
40989
40990         openat: detect Solaris fchownat bug
40991         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40992         penalizing glibc chownat when only lchownat is broken.
40993         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40994         trailing slash bugs.
40995         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40996         * modules/openat-tests (Files): Include more files.
40997         (Depends-on): Add mgetgroups, sleep, stat-time.
40998         (configure.ac): Add additional checks.
40999         (Makefile.am): Build new test.
41000         * tests/test-fchownat.c: New file.
41001
41002         lchown: detect Solaris and FreeBSD bug
41003         * lib/lchown.c (rpl_lchown): Work around bug.
41004         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
41005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41006         * modules/unistd (Makefile.am): Populate it.
41007         * lib/unistd.in.h (lchown): Update declaration.
41008         * doc/posix-functions/lchown.texi (lchown): Document the bug.
41009         * modules/lchown-tests: New file.
41010         * tests/test-lchown.h (test_lchown): Likewise.
41011         * tests/test-lchown.c (main): Likewise.
41012
41013         chown: detect Solaris and FreeBSD bug
41014         * lib/chown.c (rpl_chown): Work around bug.
41015         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
41016         (gl_PREREQ_CHOWN): Delete.
41017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41018         * modules/unistd (Makefile.am): Populate it.
41019         * lib/unistd.in.h (chown): Update declaration.
41020         * lib/lchown.c (chown): Update client.
41021         * modules/lchown (Depends-on): Add lstat.
41022         * doc/posix-functions/chown.texi (chown): Document the bug.
41023         * doc/posix-functions/getgroups.texi (getgroups): Document
41024         getgroups pitfall.
41025         * modules/chown-tests: New file.
41026         * tests/test-chown.h (test_chown): Likewise.
41027         * tests/test-chown.c (main): Likewise.
41028
41029 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
41030
41031         gnulib-tool: correctly detect absence of m4 directories
41032         * gnulib-tool: Avoid extra newline on data passed to wc -l.
41033
41034 2009-11-14  Jim Meyering  <meyering@redhat.com>
41035
41036         maint.mk: Prohibit inclusion of "xalloc.h" without use.
41037         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
41038
41039 2009-11-14  John W. Eaton  <jwe@gnu.org>
41040
41041         strftime.h: wrap function declaration in extern "C" block
41042         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
41043
41044 2009-11-13  Eric Blake  <ebb9@byu.net>
41045
41046         getgroups: avoid compiler warning
41047         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
41048
41049         getgroups: work around FreeBSD bug
41050         * lib/getgroups.c (rpl_getgroups): Work around the bug.
41051         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
41052         * doc/posix-functions/getgroups.texi (getgroups): Document it.
41053         * tests/test-getgroups.c (main): Fix buffer overrun.
41054
41055         getgroups: avoid compilation failure
41056         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
41057         * modules/getgroups (Depends-on): Add stdint.
41058
41059 2009-11-13  Jim Meyering  <meyering@redhat.com>
41060
41061         test-getgroups: avoid compilation failure
41062         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
41063
41064 2009-11-13  Eric Blake  <ebb9@byu.net>
41065
41066         mgetgroups: new module, taken from coreutils
41067         * modules/mgetgroups: New file.
41068         * lib/mgetgroups.h: Likewise.
41069         * lib/mgetgroups.c (mgetgroups): Likewise.
41070         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
41071         * MODULES.html.sh (Users and groups): Mention it.
41072
41073         getgroups: don't expose GETGROUPS_T to user
41074         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
41075         an element at a time if GETGROUPS_T is wrong size.
41076         * lib/getugroups.h (getugroups): Change signature.
41077         * lib/unistd.in.h (getgroups): Likewise.
41078         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
41079         signature needs fixing.
41080         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
41081         AC_TYPE_GETGROUPS.
41082         * modules/group-member (Depends-on): Add getgroups.
41083         * lib/group-member.c (group_info, get_group_info): Use gid_t.
41084         (group_member): Rely on getgroups replacement.
41085         * lib/getugroups.c (getugroups): Use gid_t.
41086         * tests/test-getgroups.c (main): Likewise.
41087         * NEWS: Mention the signature change.
41088         * doc/posix-functions/getgroups.texi (getgroups): Mention the
41089         problem with signature.
41090         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
41091         GETGROUPS_T is still useful for setgroups.
41092
41093         getgroups, getugroups: provide stubs for mingw
41094         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
41095         * lib/getugroups.c (getugroups): Likewise.
41096         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
41097         function.  Modernize replacement scheme.
41098         (gl_PREREQ_GETGROUPS): Delete.
41099         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
41100         * modules/getgroups (configure.ac): Declare witness.
41101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
41102         * modules/unistd (Depends-on): Substitute witness.
41103         * lib/unistd.in.h (getgroups): Declare replacement.
41104
41105         getgroups: avoid calling exit
41106         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
41107         drop xalloc.
41108         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
41109         dependencies.
41110         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
41111         exiting, in the rare case of malloc failure.
41112
41113         getgroups: fix logic error
41114         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
41115         has more than 20 groups.
41116         * modules/getgroups-tests: New test.
41117         * tests/test-getgroups.c: New file.
41118
41119 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41120
41121         * tests/test-base64.c: Improve.
41122
41123 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41124
41125         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
41126         Blake <ebb9@byu.net>.
41127
41128 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41129
41130         * tests/test-xvasprintf.c: Add %s%s related checks.
41131
41132 2009-11-12  Eric Blake  <ebb9@byu.net>
41133
41134         version-etc: match standards.texi style
41135         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
41136         and use <> only for URLs.
41137
41138 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
41139
41140         fts: do not fail on a submount during traversal
41141         * lib/fts.c (fts_build): Read the stat info again after opening
41142         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
41143         Original report at http://bugzilla.redhat.com/501848.
41144
41145 2009-11-12  Jim Meyering  <meyering@redhat.com>
41146
41147         bootstrap: sync from coreutils
41148         * build-aux/bootstrap (bootstrap_epilogue): New function.
41149         Use git_modules_config in one more place.  This make bootstrap's
41150         --gnulib-srcdir option more useful for testing.
41151
41152         bootstrap: generalize autoheader check
41153         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
41154         AC_CONFIG_HEADERS.
41155
41156 2009-11-11  Eric Blake  <ebb9@byu.net>
41157
41158         mkfifoat: use new modules for Solaris and BSD bugs
41159         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
41160         * lib/mkfifoat.c (mknodat): Split...
41161         * lib/mknodat.c (mknodat): ...into new file.
41162         * modules/mkfifoat (Files): Ship new file.
41163         (Depends-on): Add mkfifo, mknod.
41164         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
41165         (Depends-on): Add symlink.
41166         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
41167         redundant with test_mkfifo.h.
41168         (do_mkfifoat, do_mknodat): New helpers.
41169
41170         mknod: new module
41171         * modules/mknod: New file.
41172         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
41173         * lib/mknod.c (mknod): Likewise.
41174         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
41175         defaults.
41176         * modules/sys_stat (Makefile.am): Substitute them.
41177         * lib/sys_stat.in.h (mknod): Declare replacement.
41178         * MODULES.html.sh (Support for systems lacking POSIX:2008):
41179         Document it.
41180         * doc/posix-functions/mknod.texi (mknod): Likewise.
41181         * modules/mknod-tests: New test.
41182         * tests/test-mknod.c: Likewise.
41183
41184         mkfifo: new module
41185         * modules/mkfifo: New file.
41186         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
41187         * lib/mkfifo.c (mkfifo): Likewise.
41188         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
41189         defaults.
41190         * modules/sys_stat (Makefile.am): Substitute them.
41191         * lib/sys_stat.in.h (mkfifo): Declare replacement.
41192         * MODULES.html.sh (Support for systems lacking POSIX:2008):
41193         Document it.
41194         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
41195         * modules/mkfifo-tests: New test.
41196         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
41197         from test-mkfifoat.c.
41198         * tests/test-mkfifo.c: New file.
41199
41200         readlink: detect FreeBSD bug
41201         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
41202         slash on symlink.
41203         * doc/posix-functions/readlink.texi (readlink): Document the bug.
41204         * tests/test-readlink.h (test_readlink): Enhance test.
41205
41206         symlink: detect FreeBSD bug
41207         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
41208         slash on symlink.
41209         * doc/posix-functions/symlink.texi (symlink): Document the bug.
41210         * tests/test-symlink.h (test_symlink): Enhance test.
41211
41212 2009-11-10  Eric Blake  <ebb9@byu.net>
41213
41214         link: detect FreeBSD bug
41215         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
41216         symlink.
41217         * doc/posix-functions/link.texi (link): Document the bug.
41218         * tests/test-link.h (test_link): Enhance test.
41219         * tests/test-linkat.c (main): Update caller.
41220
41221         unlink, remove: detect FreeBSD bug
41222         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
41223         slash on symlink.
41224         * doc/posix-functions/unlink.texi (unlink): Document the bug.
41225         * doc/posix-functions/remove.texi (remove): Likewise.
41226         * tests/test-unlink.h (test_unlink): Enhance test.
41227         * tests/test-remove.c (main): Likewise.
41228
41229 2009-11-09  Eric Blake  <ebb9@byu.net>
41230
41231         rename: detect FreeBSD bug
41232         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
41233         slash on symlink.
41234         * modules/renameat-tests (Depends-on): Add filenamecat.
41235         * tests/test-rename.h (test_rename): Allow one more errno.
41236         * tests/test-renameat.c (main): Likewise.
41237         * doc/posix-functions/rename.texi (rename): Document the bug.
41238
41239         open: detect FreeBSD bug
41240         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
41241         symlink.
41242         * doc/posix-functions/open.texi (open): Document the bug.
41243         * doc/posix-functions/utimes.texi (utimes): Likewise.
41244         * tests/test-open.h (test_open): Add parameters, and test symlink
41245         handling.
41246         * tests/test-open.c (main): Adjust caller.
41247         * tests/test-fcntl-safer.c (main): Likewise.
41248         * modules/open-tests (Depends-on): Add stdbool, symlink.
41249         * modules/fcntl-safer-tests (Depends-on): Likewise.
41250         * tests/test-openat.c (main): Add test-open tests.
41251
41252         stat: detect FreeBSD bug
41253         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
41254         symlink.
41255         * doc/posix-functions/stat.texi (stat): Document the bug.
41256         * tests/test-stat.h (test_stat_func): Add argument.
41257         * tests/test-stat.c (main): Adjust caller.
41258         * tests/test-fstatat.c (main): Likewise.
41259         * modules/stat-tests (Depends-on): Add stdbool, symlink.
41260         Reported by Jim Meyering.
41261
41262 2009-11-09  James Youngman  <jay@gnu.org>
41263
41264         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
41265         * lib/strftime.c: Correct placement of #include "ignore-value.h".
41266
41267 2009-11-08  Jim Meyering  <meyering@redhat.com>
41268
41269         utimens: remove invalid futimesat call
41270         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
41271         It used the file descriptor of the target file as the DIR_FD
41272         parameter and NULL as the file name.  That caused failure with
41273         errno == EFAULT on FreeBSD-8.0-rc2
41274
41275 2009-11-07  Eric Blake  <ebb9@byu.net>
41276
41277         fflush, freadseek: use fseeko, not fseek
41278         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
41279         (clear_ungetc_buffer): Avoid potential problems on large files.
41280         * lib/freadseek.c (freadseek): Likewise.
41281         * modules/freadseek (Depends-on): Add fseeko.
41282         * modules/fseek (configure.ac): Set a witness.
41283         * tests/test-fflush.c (main): Use fseeko.
41284         * tests/test-fpurge.c (fseek): Disable link warning.
41285         * tests/test-freadable.c (fseek): Likewise.
41286         * tests/test-freading.c (fseek): Likewise.
41287         * tests/test-fseeko.c (fseek): Likewise.
41288         * tests/test-ftell.c (fseek): Likewise.
41289         * tests/test-ftello.c (fseek): Likewise.
41290         * tests/test-fwritable.c (fseek): Likewise.
41291         * tests/test-fwriting.c (fseek): Likewise.
41292
41293 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41294
41295         * modules/memchr (Depends-on): Drop getpagesize dependency.
41296
41297 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41298
41299         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
41300         Reported by Ludovic Courtès.
41301         * build-aux/pmccabe2html: Improve example usage.
41302         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
41303
41304 2009-11-06  Jim Meyering  <meyering@redhat.com>
41305
41306         do-release-commit-and-tag: New module.
41307         Automate the release-commit and tag process.
41308         * build-aux/do-release-commit-and-tag: New script, from coreutils.
41309         * modules/do-release-commit-and-tag: New file.
41310         * MODULES.html.sh (Support for maintaining and releasing): Add it.
41311
41312 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41313
41314         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
41315         because test-select.c uses inet_pton.
41316
41317 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41318
41319         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
41320         GETADDRINFO_LIB.  Bump serial number.
41321         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
41322         Suggested by Eric Blake <ebb9@byu.net>.
41323
41324 2009-11-05  Eric Blake  <ebb9@byu.net>
41325
41326         strtod: detect darwin bug
41327         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
41328         Reported by Leo Davis.
41329
41330         freopen-safer: new module
41331         * modules/freopen-safer: New module.
41332         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
41333         * lib/freopen-safer.c (freopen_safer): New file.
41334         * lib/stdio-safer.h (freopen_safer): New declaration.
41335         * lib/stdio--.h (freopen): New override.
41336         * MODULES.html.sh (File stream based Input/Output): Mention it.
41337         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
41338         freopen-safer module.
41339         * doc/posix-functions/stderr.texi (stderr): Likewise.
41340         * doc/posix-functions/stdin.texi (stdin): Likewise.
41341         * doc/posix-functions/stdout.texi (stdout): Likewise.
41342         * modules/freopen-safer-tests: New test.
41343         * tests/test-reopen-safer.c: New file.
41344
41345 2009-11-05  Jim Meyering  <meyering@redhat.com>
41346
41347         maint.mk: Prohibit inclusion of "close-stream.h" without use.
41348         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
41349
41350 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41351
41352         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
41353
41354 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41355
41356         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
41357
41358 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41359
41360         Fix link error.
41361         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
41362         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41363
41364 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41365
41366         * tests/test-func.c: Also test value of __func__.
41367
41368 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41369
41370         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
41371         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
41372
41373 2009-11-05  Bruno Haible  <bruno@clisp.org>
41374
41375         Fix link error.
41376         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
41377         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41378         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
41379
41380 2009-11-05  Bruno Haible  <bruno@clisp.org>
41381
41382         Tests for module 'inet_pton'.
41383         * modules/inet_pton-tests: New file.
41384         * tests/test-inet_pton.c: New file.
41385
41386 2009-11-05  Bruno Haible  <bruno@clisp.org>
41387
41388         Tests for module 'inet_ntop'.
41389         * modules/inet_ntop-tests: New file.
41390         * tests/test-inet_ntop.c: New file.
41391
41392 2009-11-04  Eric Blake  <ebb9@byu.net>
41393
41394         stdlib-safer: wrap all mkstemp variants
41395         * modules/mkostemp (configure.ac): Set witness.
41396         * modules/mkostemps (configure.ac): Likewise.
41397         * modules/mkstemps (configure.ac): Likewise.
41398         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
41399         (mkstemps_safer): Wrap more functions.
41400         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
41401         wrapping.
41402         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
41403         (mkstemps_safer): Implement the wrappers.
41404
41405         mkstemps, mkostemps: new modules
41406         * modules/mkostemps: New module.
41407         * modules/mkstemps: Likewise.
41408         * lib/mkostemps.c (mkostemps): New file.
41409         * lib/mkstemps.c (mkstemps): Likewise.
41410         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
41411         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
41412         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
41413         * modules/stdlib (Makefile.am): Substitute them.
41414         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
41415         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
41416         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
41417         * doc/gnulib.texi (Glibc stdlib.h): Include them.
41418         * MODULES.html.sh (File system functions): Mention them.
41419
41420         tempname: resync from glibc
41421         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
41422         same values for __GT_FILE as glibc.  Abort even when assertions
41423         are disabled.
41424         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
41425         match its value otherwise.  Allow idempotent inclusion.
41426         * lib/mkdtemp.c (mkdtemp): Adjust caller.
41427         * lib/mkostemp.c (mkostemp): Likewise.
41428         * lib/mkstemp.c (mkstemp): Likewise.
41429         * lib/tmpfile.c (tmpfile): Likewise.
41430         * NEWS: Document this.
41431
41432         utimens: fix use of futimens on older Linux
41433         * lib/utimens.c (fdutimens): Use updated, rather than original,
41434         timespec to avoid bug in older Linux kernel.
41435         Reported by Simon Josefsson.
41436
41437 2009-11-04  Bruno Haible  <bruno@clisp.org>
41438
41439         Make num_processors more flexible and consistent.
41440         * lib/nproc.h (enum nproc_query): New type.
41441         (num_processors): Add a 'query' argument.
41442         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
41443         (num_processors): Add a 'query' argument. Test the value of the
41444         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
41445         mingw, count the number of CPUs available for the current process.
41446         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
41447         Check for sched_getaffinity and sched_getaffinity_np.
41448         * modules/nproc (Depends-on): Add c-ctype, extensions.
41449         * NEWS: Mention the change.
41450
41451 2009-11-03  Bruno Haible  <bruno@clisp.org>
41452
41453         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
41454
41455 2009-11-03  Jim Meyering  <meyering@redhat.com>
41456
41457         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
41458         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
41459         if it is defined.
41460
41461 2009-11-02  Eric Blake  <ebb9@byu.net>
41462
41463         mktime, timegm: share common declaration
41464         * lib/mktime-internal.h: New file.
41465         * lib/mktime.c: Use it rather than open-coding a declaration.
41466         * lib/timegm.c: Likewise.
41467         * modules/mktime (Files): Ship it.
41468         * modules/timegm (Files): Likewise.
41469         Suggested by Bruno Haible.
41470
41471         test-update-copyright: update test to match script changes
41472         * tests/test-update-copyright.sh: Avoid hard-coding perl
41473         location.  Don't update *.bak created by earlier runs.
41474
41475 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
41476             Simon Josefsson  <simon@josefsson.org>
41477             Bruno Haible  <bruno@clisp.org>
41478
41479         Fix link error on Solaris 8.
41480         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
41481         also in libnsl. Define also INET_PTON_LIB.
41482         * modules/inet_pton (Link): New section.
41483
41484 2009-11-02  Simon Josefsson  <simon@josefsson.org>
41485             Bruno Haible  <bruno@clisp.org>
41486
41487         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
41488         * modules/inet_ntop (Link): New section.
41489         Reported by Boyan Kasarov <bkasarov@gmail.com>.
41490
41491 2009-11-02  Eric Blake  <ebb9@byu.net>
41492
41493         maint: avoid compiler warnings in m4 macros
41494         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
41495         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
41496
41497 2009-11-02  Simon Josefsson  <simon@josefsson.org>
41498
41499         * m4/pmccabe2html.m4: Remove file.
41500         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
41501         function.  Change maintainer.
41502         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
41503         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
41504         Courtès).
41505
41506 2009-10-31  Eric Blake  <ebb9@byu.net>
41507
41508         fseeko: fix m4 regression
41509         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
41510         regression from 2009-10-27.
41511         Reported by Ralf Wildenhues.
41512
41513 2009-10-31  Jim Meyering  <meyering@redhat.com>
41514
41515         inttostr: aesthetics and improved (compile-time) safety
41516         Define inttype_is_signed rather than inttype_is_unsigned,
41517         since the sole use is via "#if inttype_is_signed".
41518         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
41519         inttype_is_unsigned.
41520         * lib/offtostr.c (inttype_is_signed): Likewise.
41521         * lib/uinttostr.c (inttype_is_signed): Likewise.
41522         * lib/umaxtostr.c (inttype_is_signed): Likewise.
41523         * lib/inttostr.c (inttostr): Use verify to cross-check the
41524         inttype_is_signed value and the signedness of the actual type.
41525         * modules/inttostr (Depends-on): Add verify.
41526
41527 2009-10-30  Eric Blake  <ebb9@byu.net>
41528
41529         build: avoid compiler warnings
41530         * lib/fchmodat.c (lchmod): Mark unused variables.
41531         * lib/getopt.c (_getopt_initialize): Likewise.
41532         * lib/mktime.c (__mktime_internal): Provide prototype.
41533         * lib/inttostr.c (inttostr): Avoid compiler warning even with
41534         older gcc that do not understand #pragma GCC diagnostic.
41535         * lib/uinttostr.c (inttype_is_unsigned): Define.
41536         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
41537
41538 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
41539
41540         stat: fix compilation on AIX
41541         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
41542         only see struct stat64.
41543
41544 2009-10-30  Eric Blake  <ebb9@byu.net>
41545
41546         exclude: make more robust
41547         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
41548         rather than masking a coding bug.
41549         Suggested by Bruno Haible.
41550
41551 2009-10-30  Jim Meyering  <meyering@redhat.com>
41552
41553         perl scripts: remove #!/usr/bin/perl in favor of more portable...
41554         Rather than putting #!/usr/bin/perl on the first line,
41555         start with a variant of what's recommended by "man perlrun" that
41556         invokes the first "perl" program from your shell's search path.
41557         * build-aux/gitlog-to-changelog: Replace #!... as above.
41558         Add a "Local Variables" perl mode setting.
41559         Prompted by a patch from Ludovic Courtès.
41560         Improved by Eric Blake.
41561         * build-aux/useless-if-before-free: Likewise.
41562         * build-aux/announce-gen: Likewise.
41563         * build-aux/update-copyright: Likewise.
41564
41565 2009-10-29  Eric Blake  <ebb9@byu.net>
41566
41567         filenamecat-lgpl: adjust clients
41568         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
41569         filenamecat.
41570         * modules/renameat (Depends-on): Likewise.
41571
41572         filenamecat: split into filenamecat-lgpl
41573         * modules/filenamecat-lgpl: New module.
41574         * modules/filenamecat (Files): Move library-safe files into
41575         filenamecat-lgpl.
41576         (Depends-on): Add filenamecat-lgpl.
41577         (configure.ac): Declare witness.
41578         * lib/filenamecat.h (file_name_concat): Only declare when using
41579         GPL module.
41580         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
41581         Move...
41582         * lib/filenamecat-lgpl.c: ...into new file.
41583         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
41584         (gl_FILE_NAME_CONCAT): Use it.
41585         * MODULES.html.sh (File system functions): Mention new module.
41586
41587         argp: avoid memory leak
41588         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
41589         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
41590         base_name, since the latter malloc()s and can call exit().
41591         Leak introduced 2006-07-03.
41592
41593         dirname-lgpl: adjust clients that don't need full dirname
41594         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
41595         * modules/filenamecat (Depends-on): Likewise.
41596         * modules/linkat (Depends-on): Likewise.
41597         * modules/mkancesdirs (Depends-on): Likewise.
41598         * modules/mkdir (Depends-on): Likewise.
41599         * modules/openat (Depends-on): Likewise.
41600         * modules/savewd (Depends-on): Likewise.
41601         * modules/rename (Depends-on): Likewise.
41602         (License): Relax license.
41603         * modules/mkdir-tests (Depends-on): Drop progname.
41604         (Makefile.am): Delete unneeded LDADD.
41605         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
41606
41607         dirname: split into dirname-lgpl
41608         * modules/dirname-lgpl: New module.
41609         * modules/dirname (Files): Move library-safe files into
41610         dirname-lgpl.
41611         (Depends-on): Add dirname-lgpl.
41612         (configure.ac): Declare witness.
41613         * modules/double-slash-root (License): Relax license.
41614         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
41615         module.
41616         * lib/dirname.c (dir_len, mdir_name): Move...
41617         * lib/dirname-lgpl.c: ...into new file.
41618         * lib/basename.c (last_component, base_len): Move...
41619         * lib/basename-lgpl.c: ...into new file.
41620         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
41621         (gl_DIRNAME): Use it.
41622         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
41623         Mention new module.
41624         * modules/dirname-tests (Depends-on): Add progname.
41625         * tests/test-dirname.c (program_name): Delete.
41626
41627         mkdir: make safe for libraries
41628         * modules/mkdir (Depends-on): Drop xalloc.
41629         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
41630         exit.
41631
41632         tests: avoid some compiler warnings
41633         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
41634         literals.
41635         * tests/test-memchr.c (main): Avoid type mismatch.
41636         * tests/test-arpa_inet.c (main): Avoid unused parameters.
41637         * tests/test-base64.c (main): Likewise.
41638         * tests/test-getdelim.c (main): Likewise.
41639         * tests/test-gethostname.c (main): Likewise.
41640         * tests/test-getline.c (main): Likewise.
41641         * tests/test-netinet_in.c (main): Likewise.
41642         * tests/test-select.c (open_server_socket, main): Likewise.
41643         * tests/test-select-stdin.c (main): Likewise.
41644         * tests/test-sockets.c (main): Likewise.
41645         * tests/test-strsignal.c (main): Likewise.
41646         * tests/test-sys_select.c (main): Likewise.
41647         * tests/test-sys_socket.c (main): Likewise.
41648         * tests/test-u64.c (main): Likewise.
41649         * tests/test-xfprintf-posix.c (main): Likewise.
41650         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
41651
41652         sockets: avoid compiler warning
41653         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
41654
41655         maint: detect usage(1) and other suspicious exits
41656         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
41657
41658 2009-10-29  Jim Meyering  <meyering@redhat.com>
41659
41660         timespec: long-to-int truncation could make timespec_cmp malfunction
41661         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
41662         a multiple of 2^32 nanoseconds as no difference.
41663
41664 2009-10-28  Jim Meyering  <meyering@redhat.com>
41665
41666         fprintftime: wrap macro code argument in "do {...} while(0)"
41667         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
41668         cpy macro must be a statement that can be followed by a semicolon.
41669         Now that the else clause contains a comment and is hence longer
41670         than one line, I require curly braces.  That in turn requires
41671         that we wrap this code block in the standard do...while(0).
41672
41673         fprintftime: remove stray semicolon from previous change
41674         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
41675
41676         fprintftime: avoid a warning about ignored fwrite return value
41677         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
41678         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
41679         that is unsafe.
41680         * modules/fprintftime (Depends-on): Add ignore-value.
41681
41682         exclude: avoid an unwarranted warning
41683         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
41684
41685 2009-10-27  Eric Blake  <ebb9@byu.net>
41686
41687         fseek: avoid compilation failure when fflush is replaced
41688         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
41689         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
41690         module is in use.
41691         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
41692         module is not in use; since REPLACE_FSEEK worked otherwise.
41693         (GNULIB_FTELLO): Likewise for ftell.
41694         Reported by Ian Beckwith and others.
41695
41696 2009-10-27  Bruno Haible  <bruno@clisp.org>
41697
41698         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
41699         Reported by Jim Meyering.
41700
41701 2009-10-27  Jim Meyering  <jim@meyering.net>
41702             Bruno Haible  <bruno@clisp.org>
41703
41704         Avoid warning despite dropping the return value of fwrite.
41705         * lib/unicodeio.c: Include ignore-value.h.
41706         (fwrite_success_callback): Explicitly ignore fwrite's return value.
41707         * modules/unicodeio (Depends-on): Add ignore-value.
41708
41709 2009-10-26  Eric Blake  <ebb9@byu.net>
41710
41711         areadlinkat: fix fallback path
41712         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
41713         pointer and zero.
41714
41715 2009-10-22  Pádraig Brady  <P@draigBrady.com>
41716
41717         Use a better IO block size for modern systems
41718         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
41719         * lib/md2.c: Likewise.
41720         * lib/md4.c: Likewise.
41721         * lib/md5.c: Likewise.
41722         * lib/sha1.c: Likewise.
41723         * lib/sha256.c: Likewise.
41724         * lib/sha512.c: Likewise.
41725
41726 2009-10-22  Eric Blake  <ebb9@byu.net>
41727
41728         tests: avoid several compiler warnings
41729         * tests/test-getcwd.c (main): Avoid buffer underflow.
41730         * tests/test-getdate.c (main): String literals are not safe with
41731         putenv, so use setenv.  Declare unused argument.
41732         * modules/getdate-tests (Depends-on): Add setenv.
41733         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
41734         problems with string literals in char *.
41735         * tests/test-hash.c (main): Avoid shadowing declaration.
41736         (insert_new): Treat string literals as char const *.
41737         * tests/test-getopt.h (test_getopt): Likewise.
41738         (getopt_loop): Alter types to minimize casting elsewhere.
41739         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
41740         (test_getopt_long_posix): Likewise.
41741         (do_getopt_long): Add wrapper to minimize casting.
41742         * tests/test-atexit.c (clear_temp_file): Use void.
41743         * tests/test-areadlink-with-size.c (main): Declare unused
41744         arguments.
41745         * tests/test-areadlink.c (main): Likewise.
41746         * tests/test-areadlinkat-with-size.c (main): Likewise.
41747         * tests/test-areadlinkat.c (main): Likewise.
41748         * tests/test-canonicalize-lgpl.c (main): Likewise.
41749         * tests/test-canonicalize.c (main): Likewise.
41750         * tests/test-dirent-safer.c (main): Likewise.
41751         * tests/test-dirname.c (main): Likewise.
41752         * tests/test-dup2.c (main): Likewise.
41753         * tests/test-fchdir.c (main): Likewise.
41754         * tests/test-fcntl-h.c (main): Likewise.
41755         * tests/test-fcntl-safer.c (main): Likewise.
41756         * tests/test-fdopendir.c (main): Likewise.
41757         * tests/test-fdutimensat.c (main): Likewise.
41758         * tests/test-fflush.c (main): Likewise.
41759         * tests/test-filenamecat.c (main): Likewise.
41760         * tests/test-filevercmp.c (main): Likewise.
41761         * tests/test-fopen-safer.c (main): Likewise.
41762         * tests/test-fopen.c (main): Likewise.
41763         * tests/test-fpending.c (main): Likewise.
41764         * tests/test-fpurge.c (main): Likewise.
41765         * tests/test-freading.c (main): Likewise.
41766         * tests/test-fstatat.c (main): Likewise.
41767         * tests/test-fsync.c (main): Likewise.
41768         * tests/test-futimens.c (main): Likewise.
41769         * tests/test-getndelim2.c (main): Likewise.
41770         * tests/test-gettimeofday.c (main): Likewise.
41771         * tests/test-getopt.c (main): Likewise.
41772         * tests/test-i-ring.c (main): Likewise.
41773         * tests/test-inttypes.c (main): Likewise.
41774         * tests/test-link.c (main): Likewise.
41775         * tests/test-lstat.c (main): Likewise.
41776         * tests/test-math.c (main): Likewise.
41777         * tests/test-md5.c (main): Likewise.
41778         * tests/test-memchr2.c (main): Likewise.
41779         * tests/test-memrchr.c (main): Likewise.
41780         * tests/test-mkdir.c (main): Likewise.
41781         * tests/test-mkdirat.c (main): Likewise.
41782         * tests/test-mkfifoat.c (main): Likewise.
41783         * tests/test-open.c (main): Likewise.
41784         * tests/test-openat-safer.c (main): Likewise.
41785         * tests/test-openat.c (main): Likewise.
41786         * tests/test-quotearg.c (main): Likewise.
41787         * tests/test-rawmemchr.c (main): Likewise.
41788         * tests/test-readlink.c (main): Likewise.
41789         * tests/test-remove.c (main): Likewise.
41790         * tests/test-rename.c (main): Likewise.
41791         * tests/test-renameat.c (main): Likewise.
41792         * tests/test-rmdir.c (main): Likewise.
41793         * tests/test-sha1.c (main): Likewise.
41794         * tests/test-signal.c (main): Likewise.
41795         * tests/test-sigaction.c (main): Likewise.
41796         * tests/test-stat.c (main): Likewise.
41797         * tests/test-stat-time.c (main): Likewise.
41798         * tests/test-stddef.c (main): Likewise.
41799         * tests/test-stdint.c (main): Likewise.
41800         * tests/test-stdio.c (main): Likewise.
41801         * tests/test-stdlib.c (main): Likewise.
41802         * tests/test-strchrnul.c (main): Likewise.
41803         * tests/test-strerror.c (main): Likewise.
41804         * tests/test-string.c (main): Likewise.
41805         * tests/test-strtod.c (main): Likewise.
41806         * tests/test-strverscmp.c (main): Likewise.
41807         * tests/test-symlink.c (main): Likewise.
41808         * tests/test-symlinkat.c (main): Likewise.
41809         * tests/test-sys_stat.c (main): Likewise.
41810         * tests/test-sys_time.c (main): Likewise.
41811         * tests/test-time.c (main): Likewise.
41812         * tests/test-unistd.c (main): Likewise.
41813         * tests/test-unlink.c (main): Likewise.
41814         * tests/test-unlinkat.c (main): Likewise.
41815         * tests/test-utimens.c (main): Likewise.
41816         * tests/test-utimensat.c (main): Likewise.
41817         * tests/test-version-etc.c (main): Likewise.
41818         * tests/test-wchar.c (main): Likewise.
41819         * tests/test-wctype.c (main): Likewise.
41820         * tests/test-xprintf-posix.c (main): Likewise.
41821         * tests/test-posixtm.c (main): Likewise.
41822         (STREQ): Delete unused macro.
41823         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
41824         shadowed variables.
41825         * tests/test-memchr.c (main): Likewise.
41826
41827 2009-10-21  Eric Blake  <ebb9@byu.net>
41828
41829         areadlinkat: avoid failure on older glibc
41830         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
41831         rather than mis-comparing 0 against FUNC_RESULT of char*.
41832
41833 2009-10-21  Bruno Haible  <bruno@clisp.org>
41834
41835         * modules/stpncpy (License): Relicense under LGPLv2+.
41836         Reported by David Lutterkort <lutter@redhat.com>.
41837
41838 2009-10-20  Eric Blake  <ebb9@byu.net>
41839
41840         utimensat: work around Solaris 9 bug
41841         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
41842         has trailing slash bugs.
41843         * tests/test-lutimens.h (test_lutimens): Enhance test.
41844         * tests/test-utimens.h (test_utimens): Likewise.
41845         * doc/posix-functions/utime.texi (utime): Enhance documentation.
41846         * doc/posix-functions/utimes.texi (utimes): Likewise.
41847         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41848         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
41849         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
41850         * doc/posix-functions/futimens.texi (futimens): Likewise.
41851
41852         fdutimensat: new module
41853         * modules/fdutimensat: New file.
41854         * lib/fdutimensat.c (fdutimensat): Likewise.
41855         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
41856         * MODULES.html.sh (File system functions): Mention module.
41857         * modules/fdutimensat-tests: New test.
41858         * tests/test-fdutimensat.c: Likewise.
41859
41860         doc: regenerate INSTALL
41861         * doc/INSTALL: Reflect recent autoconf update.
41862         * doc/INSTALL.ISO: Likewise.
41863         * doc/INSTALL.UTF-8: Likewise.
41864
41865 2009-10-20  Pádraig Brady  <P@draigBrady.com>
41866
41867         acl: warn if ACL support is not detected
41868         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
41869
41870 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
41871
41872         * lib/nproc.h: Add extern "C" block for C++.
41873
41874 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
41875             Bruno Haible  <bruno@clisp.org>
41876
41877         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
41878         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
41879         * doc/posix-functions/isalpha.texi: Likewise.
41880         * doc/posix-functions/isblank.texi: Likewise.
41881         * doc/posix-functions/iscntrl.texi: Likewise.
41882         * doc/posix-functions/isdigit.texi: Likewise.
41883         * doc/posix-functions/isgraph.texi: Likewise.
41884         * doc/posix-functions/islower.texi: Likewise.
41885         * doc/posix-functions/isprint.texi: Likewise.
41886         * doc/posix-functions/ispunct.texi: Likewise.
41887         * doc/posix-functions/isspace.texi: Likewise.
41888         * doc/posix-functions/isupper.texi: Likewise.
41889         * doc/posix-functions/isxdigit.texi: Likewise.
41890
41891 2009-10-18  Bruno Haible  <bruno@clisp.org>
41892
41893         Tests for module 'isblank'.
41894         * modules/isblank-tests: New file.
41895         * tests/test-isblank.c: New file.
41896
41897         New module 'isblank'.
41898         * lib/isblank.c: New file.
41899         * m4/isblank.m4: New file.
41900         * modules/isblank: New file.
41901         * doc/posix-functions/isblank.texi: Mention the new module.
41902
41903 2009-10-18  Bruno Haible  <bruno@clisp.org>
41904
41905         New module 'ctype'.
41906         * lib/ctype.in.h: New file.
41907         * m4/ctype.m4: New file.
41908         * modules/ctype: New file.
41909         * doc/posix-headers/ctype.texi: Mention the new module.
41910
41911 2009-10-18  Jim Meyering  <meyering@redhat.com>
41912
41913         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
41914         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
41915         right after its initialization, rather than farther down.
41916         Keeping these in close proximity makes it easier to ensure
41917         that each such variable is initialized.  E.g.,
41918
41919             LIB_CLOCK_GETTIME=
41920             AC_SUBST([LIB_CLOCK_GETTIME])
41921
41922         This change also increments these serial numbers.
41923         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
41924         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41925         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41926
41927 2009-10-18  Bruno Haible  <bruno@clisp.org>
41928
41929         Don't let environment variables perturb build.
41930         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
41931         (gl_PREREQ_GETHRXTIME): ... not here.
41932
41933 2009-10-18  Bruno Haible  <bruno@clisp.org>
41934
41935         Avoid symlink attack in localcharset module.
41936         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
41937         (O_NOFOLLOW): Define fallback.
41938         (get_charset_aliases): Don't open the file if it is a symbolic link.
41939         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
41940         gl_FCNTL_H.
41941         (gl_FCNTL_H): Require it.
41942         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41943         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41944         Reported by Fergal Glynn <fglynn@veracode.com>.
41945
41946 2009-10-18  Bruno Haible  <bruno@clisp.org>
41947
41948         Implement nproc for mingw.
41949         * lib/nproc.c: Include <windows.h>
41950         (num_processors): On native Windows platforms, try GetSystemInfo.
41951
41952 2009-10-18  Bruno Haible  <bruno@clisp.org>
41953
41954         Implement nproc for IRIX.
41955         * lib/nproc.c: Include <sys/sysmp.h>.
41956         (num_processors): On IRIX systems, try sysmp.
41957         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41958
41959 2009-10-18  Bruno Haible  <bruno@clisp.org>
41960
41961         Implement nproc for HP-UX.
41962         * lib/nproc.c: Include <sys/pstat.h>
41963         (num_processors): On HP-UX systems, try pstat_getdynamic.
41964         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41965         pstat_getdynamic.
41966
41967 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41968             Bruno Haible  <bruno@clisp.org>
41969
41970         Implement nproc for NetBSD, OpenBSD.
41971         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41972         (ARRAY_SIZE): New macro.
41973         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41974         * m4/nproc.m4: New file.
41975         * modules/nproc (Files): Add m4/nproc.m4.
41976         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41977         (Makefile.am): Instead, augment lib_SOURCES.
41978
41979 2009-10-18  Bruno Haible  <bruno@clisp.org>
41980
41981         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41982         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41983         sys/param.h.
41984
41985 2009-10-16  Eric Blake  <ebb9@byu.net>
41986
41987         utimensat: new module
41988         * modules/utimensat: New file.
41989         * lib/utimensat.c (utimensat): Likewise.
41990         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41991         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41992         so we can work around Linux bugs.
41993         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41994         * modules/sys_stat (Makefile.am): Substitute them.
41995         * lib/sys_stat.in.h (utimensat): Declare it.
41996         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41997         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41998         * modules/utimensat-tests: New test.
41999         * tests/test-utimensat.c: Likewise.
42000
42001         utimens: let lutimens work on non-symlinks
42002         * lib/utimens.c (lutimens): Fall back to utimens rather than
42003         failing with ENOSYS, when file is not a symlink.
42004         (utimens): Reduce redirection.
42005         * tests/test-lutimens.h (test_lutimens): Update test to cover
42006         non-symlinks.
42007         * tests/test-utimens.h (test_utimens): Update test to cover
42008         symlinks.
42009         * tests/test-utimens.c (main): Update caller.
42010
42011         utimens: cache whether utimensat syscall works
42012         * lib/utimens.c (utimensat_works_really): New cache variable.
42013         (fdutimens, lutimens): Use it to avoid failing syscall.
42014
42015         test-stat-time, test-utimens: improve portability
42016         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
42017         ext4 on alpha, and for cygwin.
42018         * tests/test-utimens-common.h: New file.
42019         (nap): Factor delays into single function.
42020         * tests/test-lutimens.h (test_lutimens): Use new header.
42021         * tests/test-futimens.h (test_futimens): Likewise.
42022         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
42023         timestamps to occur from same machine, as was done previously for
42024         test_utimens.
42025         * modules/utimens-tests (Files): Ship new file.
42026         * modules/futimens-tests (Files): Likewise.
42027         Reported in part by Jim Meyering.
42028
42029         sys_stat: sort replacement declarations
42030         * lib/sys_stat.in.h: Sort declarations.
42031         * lib/futimens.c (futimens): Fix typo.
42032
42033 2009-10-15  Jim Meyering  <meyering@redhat.com>
42034
42035         don't let environment settings perturb build
42036         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
42037         could cause a configure-time and/or build-time malfunction.
42038         Typically, a configure-time function-in-library test is performed
42039         via code like this:
42040
42041           LIB_VAR=
42042           AC_SUBST([LIB_VAR])
42043           prefix_saved_LIBS=$LIBS
42044             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
42045                        [test "$ac_cv_search_FUNC" = "none required" ||
42046                         LIB_VAR=$ac_cv_search_FUNC])
42047           LIBS=$prefix_saved_LIBS
42048
42049         However, in each of the files affected by this change, the LIB_VAR=
42050         initialization was omitted.  Thus, when set in the environment, its
42051         value would propagate into generated Makefiles when FUNC is not found
42052         in LIB_NAME.
42053         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
42054         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42055         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42056
42057 2009-10-14  Eric Blake  <ebb9@byu.net>
42058
42059         fchdir: avoid infinite recursion in mingw
42060         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
42061         recursing.
42062
42063         test-stat-time: port to mingw
42064         * tests/test-stat-time.c (force_unlink): Return a value.
42065         (test_ctime) [W32]: Fix compilation error.
42066         (nap): Don't call usleep with too large an argument.  Use
42067         force_unlink.
42068         * doc/pastposix-functions/usleep.texi (usleep): Document the
42069         portability issue.
42070
42071 2009-10-13  Jim Meyering  <meyering@redhat.com>
42072
42073         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
42074         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
42075         * modules/pipe-filter-ii: Likewise.
42076         * modules/sys_socket-tests: Likewise.
42077         * modules/tsearch-tests: Likewise.
42078         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
42079         (check): Depend on it.
42080
42081 2009-10-12  Eric Blake  <ebb9@byu.net>
42082
42083         utimens-tests: port to NFS file systems
42084         * tests/test-utimens.h (test_utimens): Refactor utimecmp
42085         comparisons to avoid spurious failures from timestamp drift
42086         between NFS machines.
42087
42088 2009-10-12  Eric Blake  <ebb9@byu.net>
42089
42090         stat-time-tests: minor cleanups
42091         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
42092         * tests/test-stat-time.c (nap): Separate assignment from call.
42093         Suggested by Paolo Bonzini and Bruno Haible.
42094
42095         sys_stat: guarantee struct timespec
42096         * lib/sys_stat.in.h (includes): Always include <time.h>
42097         * modules/sys_stat (Depends-on): Add time.
42098         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
42099         mode_t permission values.
42100         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
42101         get at subsecond timestamps.
42102
42103 2009-10-10  Eric Blake  <ebb9@byu.net>
42104
42105         futimens: new module
42106         * modules/futimens: New file.
42107         * lib/futimens.c (futimens): Likewise.
42108         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
42109         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
42110         we can work around Linux bugs.
42111         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42112         * modules/sys_stat (Makefile.am): Substitute them.
42113         * lib/sys_stat.in.h (futimens): Declare it.
42114         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42115         * doc/posix-functions/futimens.texi (futimens): Likewise.
42116         * modules/futimens-tests: New test.
42117         * tests/test-futimens.c: Likewise.
42118
42119         utimens: introduce fdutimens
42120         * lib/utimens.h (fdutimens): New prototype.
42121         * lib/utimens.c (gl_futimens): Move guts...
42122         (fdutimens): ...to new interface.
42123         * tests/test-utimens.c (do_fdutimens): Use it.
42124
42125         utimens: add UTIME_NOW and UTIME_OMIT support
42126         * lib/utimens.c (validate_timespec, update_timespec): New helper
42127         functions.
42128         (gl_futimens, lutimens): Use them.
42129         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
42130         stdbool, sys_stat.
42131         (Link): Mention resulting library dependency.
42132         * modules/utimecmp (Link): Likewise.
42133         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
42134         (Makefile.am): Pick up library dependency.
42135         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
42136         definition.
42137         * tests/test-sys_stat.c: Test the definitions.
42138         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
42139         * NEWS: Document library dependency.
42140
42141         utimecmp: support symlink timestamps
42142         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
42143         hashing when possible.  Use pathconf when available.
42144         (SYSCALL_RESOLUTION): Recognize tighter resolution.
42145         * modules/utimecmp (Depends-on): Add lstat.
42146
42147         utimens: add lutimens interface
42148         * lib/utimens.c (lutimens): New function.
42149         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
42150         * lib/utimens.h (lutimens): Declare new interface.
42151         * tests/test-utimens.c (main): Enhance test.
42152         * tests/test-lutimens.h (test_lutimens): New file.
42153         * modules/utimens-tests (Files): Distribute it.
42154         (Depends-on): Add symlink.
42155         (configure.ac): Check for usleep.
42156
42157         utimens: validate futimens usage
42158         * lib/utimens.c (gl_futimens): Require valid fd up front, using
42159         fewer syscalls on failure later on.  Avoid compiler warning on
42160         mingw.
42161         * modules/utimens (Depends-on): Add dup2.
42162
42163         utimens: add test
42164         * modules/utimens-tests: New test.
42165         * tests/test-utimens.h: New file.
42166         * tests/test-futimens.h: Likewise.
42167         * tests/test-utimens.c: Likewise.
42168
42169         doc: mention timestamp portability issues
42170         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
42171         instead.
42172         * doc/posix-functions/utime.texi (utime): Likewise.
42173         * doc/posix-functions/utimes.texi (utimes): Likewise.
42174         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
42175         instead.
42176         * doc/posix-functions/futimens.texi (futimens): Mention utimens
42177         module.
42178         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42179         Mention weakness with symlink timestamps.
42180         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
42181         to utimensat/futimens instead.
42182         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
42183
42184         test-dup2: enhance test
42185         * tests/test-dup2.c (main): Also check AT_FDCWD.
42186
42187         test-stat-time: avoid more spurious failures
42188         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
42189         xfs; and avoid race if the two timestamps cross quantization edge.
42190
42191         relocatable: prefer 'file system' over 'filesystem'
42192         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
42193         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
42194         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
42195         * doc/relocatable.texi (Enabling Relocatability): Likewise.
42196         * lib/relocatable.c (compute_curr_prefix): Likewise.
42197
42198 2009-10-10  Jim Meyering  <meyering@redhat.com>
42199
42200         stat-time-tests: check for the usleep function
42201         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
42202
42203 2009-10-10  Bruno Haible  <bruno@clisp.org>
42204
42205         * modules/xnanosleep: Put the Link section after the Include section.
42206
42207 2009-10-09  Eric Blake  <ebb9@byu.net>
42208
42209         dup2: work around FreeBSD 6.1 bug
42210         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
42211         * doc/posix-functions/dup2.texi (dup2): Document it.
42212         Reported by Nelson H. F. Beebe and Jim Meyering.
42213
42214         test-stat-time: port to buggy NFS clients
42215         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
42216         (test_ctime): Also skip test if mtime and ctime are skewed.
42217
42218         maint: prefer 'file system' over 'filesystem'
42219         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42220         * doc/posix-functions/lstat.texi (lstat): Likewise.
42221         * lib/file-has-acl.c (file_has_acl): Likewise.
42222         * lib/fwriteerror.c [TEST]: Likewise.
42223         * tests/test-areadlink.h (test_areadlink): Likewise.
42224         * tests/test-areadlinkat-with-size.c (main): Likewise.
42225         * tests/test-areadlinkat.c (main): Likewise.
42226         * tests/test-canonicalize-lgpl.c (main): Likewise.
42227         * tests/test-canonicalize.c (main): Likewise.
42228         * tests/test-fstatat.c (main): Likewise.
42229         * tests/test-linkat.c (main): Likewise.
42230         * tests/test-lstat.h (test_lstat_func): Likewise.
42231         * tests/test-mkdir.h (test_mkdir): Likewise.
42232         * tests/test-readlink.h (test_readlink): Likewise.
42233         * tests/test-remove.c (main): Likewise.
42234         * tests/test-rename.h (test_rename): Likewise.
42235         * tests/test-renameat.c (main): Likewise.
42236         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42237         * tests/test-symlink.h (test_symlink): Likewise.
42238         * tests/test-symlinkat.c (main): Likewise.
42239         * tests/test-unlink.h (test_unlink_func): Likewise.
42240         * tests/test-unlinkat.c (main): Likewise.
42241
42242         maint: make realtime library usage explicit
42243         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
42244         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
42245         * modules/settime (Link): Likewise.
42246         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
42247
42248         test-stat-time: speed up execution
42249         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
42250         warning on mingw.
42251         (nap): New helper function.
42252         (prepare_test): Use it to reduce sleep time.
42253         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
42254         execution.
42255         * modules/stat-time-tests (configure.ac): Check for usleep.
42256
42257 2009-10-09  Jim Meyering  <meyering@redhat.com>
42258
42259         selinux-h: always use getfilecon wrappers
42260         * lib/getfilecon.c: New file.
42261         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
42262         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
42263         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
42264         (fgetfilecon): Provide a stub.
42265         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
42266         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
42267         file unconditionally.
42268         When <selinux/selinux.h> is found, arrange to use wrappers.
42269         * modules/selinux-h (Files): Add getfilecon.c.
42270         (Makefile.am): Substitute include-next-related bits
42271         into the now-always-generated selinux/selinux.h file.
42272         * doc/glibc-functions/lgetfilecon.texi: New file.
42273         * doc/glibc-functions/fgetfilecon.texi: New file.
42274         * doc/glibc-functions/getfilecon.texi: New file.
42275         * doc/glibc-functions/getfilecon-desc.texi: New file.
42276         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
42277         which to pull in the new files.
42278         * MODULES.html.sh (Misc): Add selinux-h.
42279
42280 2009-10-08  Jim Meyering  <meyering@redhat.com>
42281
42282         unistd: fix comment typo
42283         * lib/unistd.in.h (euidaccess): Fix a comment typo.
42284
42285 2009-10-08  Eric Blake  <ebb9@byu.net>
42286
42287         areadlink: use SIZE_MAX consistently
42288         * modules/areadlink (Depends-on): Add stdint.
42289         * modules/areadlink-with-size (Depends-on): Likewise.
42290         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
42291         gives NULL; drop sys/types, since unistd gives size_t; and add
42292         stdint for SIZE_MAX.
42293         (SIZE_MAX): Rely on headers.
42294         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
42295         and add stdint.
42296         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
42297         (SIZE_MAX): Likewise.
42298         (INITIAL_BUF_SIZE): Turn into enum.
42299         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
42300
42301 2009-10-08  Jim Meyering  <meyering@redhat.com>
42302
42303         areadlinkat: avoid compilation failure
42304         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
42305         Fix typo in comment.
42306
42307 2009-10-07  Eric Blake  <ebb9@byu.net>
42308
42309         areadlinkat-with-size: new module
42310         * modules/areadlinkat-with-size: New module.
42311         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
42312         * lib/areadlink.h (areadlinkat): Declare it.
42313         * MODULES.html.sh (File system functions): Mention it.
42314         * modules/areadlinkat-with-size-tests: New test.
42315         * tests/test-areadlinkat-with-size.c: New file.
42316
42317         xreadlinkat: new module
42318         * modules/xreadlinkat: New module.
42319         * lib/xreadlinkat.c (xreadlinkat): New file.
42320         * lib/xreadlink.h (xreadlinkat): Declare it.
42321         * MODULES.html.sh (File system functions): Mention it.
42322
42323         areadlinkat: new module
42324         * lib/at-func.c (FUNC_FAIL): New define.
42325         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
42326         * modules/areadlinkat: New module.
42327         * lib/linkat.c (areadlinkat): Move...
42328         * lib/areadlinkat.c (areadlinkat): ...to new file.
42329         * lib/areadlink.h (areadlinkat): Declare it.
42330         * modules/linkat (Depends-on): Add areadlinkat.
42331         * MODULES.html.sh (File system functions): Mention it.
42332         * modules/areadlinkat-tests: New test.
42333         * tests/test-areadlinkat.c: New file.
42334
42335         areadlink, areadlink-with-size: add tests
42336         * modules/areadlink-tests: New test.
42337         * modules/areadlink-with-size-tests: Likewise.
42338         * tests/test-areadlink.h: New file.
42339         * tests/test-areadlink.c: Likewise.
42340         * tests/test-areadlink-with-size.c: Likewise.
42341
42342         maint: minor cleanups
42343         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
42344         _UNUSED_PARAMETER_ instead.
42345         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
42346         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
42347         * modules/linkat-tests (Files): Distribute test-link.h.
42348
42349         openat, utimens: whitespace cleanup
42350         * lib/openat.c: Prefer space throughout, rather than mix of 8
42351         spaces vs. tabs.
42352         * lib/at-func.c: Likewise.
42353         * lib/utimens.c: Likewise.
42354
42355         openat: avoid using wrong fd
42356         * lib/openat.c (openat_permissive): Reject user's fd if saving the
42357         working directory chooses same fd.
42358         * lib/at-func.c (AT_FUNC_NAME): Likewise.
42359
42360         mkdir, mkdirat: fix cygwin 1.5.x bug
42361         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
42362         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
42363         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
42364         bug.
42365         (gl_PREREQ_MKDIR): Delete unused macro.
42366         * modules/mkdir (Files): Track file rename.
42367         (configure.ac): Update macro name.
42368         * modules/openat (Depends-on): Add mkdir.
42369         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
42370
42371         mkdir, mkdirat: add tests
42372         * modules/mkdir-tests: New test.
42373         * tests/test-mkdir.h: New file.
42374         * tests/test-mkdir.c: Likewise.
42375         * tests/test-mkdirat.c: Likewise.
42376         * modules/openat-tests (Files): Add new files.
42377         (Makefile.am): Run new test.
42378
42379 2009-10-06  Eric Blake  <ebb9@byu.net>
42380
42381         doc: tweak *at function documentation
42382         * doc/posix-functions/faccessat.texi (faccessat): Mention
42383         known issue with replacement.
42384         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
42385         * doc/posix-functions/linkat.texi (linkat): Likewise.
42386         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42387         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42388         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42389         * doc/posix-functions/renameat.texi (renameat): Likewise.
42390         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42391
42392         openat: fix GNU/Hurd bug in unlinkat
42393         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
42394         broken.
42395         * doc/posix-functions/unlink.texi (unlink): Document this.
42396         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
42397
42398         fdopendir: fix GNU/Hurd bug
42399         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
42400         allowing non-directory fds.
42401         * lib/fdopendir.c (rpl_fdopendir): Work around it.
42402         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
42403         * modules/dirent (Makefile.am): Substitute it.
42404         * lib/dirent.in.h (fdopendir): Declare replacement.
42405         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
42406         * tests/test-fdopendir.c (main): Test something other than
42407         /dev/null, since on Hurd that behaves like a directory.
42408
42409         test-symlink: port to GNU/Hurd
42410         * tests/test-symlink.h (test_symlink): Relax expected errno.
42411
42412         doc: tweak more cygwin information
42413         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
42414         now compatible with glibc.
42415         * doc/posix-functions/getopt.texi (getopt): Likewise.
42416
42417         getopt-gnu: add another test
42418         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
42419         guarantee behavior relied on by m4.
42420         * tests/test-getopt.c (main): Use it.
42421         * modules/getopt-posix-tests (Depends-on): Add setenv.
42422         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
42423
42424         getopt: fix compilation on darwin
42425         * lib/getopt.in.h (includes): Leave breadcrumbs during system
42426         include.
42427         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
42428         Reported by Ludovic Courtès.
42429
42430 2009-10-06  Bruno Haible  <bruno@clisp.org>
42431
42432         * modules/size_max (Description): Discourage its use.
42433         Reported by Simon Josefsson.
42434
42435 2009-10-06  Jim Meyering  <meyering@redhat.com>
42436
42437         linkat: avoid compilation failure
42438         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
42439
42440 2009-10-05  Eric Blake  <ebb9@byu.net>
42441
42442         linkat: support Linux 2.6.17
42443         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
42444         linkat on Linux, but allow cache variable override.
42445         * lib/linkat.c (rpl_linkat): Define override.
42446         * modules/linkat (Depends-on): Add symlinkat.
42447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
42448         * modules/unistd (Makefile.am): Substitute it.
42449         * lib/unistd.in.h (linkat): Declare replacement.
42450         Reported by Pádraig Brady.
42451
42452         quotearg: port test to systems with C.UTF-8 locale
42453         * tests/test-quotearg.c (struct result_strings): Add another
42454         member, differentiating between C.ASCII and C.UTF-8 handling.
42455         (compare_strings): Add parameter.
42456         (main): Adjust all callers.
42457
42458         getopt: avoid clash with FreeBSD _getopt_internal
42459         * lib/getopt.in.h (_getopt_internal): Override the name.
42460         * lib/getopt_int.h (includes): Pick up any overrides.
42461         Reported by Reuben Thomas.
42462
42463         hash: allow C89 compilation
42464         * lib/hash.c (check_tuning): Move declaration before statement.
42465         Reported by Reuben Thomas.
42466
42467 2009-10-05  Karl Berry  <karl@gnu.org>
42468
42469         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
42470
42471 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
42472             Bruno Haible  <bruno@clisp.org>
42473
42474         * lib/uname.c (uname): Use a table-driven algorithm to compute
42475         Windows NT versions.
42476
42477 2009-10-04  Bruno Haible  <bruno@clisp.org>
42478
42479         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
42480         program_invocation_short_name.
42481         * modules/progname (configure.ac): Test for presence of
42482         program_invocation_short_name.
42483         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42484
42485 2009-10-04  Bruno Haible  <bruno@clisp.org>
42486
42487         * lib/progname.c (set_program_name): Fix comment.
42488         Reported by Jim Meyering.
42489
42490 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
42491             Bruno Haible  <bruno@clisp.org>
42492
42493         * lib/uname.c: Include <string.h>.
42494         (uname): Do only one call to GetVersionEx in the common case.
42495
42496 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
42497             Bruno Haible  <bruno@clisp.org>
42498
42499         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
42500         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
42501         (uname): Add support for Windows CE and various non-x86 CPU types.
42502
42503 2009-10-03  Bruno Haible  <bruno@clisp.org>
42504
42505         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
42506         invocation to tests/configure.ac.
42507         Reported by Ian Beckwith <ianb@erislabs.net>.
42508
42509 2009-10-02  Eric Blake  <ebb9@byu.net>
42510
42511         fchdir: avoid compiler warning
42512         * lib/fchdir.c (canonicalize_file_name)
42513         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
42514
42515         test-open: support mingw errno values
42516         * tests/test-open.h (test_open): Relax test.
42517         * tests/test-fopen.h (test_fopen): Likewise.
42518         * tests/test-openat-safer.c (main): Likewise.
42519
42520         open: fix opening directory on mingw
42521         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
42522
42523         test-open: on GNU/Hurd, /dev/null is a directory
42524         * tests/test-fopen.h (main): Rename...
42525         (test_fopen): ...to this.  Use a guaranteed non-directory when
42526         confirming open behavior on trailing slash.
42527         * tests/test-openat-safer.c (main): Likewise.
42528         * tests/test-open.h (main): Likewise....
42529         (test_open): ...to this.
42530         * tests/test-fopen.c (main): Adjust caller.
42531         * tests/test-fopen-safer.c (main): Likewise.
42532         * tests/test-open.c (main): Likewise.
42533         * tests/test-fcntl-safer.c (main): Likewise.
42534         Reported by Samuel Thibault.
42535
42536         rename, fchdir: don't ignore chdir failure
42537         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
42538         * lib/rename.c (rpl_rename) [W32]: Likewise.
42539         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
42540         an empty destination directory if source cannot be renamed,
42541         although there is still possibility for failure.
42542         * doc/posix-functions/rename.texi (rename): Document the race.
42543         Reported by Jim Meyering.
42544
42545         maint: cleanup whitespace in recent commits
42546         * lib/rename.c (rpl_rename): Remove tabs.
42547         * tests/test-link.h (test_link): Likewise.
42548         * lib/fchdir.c (get_name): Likewise.
42549         Reported by Jim Meyering.
42550
42551 2009-10-02  Ben Pfaff  <blp@gnu.org>
42552
42553         relocatable-prog-wrapper: Add missing dependency on
42554         double-slash-root.
42555         * modules/relocatable-prog-wrapper: Add dependency.
42556         Reported by Ian Beckwith <ianb@erislabs.net>.
42557
42558 2009-10-02  Eric Blake  <ebb9@byu.net>
42559
42560         renameat: fix Solaris bugs
42561         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
42562         needed fixing.
42563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
42564         * modules/stdio (Makefile.am): Substitute it.
42565         * lib/stdio.in.h (renameat): Declare replacement.
42566         * lib/renameat.c (rpl_renameat): Implement fix.
42567
42568         renameat: new module
42569         * modules/renameat: New file.
42570         * lib/renameat.c (renameat): Likewise.
42571         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
42572         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42573         * modules/stdio (Makefile.am): Substitute them.
42574         * lib/stdio.in.h (renameat): Declare it.
42575         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42576         * doc/posix-functions/renameat.texi (renameat): Likewise.
42577         * modules/renameat-tests: New test.
42578         * tests/test-renameat.c: Likewise.
42579
42580         rename: fix mingw bugs
42581         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
42582         directory overwrite bugs.
42583
42584         rename: fix another cygwin 1.5 bug
42585         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
42586         checks.
42587         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
42588         unnecessary cygwin workarounds.  Also work around bug with moving
42589         full directory onto an empty one.
42590         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
42591
42592         rename-dest-slash: merge into rename module
42593         * modules/rename-dest-slash (Status): Mark obsolete.
42594         (Depends-on): Add rename.
42595         (Files): Let rename do it all.
42596         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
42597         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
42598         * m4/rename-dest-slash.m4: ...so this file can be deleted.
42599         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
42600         * lib/rename.c (rpl_rename): Update comments.
42601
42602         rename: fix cygwin 1.5.x bugs
42603         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
42604         * lib/rename.c (rpl_rename): Work around them.
42605         * modules/rename (Depends-on): Add same-inode.
42606
42607         rename: fix Solaris 10 bug
42608         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42609         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
42610         was the only bug.
42611
42612         rename: fix Solaris 9 bug
42613         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
42614         on non-directory.  Avoid calling exit.
42615         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
42616         strdup.
42617         * modules/rename-tests (Depends-on): Drop lstat.
42618         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42619         (gl_PREREQ_RENAME): Delete unused macro.
42620
42621         rename-dest-slash: fix NetBSD bug
42622         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
42623         links.
42624         * modules/rename-dest-slash (Depends-on): Add same-inode.
42625
42626         rename-tests: new test, exposes several platform bugs
42627         * modules/rename-tests: New file.
42628         * tests/test-rename.h: Likewise.
42629         * tests/test-rename.c: Likewise.
42630         * doc/posix-functions/rename.texi (rename): Improve documentation,
42631         including bugs that will eventually be fixed in gnulib.
42632
42633 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
42634
42635         * lib/uname.c: Include <stdlib.h>
42636         (uname): Assume version info is available.
42637
42638 2009-10-02  Jim Meyering  <meyering@redhat.com>
42639
42640         gnu-web-doc-update: correct --help output
42641         * build-aux/gnu-web-doc-update: Make --help output relevant.
42642
42643         gnu-web-doc-update: add standard options
42644         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
42645
42646         gnu-web-doc-update: New module.
42647         Use this script to automatically update the on-line web documentation
42648         for your GNU project at http://www.gnu.org/software/$pkg/manual/
42649         * modules/gnu-web-doc-update: New file, from coreutils.
42650         * build-aux/gnu-web-doc-update: New script.
42651
42652 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
42653
42654         link: LoadLibrary is not needed.
42655         * lib/link.c: Use GetModuleHandle.
42656
42657 2009-10-01  Eric Blake  <ebb9@byu.net>
42658
42659         getopt: bump serial number
42660         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
42661         change.
42662
42663         tests: tighten link, rmdir, and remove tests
42664         * tests/test-link.h (includes): No need to use <config.h> here.
42665         Clean up if directory hard link was created, otherwise test for
42666         trailing '.'.
42667         * tests/test-linkat.c (main): Simplify.
42668         * tests/test-remove.c (main): Enhance test for trailing '.'.
42669         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42670
42671 2009-10-01  Jim Meyering  <meyering@redhat.com>
42672
42673         maint.mk: requiring "make major" was annoying, for a "minor" release.
42674         What is intended is "stable", to contrast with alpha and beta,
42675         so require "make stable", not "make major".
42676         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
42677         (get_tool_versions): Likewise.
42678         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
42679
42680 2009-09-30  Ben Pfaff  <blp@gnu.org>
42681
42682         Fix broken build of replacement for Windows tmpfile().
42683         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
42684         flags argument added along with the 'mkostemp' module.
42685
42686 2009-09-28  Bruno Haible  <bruno@clisp.org>
42687
42688         Avoid identifier clash with POSIX function 'remove' defined as a macro.
42689         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
42690         to 'remove_elt'.
42691         (gl_list_remove): Update.
42692         * lib/gl_list.c (gl_list_remove): Update.
42693         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
42694         to 'remove_elt'.
42695         (gl_oset_remove): Update.
42696         * lib/gl_list.c (gl_oset_remove): Update.
42697         Reported by Eric Blake.
42698
42699 2009-09-28  Eric Blake  <ebb9@byu.net>
42700
42701         doc: mention yet more cygwin 1.7 status
42702         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
42703         cygwin.
42704         * doc/glibc-functions/execvpe.texi (execvpe): New file.
42705         * doc/gnulib.texi (Glibc unistd.h): Mention it.
42706
42707         argp: fix test failure
42708         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
42709         that are not upper-case.  Pass correct range to tolower.
42710
42711 2009-09-27  Jim Meyering  <meyering@redhat.com>
42712
42713         test-yesno: work around sparc-dash here-document infelicity
42714         Without this change, the literal \177 byte in a here document
42715         would make dash 0.5.5.1-3 access uninitialized memory.
42716         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
42717         Instead, use a marker, "@", and filter through tr to create the desired
42718         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
42719
42720 2009-09-27  Bruno Haible  <bruno@clisp.org>
42721
42722         Disable untested support for new flavours of ACLs on AIX.
42723         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
42724         progress.
42725         * lib/set-mode-acl.c (qset_acl): Likewise.
42726
42727 2008-12-07  Bruno Haible  <bruno@clisp.org>
42728
42729         Add support for new flavours of ACLs on AIX. (Untested.)
42730         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
42731         (file_has_acl): Add support for newer AIX.
42732         * lib/set-mode-acl.c (qset_acl): Likewise.
42733         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
42734         Rainer Tammer <tammer@tammer.net>.
42735
42736 2009-09-26  Eric Blake  <ebb9@byu.net>
42737
42738         argp: fix compilation of getopt
42739         * lib/getopt.in.h (includes): Use different guard than glibc.
42740         Reported by Sergey Poznyakoff.
42741
42742         doc: mention more cygwin 1.7 status
42743         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
42744         bug.
42745         * doc/posix-functions/execl.texi (execl): Likewise.
42746         * doc/posix-functions/execle.texi (execle): Likewise.
42747         * doc/posix-functions/execlp.texi (execlp): Likewise.
42748         * doc/posix-functions/execv.texi (execv): Likewise.
42749         * doc/posix-functions/execve.texi (execve): Likewise.
42750         * doc/posix-functions/execvp.texi (execvp): Likewise.
42751         * doc/glibc-functions/canonicalize_file_name.texi
42752         (canonicalize_file_name): Cygwin 1.7 now provides this.
42753         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
42754         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
42755         on AT_SYMLINK_NOFOLLOW.
42756
42757 2009-09-24  Eric Blake  <ebb9@byu.net>
42758
42759         test-linkat: make test more robust
42760         * tests/test-linkat.c (main): Avoid collision with EEXIST.
42761
42762         getopt: fix inclusion guards for cygwin
42763         * modules/getopt-posix (Depends-on): Add include-next.
42764         (Makefile.am): Substitute more items in replacement header.
42765         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
42766         <getopt.h>.
42767         * lib/getopt.in.h (includes): Use split inclusion guard, and
42768         prefer <getopt.h> over include <unistd.h> when one is present.
42769         (option): Also override name of 'struct option'.
42770
42771         same-inode: revert prior change; it is not yet ready
42772         * NEWS: Undo mention of this change.
42773         * lib/same-inode.h (same-inode.h): Undo tri-state change.
42774         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42775         * lib/cycle-check.c (cycle_check): Likewise.
42776         * lib/same.c (same_name): Likewise.
42777         * lib/at-func2.c (at_func2): Likewise.
42778
42779 2009-09-23  Eric Blake  <ebb9@byu.net>
42780
42781         linkat: new module
42782         * modules/linkat: New file.
42783         * lib/at-func2.c (at_func2): Likewise.
42784         * lib/linkat.c (linkat): Likewise.
42785         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
42786         * lib/openat-priv.h (at_func2): Add declaration.
42787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42788         * modules/unistd (Makefile.am): Substitute them.
42789         * lib/unistd.in.h (linkat): Declare it.
42790         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42791         * doc/posix-functions/linkat.texi (linkat): Likewise.
42792         * doc/posix-functions/link.texi (link): Tweak wording.
42793         * tests/test-link.c (main): Move guts...
42794         * tests/test-link.h (test_link): ...into new file.
42795         * modules/linkat-tests: New test.
42796         * tests/test-linkat.c: Likewise.
42797         * modules/link-tests (Files): Ship new file.
42798         (Depends-on): Add stdbool.
42799
42800         dirname: add library-safe mdir_name
42801         * lib/dirname.h (mdir_name): New prototype.
42802         * lib/dirname.c (dir_name): Move guts...
42803         (mdir_name): ...to new function that avoids xalloc_die.
42804
42805         fchdir: another mingw fix
42806         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
42807         * lib/fchdir.c (get_name): New helper method; skips canonicalize
42808         on mingw (where it has not yet been ported), and make it optional
42809         elsewhere.
42810         (_gl_register_fd): Use it.
42811
42812         same-inode: make SAME_INODE tri-state, to port to mingw
42813         * NEWS: Mention this change.
42814         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
42815         st_ino always being 0.
42816         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42817         * lib/cycle-check.c (cycle_check): Likewise.
42818         * lib/same.c (same_name): Likewise.
42819
42820         lstat: avoid mingw compilation error
42821         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
42822         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
42823         lstat ourselves.
42824         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
42825         was adequate.
42826         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
42827         the checks for lstat.
42828         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
42829
42830         link: fix test failure on Solaris 9
42831         * lib/link.c (rpl_link): Don't assume link will catch bogus
42832         trailing slash on source.
42833
42834         test-symlinkat: enhance test
42835         * tests/test-readlink.c (main): Move guts...
42836         * tests/test-readlink.h (test_readlink): ...into new file.
42837         * tests/test-symlink.c (main): Move guts...
42838         * tests/test-symlink.h (test_symlink): ...into new file.
42839         * tests/test-symlinkat.c (main): Use new files for further
42840         coverage.
42841         (do_symlink, do_readlink): New helper functions.
42842         * modules/symlink-tests (Files): Ship new file.
42843         (Depends-on): Add stdbool.
42844         * modules/readlink-tests (Files): Ship new file.
42845         (Depends-on): Add stdbool.
42846         * modules/symlinkat-tests (Files): Use new files.
42847
42848 2009-09-23  Eric Blake  <ebb9@byu.net>
42849
42850         readlink: document portability issue with symlink length
42851         * doc/posix-functions/lstat.texi (lstat): Mention that some file
42852         systems have bogus st_size on symlinks, and mention the
42853         areadlink-with-size module.
42854         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42855         * doc/posix-functions/readlink.texi (readlink): Mention the
42856         areadlink module, and ERANGE failure.
42857         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42858         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
42859
42860         readlink: fix Solaris 9 bug with trailing slash
42861         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
42862         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
42863         * doc/posix-functions/readlink.texi (readlink): Document this.
42864         * modules/readlink-tests: New test.
42865         * tests/test-readlink.c: Likewise.
42866
42867         readlink: fix cygwin 1.5.x bug with return type
42868         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
42869         * lib/unistd.in.h (readlink): Use ssize_t.
42870         * lib/readlink.c (readlink): Likewise.
42871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42872         * modules/unistd (Makefile.am): Substitute it.
42873         * lib/unistd.in.h (readlink): Declare replacement.
42874         * doc/posix-functions/readlink.texi (readlink): Document this.
42875
42876         symlink: use throughout gnulib
42877         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
42878         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
42879         symlink is not used.
42880         * modules/symlinkat (Depends-on): Add symlink.
42881         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42882         * modules/canonicalize-tests (Depends-on): Likewise.
42883         * modules/lstat-tests (Depends-on): Likewise.
42884         * modules/openat-tests (Depends-on): Likewise.
42885         * modules/remove-tests (Depends-on): Likewise.
42886         * modules/rmdir-tests (Depends-on): Likewise.
42887         * modules/unlink-tests (Depends-on): Likewise.
42888         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
42889         * tests/test-canonicalize.c (symlink): Likewise.
42890         * tests/test-fstatat.c (symlink): Likewise.
42891         * tests/test-lstat.c (symlink): Likewise.
42892         * tests/test-remove.c (symlink): Likewise.
42893         * tests/test-rmdir.c (symlink): Likewise.
42894         * tests/test-unlink.c (symlink): Likewise.
42895         * tests/test-unlinkat.c (symlink): Likewise.
42896
42897         symlink: new module, for Solaris 9 bug
42898         * modules/symlink: New file.
42899         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
42900         * lib/symlink.c: Likewise.
42901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42902         * modules/unistd (Makefile.am): Substitute them.
42903         * lib/unistd.in.h (symlink): Declare replacement.
42904         * MODULES.html.sh (File system functions): Mention it.
42905         * doc/posix-functions/symlink.texi (symlink): Likewise.
42906         * modules/symlink-tests: New test.
42907         * tests/test-symlink.c: Likewise.
42908
42909 2009-09-23  Bruno Haible  <bruno@clisp.org>
42910
42911         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
42912         when needed.
42913         Test case: gnulib-tool --import --with-tests atexit inttypes.
42914         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
42915
42916 2009-09-23  Bruno Haible  <bruno@clisp.org>
42917
42918         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
42919         subcommand, not in a subshell.
42920
42921 2009-09-22  Eric Blake  <ebb9@byu.net>
42922
42923         unistd: sort replacement declarations
42924         * lib/unistd.in.h: Sort declarations.
42925
42926         open, openat: minor optimization
42927         * lib/open.c (open): If open succeeded, len is non-zero.
42928         * lib/openat.c (rpl_openat): Likewise.
42929
42930         link-follow: ensure correct result
42931         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
42932         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
42933         distinguish between possible failures.
42934
42935 2009-09-21  Eric Blake  <ebb9@byu.net>
42936
42937         fts: avoid compiler warning
42938         * lib/fts.c (dirent_inode_sort_may_be_useful)
42939         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
42940
42941 2009-09-19  Bruno Haible  <bruno@clisp.org>
42942
42943         * lib/progreloc.c (canonicalize_file_name): New declaration.
42944
42945 2009-09-19  Eric Blake  <ebb9@byu.net>
42946
42947         link: fix quoting
42948         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42949
42950         openat: fix openat bugs on Solaris 9
42951         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42952         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42953         * modules/openat (Depends-on): Add open.
42954         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42955         * modules/fcntl-h (Makefile.am): Substitute it.
42956         * lib/fcntl.in.h (openat): Declare replacement.
42957         * doc/posix-functions/openat.texi (openat): Document this.
42958
42959         openat: move fstatat and unlinkat into correct files
42960         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42961         compiled.
42962         * lib/openat.c (fstatat, unlinkat): Move...
42963         * lib/fstatat.c (fstatat): ...into correct files.
42964         * lib/unlinkat.c (unlinkat): Likewise.
42965
42966         openat: fix unlinkat bugs on Solaris 9
42967         * lib/unlinkat.c (unlinkat): New file.
42968         * modules/openat (Depends-on): Add unlink.
42969         (Files): Distribute it.
42970         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42971         trailing slash behavior is broken.
42972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42973         * modules/unistd (Makefile.am): Substitute it.
42974         * lib/unistd.in.h (unlinkat): Declare replacement.
42975         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42976
42977         openat: fix fstatat bugs on Solaris 9
42978         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42979         stat.
42980         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42981
42982         test-unlinkat: enhance test, to expose Solaris 9 bug
42983         * tests/test-unlink.c (main): Factor guts...
42984         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42985         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42986         * tests/test-rmdir.c (main): Adjust caller.
42987         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42988         (unlinker): New helper function.
42989         (rmdirat): Enhance check.
42990         * modules/rmdir-tests (Depends-on): Add stdbool.
42991         * modules/unlink-tests (Depends-on): Likewise.
42992         (Files): Add test-unlink.h.
42993         * modules/openat-tests (Files): Likewise.
42994         (Depends-on): Add unlinkdir.
42995
42996         test-fstatat: new test, to expose Solaris 9 bugs
42997         * tests/test-stat.c (main): Factor guts...
42998         * tests/test-stat.h (test_stat_func): ...into new file.
42999         * tests/test-lstat.c (main): Factor guts...
43000         * tests/test-lstat.h (test_lstat_func): ...into new file.
43001         * tests/test-fstatat.c: New file.
43002         * modules/stat-tests (Files): Add test-stat.h.
43003         * modules/lstat-tests (Files): Add test-lstat.h.
43004         (Depends-on): Add stdbool.
43005         * modules/openat-tests (Depends-on): Add pathmax.
43006         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
43007         (Makefile.am): Run new test.
43008
43009         remove: new module, for mingw and Solaris 9 bugs
43010         * modules/remove: New file.
43011         * lib/remove.c: Likewise.
43012         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
43013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
43014         * modules/stdio (Makefile.am): Use them.
43015         * lib/stdio.in.h (remove): Declare replacement.
43016         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43017         * doc/posix-functions/remove.texi (remove): Likewise.
43018         * modules/remove-tests: New test.
43019         * tests/test-remove.c: Likewise.
43020
43021         unlink: new module, for Solaris 9 bug
43022         * modules/unlink: New file.
43023         * lib/unlink.c: Likewise.
43024         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
43025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43026         * modules/unistd (Makefile.am): Use them.
43027         * lib/unistd.in.h (stat): Declare replacement.
43028         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43029         * doc/posix-functions/unlink.texi (unlink): Likewise.
43030         * modules/unlink-tests: New test.
43031         * tests/test-unlink.c: Likewise.
43032
43033         lstat: fix Solaris 9 bug
43034         * lib/lstat.c (lstat): Also check for trailing slash on
43035         non-symlink, non-directories.  Use stat module to simplify logic.
43036         * doc/posix-functions/lstat.texi (lstat): Document it.
43037         * modules/lstat-tests (Depends-on): Add errno, same-inode.
43038         (configure.ac): Check for symlink.
43039         * tests/test-lstat.c (main): Add more tests.
43040
43041         stat: add as dependency to other modules
43042         * modules/chown (Depends-on): Add stat.
43043         * modules/euidaccess (Depends-on): Likewise.
43044         * modules/fchdir (Depends-on): Likewise.
43045         * modules/isdir (Depends-on): Likewise.
43046         * modules/link (Depends-on): Likewise.
43047         * modules/lstat (Depends-on): Likewise.
43048         * modules/mkdir-p (Depends-on): Likewise.
43049         * modules/modechange (Depends-on): Likewise.
43050         * modules/open (Depends-on): Likewise.
43051         * modules/readlink (Depends-on): Likewise.
43052         * modules/same (Depends-on): Likewise.
43053
43054         stat: fix Solaris 9 bug
43055         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
43056         slash.
43057         * lib/stat.c (rpl_stat): Work around it.
43058         * doc/posix-functions/stat.texi (stat): Update documentation.
43059
43060         stat: new module, for mingw bug
43061         * modules/stat: New file.
43062         * lib/stat.c: Likewise.
43063         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
43064         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43065         * modules/sys_stat (Makefile.am): Use them.
43066         * lib/sys_stat.in.h (stat): Declare replacement.
43067         * lib/openat.c (fstatat): Deal with lstat and stat being function
43068         macros.
43069         * modules/openat (Depends-on): Add inline.
43070         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43071         * doc/posix-functions/stat.texi (stat): Likewise.
43072         * modules/stat-tests: New test.
43073         * tests/test-stat.c: Likewise.
43074
43075 2009-09-19  Jim Meyering  <meyering@redhat.com>
43076
43077         syntax-check: detect unnecessary inclusion of canonicalize.h
43078         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
43079
43080 2009-09-19  Eric Blake  <ebb9@byu.net>
43081
43082         canonicalize-lgpl: adjust clients to use correct header
43083         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
43084         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
43085         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
43086         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
43087         * lib/progreloc.c (includes): Likewise.
43088
43089 2009-09-19  Jim Meyering  <meyering@redhat.com>
43090
43091         test-posixtm.c: correct a comment
43092         * tests/test-posixtm.c: Correct first-line comment.
43093         Spotted by Eric Blake.
43094
43095 2009-09-16  Jim Meyering  <meyering@redhat.com>
43096
43097         posixtm-tests: make T const-correct; add a test case
43098         * tests/test-posixtm.c (T): Declare const.
43099         Add a test for -(2^31+1).
43100         Remove useless can-succeed-only-in-2002 test.
43101
43102         posixtm-tests: adjust the sole failing test
43103         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
43104         expected output matches what mktime now produces.  Cross-checked via
43105         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
43106
43107         posixtm: move #ifdef'd tests into a new module
43108         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
43109         * tests/test-posixtm.c: ... this new file.
43110         * modules/posixtm-tests: New module.
43111
43112 2009-09-19  Eric Blake  <ebb9@byu.net>
43113
43114         openat: simplify use of at-func.c
43115         * lib/at-func.c (includes): Include prerequisites here, to
43116         simplify requirements on client files.
43117         * lib/openat-priv.h: Add double-inclusion guard.
43118         * lib/faccessat.c (includes): Simplify.
43119         * lib/fchmodat.c (includes): Likewise.
43120         * lib/fchownat.c (includes): Likewise.
43121         * lib/mkdirat.c (includes): Likewise.
43122         * lib/mkfifoat.c (includes): Likewise.
43123         * lib/symlinkat.c (includes): Likewise.
43124
43125         openat: allow return of fd 0
43126         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
43127         * modules/save-cwd (Depends-on): Replace fcntl-safer with
43128         unistd-safer.
43129         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
43130         <fcntl.h>; this module does not leak fds.
43131         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
43132         must be allowed to return 0, leaving openat_safer to add the
43133         safety.
43134         (openat_permissive): Avoid writing to just-opened fd 2 if
43135         restoring the current directory fails.
43136         * lib/openat-die.c (openat_restore_fail): Add comment.
43137         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
43138         (save_cwd): Guarantee safe fd, but without use of open_safer.
43139         * tests/test-openat.c: New test.
43140         * modules/openat-tests (Files, Makefile.am): Distribute and build
43141         new file.
43142
43143         relocatable-prog-wrapper: fix build
43144         * modules/relocatable-prog-wrapper (Files): Update name of
43145         canonicalize m4 file, broken on 2009-09-17.
43146         Reported by emad hajjar <aleppos@hotmail.com>.
43147
43148 2009-09-19  Bruno Haible  <bruno@clisp.org>
43149
43150         * lib/safe-alloc.h: Use the standard header with GPL copyright.
43151         * lib/safe-alloc.c: Likewise.
43152         Reported by Ian Beckwith <ianb@erislabs.net>.
43153
43154 2009-09-18  Bruno Haible  <bruno@clisp.org>
43155
43156         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
43157         Reported by <erobles@sensacd.com.mx>.
43158
43159 2009-09-17  Eric Blake  <ebb9@byu.net>
43160
43161         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
43162         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
43163         slashes when checking if last component is missing.
43164         * tests/test-canonicalize.c (main): Test this.
43165
43166         canonicalize, canonicalize-lgpl: honor // if distinct from /
43167         * modules/canonicalize (Files): Add double-slash-root.m4.
43168         * modules/canonicalize-lgpl (Files): Likewise.
43169         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
43170         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
43171         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
43172         fallback definition.
43173         (canonicalize_filename_mode): Use it to protect //.
43174         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
43175         (__realpath): Likewise.
43176         * tests/test-canonicalize.c (main): Test this.
43177         * tests/test-canonicalize-lgpl.c (main): Likewise.
43178         * modules/canonicalize-tests (Depends-on): Add same-inode.
43179         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
43180
43181         canonicalize-lgpl: fix glibc bug with trailing slash
43182         * m4/canonicalize-lgpl.m4: Move contents...
43183         * m4/canonicalize.m4: ...here.
43184         (gl_CANONICALIZE_LGPL): Factor realpath check...
43185         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
43186         glibc 2.3.5 bug, fixed 2005-04-27.
43187         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
43188         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
43189         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
43190         * modules/canonicalize-lgpl (Files): Manage file rename.
43191         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
43192         * modules/stdlib (Makefile.am): Substitute witness.
43193         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
43194         is needed.
43195         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
43196         replacement is required.
43197         * lib/canonicalize.c (canonicalize_file_name): Likewise.
43198         * doc/glibc-functions/canonicalize_file_name.texi
43199         (canonicalize_file_name): Document this.
43200         * doc/posix-functions/realpath.texi (realpath): Likewise.
43201
43202         canonicalize-lgpl: reject non-directory with trailing slash
43203         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
43204         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
43205         catches failures in glibc 2.3.5.
43206         * tests/test-canonicalize.c (main): Likewise.
43207
43208         canonicalize-lgpl: use native realpath if it works
43209         * lib/canonicalize-lgpl.c (realpath): Guard with
43210         FUNC_REALPATH_WORKS.
43211         * lib/stdlib.in.h (realpath): Make declaration optional based on
43212         HAVE_REALPATH.
43213         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
43214         native realpath works.
43215         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
43216         * modules/stdlib (Makefile.am): Substitute witness.
43217
43218         canonicalize, canonicalize-lgpl: use <stdlib.h>
43219         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
43220         (Include): Mention <stdlib.h>.
43221         (configure.ac): Mention functions we provide.
43222         * modules/canonicalize (configure.ac): Likewise.
43223         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
43224         realpath if canonicalize_file_name is missing.
43225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
43226         * modules/stdlib (Makefile.am): Substitute witnesses.
43227         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
43228         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
43229         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
43230         * NEWS: Document this.
43231         * doc/glibc-functions/canonicalize_file_name.texi
43232         (canonicalize_file_name): Likewise.
43233         * doc/posix-functions/realpath.texi (realpath): Likewise.
43234         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
43235
43236         test-canonicalize: consolidate into single C program
43237         * tests/test-canonicalize.sh: Delete; move setup into...
43238         * tests/test-canonicalize.c (main): ...the program, making it
43239         easier to run in debugger.  Add some tests.
43240         * modules/canonicalize-tests (Files): Remove unused file.
43241         (Depends-on): Add progname.
43242         (configure.ac, Makefile.am): Simplify.
43243
43244         test-canonicalize-lgpl: consolidate into single C program
43245         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
43246         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
43247         easier to run in debugger.  Add some tests.
43248         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
43249         (configure.ac, Makefile.am): Simplify.
43250
43251         canonicalize: avoid resolvepath
43252         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
43253         unnecessary checks.
43254         * lib/canonicalize.c (includes): Simplify.
43255         (canonicalize_file_name): Drop resolvepath implementation.
43256         * modules/canonicalize (Depends-on): Drop filenamecat.
43257
43258         canonicalize: don't lose errno
43259         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
43260         over calls to free.
43261
43262         canonicalize: simplify errno handling
43263         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
43264         assignment.
43265
43266         canonicalize, canonicalize-lgpl: update module dependencies
43267         * modules/canonicalize (Depends-on): Add extensions, lstat,
43268         pathmax, stdlib.
43269         (Files): Drop pathmax.h.
43270         (configure.ac): Adjust macro name.
43271         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
43272         lstat, stdlib, sys_stat.
43273         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
43274         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
43275         extensions.
43276         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
43277         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
43278         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
43279         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
43280         declaration, if available.
43281         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
43282         we can rely on the readlink module.
43283         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
43284         (includes): Use <unistd.h> unconditionally.
43285
43286 2009-09-17  Eric Blake  <ebb9@byu.net>
43287
43288         maint: make Include sections of modules consistent
43289         * modules/alloca: Use only header name; no need to list #include.
43290         * modules/alloca-opt: Likewise.
43291         * modules/arpa_inet: Likewise.
43292         * modules/canon-host: Likewise.
43293         * modules/configmake: Likewise.
43294         * modules/dirent: Likewise.
43295         * modules/eealloc: Likewise.
43296         * modules/environ: Likewise.
43297         * modules/fchdir: Likewise.
43298         * modules/fcntl: Likewise.
43299         * modules/fcntl-h: Likewise.
43300         * modules/gethrxtime: Likewise.
43301         * modules/gettime: Likewise.
43302         * modules/ignore-value: Likewise.
43303         * modules/inet_ntop: Likewise.
43304         * modules/inet_pton: Likewise.
43305         * modules/inttypes: Likewise.
43306         * modules/isnand-nolibm: Likewise.
43307         * modules/isnanf-nolibm: Likewise.
43308         * modules/mbchar: Likewise.
43309         * modules/mbfile: Likewise.
43310         * modules/mbiter: Likewise.
43311         * modules/mbuiter: Likewise.
43312         * modules/netdb: Likewise.
43313         * modules/netinet_in: Likewise.
43314         * modules/nproc: Likewise.
43315         * modules/pagealign_alloc: Likewise.
43316         * modules/poll: Likewise.
43317         * modules/printf-frexp: Likewise.
43318         * modules/pthread: Likewise.
43319         * modules/putenv: Likewise.
43320         * modules/random_r: Likewise.
43321         * modules/relocatable-prog: Likewise.
43322         * modules/search: Likewise.
43323         * modules/select: Likewise.
43324         * modules/selinux-h: Likewise.
43325         * modules/settime: Likewise.
43326         * modules/signal: Likewise.
43327         * modules/size_max: Likewise.
43328         * modules/socklen: Likewise.
43329         * modules/ssize_t: Likewise.
43330         * modules/stdarg: Likewise.
43331         * modules/stdbool: Likewise.
43332         * modules/stddef: Likewise.
43333         * modules/stdint: Likewise.
43334         * modules/stdio: Likewise.
43335         * modules/stdlib: Likewise.
43336         * modules/string: Likewise.
43337         * modules/strings: Likewise.
43338         * modules/sys_file: Likewise.
43339         * modules/sys_ioctl: Likewise.
43340         * modules/sys_select: Likewise.
43341         * modules/sys_socket: Likewise.
43342         * modules/sys_stat: Likewise.
43343         * modules/sys_time: Likewise.
43344         * modules/sys_times: Likewise.
43345         * modules/sys_utsname: Likewise.
43346         * modules/sys_wait: Likewise.
43347         * modules/sysexits: Likewise.
43348         * modules/time: Likewise.
43349         * modules/times: Likewise.
43350         * modules/tmpfile: Likewise.
43351         * modules/trim: Likewise.
43352         * modules/unistd: Likewise.
43353         * modules/wchar: Likewise.
43354         * modules/wctype: Likewise.
43355
43356 2009-09-17  Bruno Haible  <bruno@clisp.org>
43357
43358         Make getdate.y compile on QNX and NetBSD 5 / i386.
43359         * m4/getdate.m4 (gl_GETDATE): Conditionally define
43360         TIME_T_FITS_IN_LONG_INT.
43361         * lib/getdate.y (long_time_t): New type.
43362         (relative_time): Change type of 'seconds' field to long_time_t.
43363         (get_date): Update types of local variables. Check against overflow
43364         during conversion from long_time_t to time_t.
43365         Reported by Matt Kraai <kraai@ftbfs.org>
43366         and Hasso Tepper <hasso@netbsd.org>.
43367
43368 2009-09-17  Bruno Haible  <bruno@clisp.org>
43369
43370         * modules/COPYING: Update copyright years.
43371         * modules/README: Likeiwse.
43372         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
43373         Reported by Ian Beckwith <ianb@erislabs.net>.
43374
43375 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
43376
43377         * users.txt: Update references for gnuit package.
43378
43379 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
43380
43381         * m4/getdelim.m4: Fix typo in copyright line.
43382
43383 2009-09-17  Bruno Haible  <bruno@clisp.org>
43384
43385         * lib/atoll.c: Use the standard header with GPL copyright.
43386         * lib/argz.in.h: Likewise.
43387         * lib/glob.c: Likewise.
43388         * lib/glob-libc.h: Likewise.
43389         * lib/random_r.c: Likewise.
43390         * lib/siglist.h: Likewise.
43391         * lib/strsignal.c: Likewise.
43392         Reported by Ian Beckwith <ianb@erislabs.net>.
43393
43394 2009-09-17  Eric Blake  <ebb9@byu.net>
43395
43396         rmdir: ensure correct dependency order
43397         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
43398
43399 2009-09-17  Bruno Haible  <bruno@clisp.org>
43400
43401         Disable assertion that fails on NetBSD 5 / i386.
43402         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
43403         Reported by Sam Steingold <sds@gnu.org>
43404         and Hasso Tepper <hasso@netbsd.org>.
43405
43406 2009-09-16  Eric Blake  <ebb9@byu.net>
43407
43408         unlinkdir: port to mingw
43409         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
43410         on which no one can unlink a directory.
43411
43412         stdlib: sort witness names
43413         * modules/stdlib (Makefile.am): Sort replacements.
43414         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
43415         * lib/stdlib.in.h: Likewise.
43416
43417         parse-duration-tests: avoid link failure
43418         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
43419         LIBINTL.
43420         Reported by Tom G. Christensen.
43421
43422         openat-tests: ensure unlinkat behaves like rmdir
43423         * tests/test-rmdir.c (main): Factor guts...
43424         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
43425         * modules/rmdir-tests (Files): Ship new file.
43426         * modules/openat-tests: New test.
43427         * tests/test-unlinkat.c: Likewise.
43428
43429         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
43430         * modules/rmdir-errno (Status, Notice): Now obsolete.
43431
43432         rmdir: work around cygwin 1.5.x and mingw bugs
43433         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
43434         * lib/rmdir.c (rmdir): Work around it.
43435         * modules/rmdir (Status, Notice): No longer obsolete.
43436         (Files): Add dos.m4.
43437         (Depends-on): Add unistd.
43438         (configure.ac): Set witnesses.
43439         (License): Relax to LGPLv2+.
43440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
43441         * modules/unistd (Makefile.am): Substitute witnesses.
43442         * lib/unistd.in.h (rmdir): Declare replacement.
43443         * doc/posix-functions/rmdir.texi (rmdir): Document this.
43444         * modules/rmdir-tests: New tests.
43445         * tests/test-rmdir.c: Likewise.
43446
43447 2009-09-15  Eric Blake  <ebb9@byu.net>
43448
43449         fchdir: improve use of replacement functions
43450         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
43451         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
43452         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
43453         REPLACE_CLOSEDIR.
43454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
43455         * modules/sys_stat (Makefile.am): Substitute correct witness.
43456         * modules/dirent (Makefile.am): Likewise.
43457         * modules/unistd (Makefile.am): Likewise.
43458         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
43459         * lib/unistd.in.h (dup): Likewise.
43460         * lib/sys_stat.in.h (fstat): Likewise.
43461
43462         maint: ignore gnulib-tool temp files
43463         * .gitignore: Ignore files created during gnulib-tool --test.
43464
43465 2009-09-13  Jim Meyering  <meyering@redhat.com>
43466
43467         posixtm: don't reject a time that specify "60" as the number of seconds
43468         * lib/posixtm.c (posixtime): The code to reject invalid dates
43469         would also reject a time specified with the .60 suffix.
43470         But POSIX allows that, in order to accommodate leap seconds.
43471         So don't reject it.
43472         (main): Adjust tests accordingly.
43473         * modules/posixtm (Depends-on): Add stpcpy.
43474
43475 2009-09-11  Jim Meyering  <meyering@redhat.com>
43476
43477         announce-gen: include [$release_type] in emitted Subject:
43478         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
43479         e.g., [stable] in the emitted Subject: line.
43480
43481 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43482
43483         Remove obsolete macros from several modules.
43484         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
43485         obsolete Autoconf macros with their modern counterparts.
43486         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
43487         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
43488         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
43489         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43490         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
43491         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
43492         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
43493         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
43494         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
43495         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
43496         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
43497         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
43498         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
43499         * m4/sockets.m4 (gl_SOCKETS): Likewise.
43500         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
43501         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
43502         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
43503         * m4/time_r.m4 (gl_TIME_R): Likewise.
43504         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
43505         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
43506         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43507
43508         Fix copyright header in build-aux scripts.
43509         * build-aux/git-version-gen: Fix copyright header to match GPLv3
43510         recommendation.
43511         * build-aux/ncftpput-ftp: Likewise.
43512         * build-aux/update-copyright: Likewise.
43513
43514 2009-09-09  Eric Blake  <ebb9@byu.net>
43515
43516         test-link: allow Linux choice of errno
43517         * tests/test-link.c (main): Relax test for alternate error.
43518
43519         strndup: fix improper m4 caching
43520         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
43521         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
43522         (gl_PREREQ_STRNDUP): Delete.
43523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
43524         * modules/string (Makefile.am): Substitute it.
43525         * lib/string.in.h (strndup): Modernize prototype.
43526
43527         getcwd: port to mingw
43528         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
43529         different from the POSIX assumptions made throughout the getcwd
43530         module; fortunately, the mingw getcwd does not need replacement.
43531         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
43532         * modules/getcwd-tests: New test.
43533         * tests/test-getcwd.c: Likewise.
43534
43535         link: fix platform bugs
43536         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
43537         * lib/link.c (link): Work around them.  Fix related mingw bug.
43538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
43539         * modules/unistd (Makefile.am): Substitute it.
43540         * lib/unistd.in.h (link): Declare replacement.
43541         * doc/posix-functions/link.texi (link): Document this.
43542         * modules/link (Depends-on): Add strdup-posix, sys_stat.
43543
43544         test-link: consolidate into single C program, test more cases
43545         * tests/test-link.sh: Delete.
43546         * tests/test-link.c: Test more error conditions.  Exposes bugs on
43547         at least Cygwin and Solaris.
43548         * modules/link-tests (Files): Remove unused file.
43549         (Depends-on): Add errno, sys_stat.
43550         (Makefile.am): Simplify.
43551
43552 2009-09-08  Bruno Haible  <bruno@clisp.org>
43553
43554         Work around towlower, towupper bug on mingw.
43555         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
43556         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
43557         * doc/posix-functions/towlower.texi: Mention the mingw bug.
43558         * doc/posix-functions/towupper.texi: Likewise.
43559         Reported by Eric Blake.
43560
43561 2009-09-08  Jim Meyering  <meyering@redhat.com>
43562
43563         build: don't try to run autoheader if we don't use it
43564         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
43565         is not used in configure.ac.
43566
43567 2009-09-08  Eric Blake  <ebb9@byu.net>
43568
43569         euidaccess: fix compilation error
43570         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
43571
43572         rawmemchr: relax license
43573         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
43574         okay.
43575         Reported by Jim Meyering.
43576
43577         mkfifoat: new module
43578         * modules/mkfifoat: New file.
43579         * lib/mkfifoat.c: Likewise.
43580         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
43581         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43582         * modules/sys_stat (Makefile.am): Use them.
43583         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
43584         * MODULES.html.sh (File system functions): Mention module.
43585         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43586         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43587         * modules/mkfifoat-tests: New test.
43588         * tests/test-mkfifoat.c: Likewise.
43589
43590         strchrnul: relax license
43591         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
43592         okay.
43593         Reported by Jim Meyering.
43594
43595 2009-09-08  Eric Blake  <ebb9@byu.net>
43596
43597         fstatat: fix compilation on Solaris
43598         * lib/fstatat.c (includes): Add fcntl.h.
43599         Reported by Pádraig Brady.
43600
43601 2009-09-07  Eric Blake  <ebb9@byu.net>
43602
43603         rename: modernize replacement
43604         * modules/rename (Depends-on): Add stdio.
43605         (configure.ac): Declare witness.
43606         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
43607         stdio take care of replacement.
43608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43609         * modules/stdio (Makefile.am): Substitute them.
43610         * lib/stdio.in.h (rename): Declare replacement.
43611         * lib/rename.c (includes): Allow cross-compilation to non-windows
43612         machines.
43613         * doc/posix-functions/rename.texi (rename): Improve
43614         documentation.
43615
43616         stdio: sort witness names
43617         * modules/stdio (Makefile.am): Sort replacements.
43618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43619         * lib/stdio.in.h: Likewise.
43620
43621         getcwd: minor cleanups
43622         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
43623         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
43624
43625         openat: provide more convenience names
43626         * modules/faccessat (configure.ac): Add C witness.
43627         * lib/unistd.in.h (readlinkat): Fix typo.
43628         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
43629         convenience wrappers.
43630         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
43631         wrappers in syntax checks.
43632
43633 2009-09-06  Eric Blake  <ebb9@byu.net>
43634
43635         doc: fix comments in recent patches
43636         * lib/faccessat.c: Mention correct function.
43637         * lib/fchmodat.c: Likewise.
43638         * lib/fchownat.c: Likewise.
43639         * lib/symlinkat.c: Likewise.
43640         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
43641         constants.
43642
43643         faccessat, symlinkat: continue cleanup of previous patch
43644         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
43645         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43646         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
43647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
43648         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
43649         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
43650         set.
43651
43652 2009-09-06  Bruno Haible  <bruno@clisp.org>
43653
43654         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
43655         (fstatat): Declare if GNULIB_FSTATAT is set.
43656         (mkdirat): Declare if GNULIB_MKDIRAT is set.
43657         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
43658         (unlinkat): Declare if GNULIB_UNLINKAT is set.
43659         * modules/fcntl-h (Files): Remove m4/openat.m4.
43660         * modules/sys_stat (Files): Remove m4/openat.m4.
43661         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
43662         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
43663         * modules/unistd (Files): Remove m4/openat.m4.
43664         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
43665         GNULIB_OPENAT.
43666         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
43667         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
43668         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
43669         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
43670         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
43671         gl_OPENAT_DEFAULTS.
43672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
43673         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
43674         Don't require gl_OPENAT_DEFAULTS.
43675         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
43676         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
43677         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
43678         (gl_OPENAT_DEFAULTS): Remove macro.
43679
43680 2009-09-06  Bruno Haible  <bruno@clisp.org>
43681
43682         * modules/openat (configure.ac): Remove unneeded witness.
43683
43684 2009-09-06  Bruno Haible  <bruno@clisp.org>
43685
43686         Set errno to ENOSYS when a function is entirely unsupported.
43687         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
43688         EOPNOTSUPP.
43689         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43690         * modules/chown (Depends-on): Remove errno.
43691
43692 2009-09-06  Bruno Haible  <bruno@clisp.org>
43693
43694         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
43695
43696 2009-09-06  Bruno Haible  <bruno@clisp.org>
43697
43698         * lib/sys_stat.in.h: Fix preprocessor command indentation.
43699
43700 2009-09-06  Ben Pfaff  <blp@gnu.org>
43701             Bruno Haible  <bruno@clisp.org>
43702
43703         Work around a glibc bug in strtok_r.
43704         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
43705         Undefine if UNDEFINE_STRTOK_R is set.
43706         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
43707         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43708         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
43709         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
43710         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
43711         UNDEFINE_STRTOK_R.
43712         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
43713
43714 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
43715
43716         exclude: minor fix
43717         * lib/exclude.c: Include wctype.h
43718
43719 2009-09-06  Akim Demaille  <demaille@gostai.com>
43720
43721         bootstrap: improve error message
43722         * build-aux/bootstrap (find_tool): Upon failure, report the list
43723         of candidates.
43724         Honor the initial value of the envvar.
43725
43726 2009-09-05  Eric Blake  <ebb9@byu.net>
43727
43728         symlinkat: new module
43729         * modules/symlinkat: New file.
43730         * lib/symlinkat.c: Likewise.
43731         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
43732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43733         * modules/unistd (Makefile.am): Use them.
43734         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
43735         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
43736         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
43737         * MODULES.html.sh (File system functions): Mention module.
43738         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43739         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43740         * modules/symlinkat-tests: New test.
43741         * tests/test-symlinkat.c: Likewise.
43742
43743         test-openat-safer: add more checks
43744         * tests/test-openat-safer.c (main): Check more code paths.
43745
43746 2009-09-05  Jim Meyering  <meyering@redhat.com>
43747
43748         syntax-check: detect unnecessary inclusion of openat.h
43749         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
43750
43751 2009-09-05  Bruno Haible  <bruno@clisp.org>
43752
43753         Support towlower, towupper.
43754         * doc/posix-functions/towlower.texi: Mention module wctype.
43755         * doc/posix-functions/towupper.texi: Likewise.
43756         * lib/wctype.in.h (towlower, towupper): New functions.
43757         * tests/test-wctype.c: Include stdio.h, stdlib.h.
43758         (ASSERT): New macro.
43759         (e): New variable.
43760         (main): Test also towlower, towupper. Test WEOF argument.
43761         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43762
43763 2009-09-05  Bruno Haible  <bruno@clisp.org>
43764
43765         Fix conversion behaviour when the input is invalid.
43766         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
43767         mark occurring in first pass of indirect conversion.
43768         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
43769         input.
43770         Found by clang's static analyzer.
43771
43772 2009-09-05  Bruno Haible  <bruno@clisp.org>
43773
43774         * tests/test-striconveh.c (main): Test indirect conversion on platforms
43775         where direct conversion is possible.
43776
43777 2009-09-04  Eric Blake  <ebb9@byu.net>
43778
43779         openat: fail with ENOENT on empty name
43780         * lib/openat-proc.c (openat_proc_name): Special-case the empty
43781         buffer.
43782
43783         link-follow: fix logic bug in prior patch
43784         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
43785         reversed sense of yes and no in prior patch.  Avoid confusing
43786         compilation failure with desired semantics.
43787
43788         link-follow: accommodate mingw and cross-compilation
43789         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
43790         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
43791         cross-compilation results to -1, to make linkat easier to
43792         implement when cross-compiling.  Trivially support mingw.
43793         * modules/link-follow (configure.ac): Call new name.
43794         * NEWS: Mention this.
43795
43796 2009-09-03  Eric Blake  <ebb9@byu.net>
43797
43798         faccessat: compile replacement
43799         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
43800         needed.
43801
43802         fts: fix compilation error
43803         * lib/fts.c (includes): Re-add "openat.h", for
43804         openat_needs_fchdir.
43805
43806         faccessat: new module
43807         * modules/faccessat: New file.
43808         * lib/faccessat.c: Likewise.
43809         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43811         * modules/unistd (Makefile.am): Use it.
43812         * lib/unistd.in.h (faccessat): Declare it.
43813         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
43814         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
43815         * MODULES.html.sh (File system functions): Mention it.
43816         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
43817         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
43818
43819         euidaccess: prefer POSIX over non-standard implementation
43820         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
43821         * lib/euidaccess.c (euidaccess): Use it if available.
43822
43823         openat: make template easier to use
43824         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
43825         AT_FUNC_F2 to be undefined.
43826         (VALIDATE_FLAG): New macro; use it to reject bad flags.
43827         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
43828         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
43829         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
43830         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
43831         Likewise.
43832         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
43833         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
43834         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
43835         Likewise.
43836
43837         openat: declare in POSIX headers
43838         * NEWS: Mention this.
43839         * modules/openat (configure.ac): Declare witnesses.
43840         (Depends-on): Add fcntl-h, sys_stat, unistd.
43841         (Include): Mention correct headers.
43842         * modules/fcntl-h (Depends-on): Add link-warning.
43843         (Files): Add openat.m4.
43844         (Makefile.am): Substitute witnesses.
43845         * modules/sys_stat (Files, Makefile.am): Likewise.
43846         * modules/unistd (Files, Makefile.am): Likewise.
43847         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
43848         (gl_OPENAT_DEFAULTS): New macro.
43849         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
43850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
43851         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
43852         (SYS_STAT_H): Remove unused variable.
43853         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
43854         * lib/fcntl--.h (includes): Remove unneeded header.
43855         * lib/openat-safer.c (includes): Likewise.
43856         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
43857         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
43858         appropriate headers.
43859         (__OPENAT_PREFIX): Delete.
43860         * lib/fcntl.in.h (openat): Provide declaration.
43861         (AT_FDCWD): Fix Solaris bug.
43862         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
43863         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
43864         * lib/fchmodat.c (includes):  Adjust to find declaration.
43865         * lib/fchownat.c (includes): Likewise.
43866         * lib/mkdirat.c (includes): Likewise.
43867         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
43868         still visible.
43869
43870 2009-09-02  Eric Blake  <ebb9@byu.net>
43871
43872         errno: use consistently
43873         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
43874         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
43875         * lib/canonicalize.c (ELOOP): Likewise.
43876         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
43877         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
43878         * lib/lchown.c (EOPNOTSUPP): Likewise.
43879         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
43880         * lib/savewd.c (ESTALE): Likewise.
43881         * lib/settime.c (ENOSYS): Likewise.
43882         * lib/utimens.c (ENOSYS): Likewise.
43883         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
43884         * lib/chdir-safer.c (ELOOP): Likewise.
43885         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
43886         * modules/c-stack (Depends-on): Add errno.
43887         * modules/canonicalize (Depends-on): Likewise.
43888         * modules/chdir-safer (Depends-on): Likewise.
43889         * modules/fdopendir (Depends-on): Likewise.
43890         * modules/inet_ntop (Depends-on): Likewise.
43891         * modules/inet_pton (Depends-on): Likewise.
43892         * modules/lchown (Depends-on): Likewise.
43893         * modules/openat (Depends-on): Likewise.
43894         * modules/savewd (Depends-on): Likewise.
43895         * modules/settime (Depends-on): Likewise.
43896         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
43897
43898         fts: avoid leaking fds
43899         * modules/fts (Depends-on): Add cloexec.
43900         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
43901         flag.
43902
43903         fts: make directory fds more robust
43904         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
43905         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
43906
43907         backupfile, chdir-long, fts, savedir: make safer
43908         * lib/backupfile.c (includes): Use "dirent--.h", since
43909         numbered_backup can write to stderr during readdir.
43910         * lib/savedir.c (includes): Likewise.
43911         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
43912         emulation can write to stderr on failure.
43913         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
43914         * lib/getcwd.c: Document why opendir_safer is unused.
43915         * lib/glob.c: Likewise.
43916         * lib/scandir.c: Likewise.
43917         * lib/openat-proc.c: Likewise, for open_safer.
43918         * modules/backupfile (Depends-on): Add dirent-safer.
43919         * modules/savedir (Depends-on): Likewise.
43920         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
43921         * modules/chdir-long (Depends-on): Add openat-safer.
43922
43923         openat-safer: new module
43924         * modules/openat-safer: New file.
43925         * lib/openat-safer.c: Likewise.
43926         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
43927         * lib/fcntl-safer.h (openat_safer): Declare.
43928         * lib/fcntl--.h (openat): Override.
43929         * MODULES.html.sh (File descriptor based I/O): Mention it.
43930         * lib/openat.h: Add double-inclusion guards.
43931         * lib/openat.c (includes): Only include "fcntl-safer.h", not
43932         "fcntl--.h", so we can implement openat.
43933         * modules/openat-safer-tests: New test.
43934         * tests/test-openat-safer.c: New file.
43935
43936         dirent-safer: new module
43937         * modules/dirent-safer: New file.
43938         * lib/dirent--.h: Likewise.
43939         * lib/dirent-safer.h: Likewise.
43940         * lib/opendir-safer.c: Likewise.
43941         * m4/dirent-safer.m4: Likewise.
43942         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43943         * modules/dirent-safer-tests: New test.
43944         * tests/test-dirent-safer.c: New file.
43945         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43946
43947         fdopendir: optimize on mingw
43948         * lib/unistd.in.h (_gl_directory_name): New prototype.
43949         * lib/fchdir.c (_gl_directory_name): Implement it.
43950         (fchdir): Use it to simplify implementation.
43951         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43952         fchdir, when available, to avoid calling [f]chdir().
43953
43954         fdopendir: split into its own module
43955         * lib/openat.c (fdopendir): Move...
43956         * lib/fdopendir.c: ...into new file.
43957         * modules/fdopendir: New module.
43958         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43959         * modules/openat (Depends-on): Add fdopendir.
43960         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43961         fdopendir here.
43962         * modules/savedir (Depends-on): Only need fdopendir, not full
43963         openat.
43964         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43965         * lib/openat.h (fdopendir): Drop prototype.
43966         * lib/dirent.in.h (fdopendir): Provide prototype.
43967         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43968         * modules/dirent (Makefile.am): Substitute them.
43969         * MODULES.html.sh (File system functions): Mention it.
43970         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43971         * modules/fdopendir-tests: New file.
43972         * tests/test-fdopendir.c: Likewise.
43973
43974         fchdir: use more consistent macro convention
43975         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43976         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43977         REPLACE_FCHDIR, rather than relying on config.h macros.
43978         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43979         inside a single make-time REPLACE_FCHDIR block, rather than using
43980         the config.h FCHDIR_REPLACEMENT.
43981         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43982         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43983         Manage fstat replacement.
43984         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43985         REPLACE_FCHDIR.
43986         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43987         (Makefile.am): Substitute REPLACE_FCHDIR.
43988         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43989         FCHDIR_REPLACEMENT.
43990         * lib/dup-safer.c (dup_safer): Likewise.
43991         * lib/dup2.c (rpl_dup2): Likewise.
43992         * lib/dup3.c (rpl_dup3): Likewise.
43993         * lib/open.c (rpl_open): Likewise.
43994
43995         fchdir: simplify error handling, and support dup3
43996         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43997         stdbool, malloc-posix, realloc-posix.
43998         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43999         (ensure_dirs_slot): Return false on allocation failure.
44000         (rpl_dup2): Delete.
44001         (_gl_register_dup): New function.
44002         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
44003         (_gl_register_fd): Close fd on allocation failure.
44004         * lib/fcntl.in.h (_gl_register_fd): Update signature.
44005         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
44006         prototype.
44007         (rpl_dup2_fchdir): Delete prototype.
44008         * lib/open.c (open): Update caller.
44009         * lib/dup2.c (dup2): Track fchdir metadata.
44010         * lib/dup3.c (dup3): Likewise.
44011         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
44012         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
44013
44014 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44015
44016         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
44017         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
44018         don't pass arguments to AC_OUTPUT.
44019
44020 2009-09-02  Bruno Haible  <bruno@clisp.org>
44021
44022         * modules/mkdtemp (License): Relicense under LGPLv2+.
44023         Reported by Paolo Bonzini.
44024
44025 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44026
44027         Replace uses of obsolete autoconf macros in Jim's modules.
44028         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
44029         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
44030         can evoke a warning from autoconf when run with -Wobsolete
44031         enabled.  They were declared obsolete for good reasons (see
44032         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
44033         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
44034         should not continue using the deprecated macros.
44035         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
44036         obsolete Autoconf macros with modern counterparts.
44037         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
44038         * m4/dos.m4 (gl_AC_DOS): Likewise.
44039         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
44040         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
44041         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
44042         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
44043         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
44044         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
44045         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
44046         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
44047         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
44048         Likewise.
44049         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
44050         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
44051         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
44052         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
44053         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
44054         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
44055
44056 2009-09-01  Eric Blake  <ebb9@byu.net>
44057
44058         fchdir: fix off-by-one bug in previous patch
44059         * lib/fchdir.c (rpl_fstat): Use correct bounds.
44060         (_gl_unregister_fd): Delete useless if.
44061
44062 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
44063
44064         maint.mk: sort the list of syntax-check rules
44065         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
44066         easier to get a sense of progress when the rules are run sequentially
44067         and take a long time.
44068
44069 2009-09-01  Simon Josefsson  <simon@josefsson.org>
44070
44071         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
44072         * modules/netinet_in: Likewise.
44073         * modules/sys_file: Likewise.
44074         * modules/sys_ioctl: Likewise.
44075         * modules/sys_select: Likewise.
44076         * modules/sys_socket: Likewise.
44077         * modules/sys_stat: Likewise.
44078         * modules/sys_time: Likewise.
44079         * modules/sys_times: Likewise.
44080         * modules/sys_utsname: Likewise.
44081         * modules/sys_wait: Likewise.
44082
44083 2009-09-01  Jim Meyering  <meyering@redhat.com>
44084
44085         fts: help ensure that return values are not ignored
44086         * lib/fts_.h (__GNUC_PREREQ): Define.
44087         (__attribute_warn_unused_result__): Define.
44088         (fts_children, fts_close, fts_open, fts_read): Declare with
44089         __attribute_warn_unused_result__.
44090
44091         fts: fts_close now fails also when closing a dir file descriptor fails
44092         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
44093         and propagate to caller, along with errno.
44094
44095         announce-gen: correct formatting in --help output
44096         * build-aux/announce-gen (usage): Move the one-line description in
44097         --help output "up", to where it belongs, just after Usage:.
44098
44099 2009-08-31  Eric Blake  <ebb9@byu.net>
44100
44101         fchdir: port to mingw
44102         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
44103         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
44104         opened, then use a substitute.
44105         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
44106         replacement.
44107         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
44108         (_gl_register_fd): No need to check stat if open already filters
44109         all directories.
44110         (fchdir): Fix error condition to match POSIX.
44111         * modules/fchdir (Depends-on): Add sys_stat.
44112         * doc/posix-functions/open.texi (open): Document the limitation.
44113         * modules/fchdir-tests: New file.
44114         * tests/test-fchdir.c: Likewise.
44115
44116         canonicalize: allow cross-testing from cygwin to mingw
44117         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
44118         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
44119         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
44120         Likewise.
44121         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
44122         target does not support symlinks.
44123         * tests/test-canonicalize-lgpl.sh: Likewise.
44124
44125         chown: avoid compilation warning on mingw
44126         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
44127         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
44128         mingw.
44129         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
44130         * modules/chown (Depends-on): Add errno.
44131
44132 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
44133
44134         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
44135         command.
44136
44137 2009-08-31  Jim Meyering  <meyering@redhat.com>
44138
44139         canonicalize: remove useless initialization
44140         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
44141         initialization of local, "end".
44142
44143 2009-08-30  Bruno Haible  <bruno@clisp.org>
44144
44145         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
44146         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
44147         ENOSYS.
44148
44149 2009-08-30  Bruno Haible  <bruno@clisp.org>
44150
44151         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
44152         /usr/xpg4/bin/tr when it exists.
44153         * tests/test-pipe-filter-gi1.sh: Likewise.
44154
44155 2009-08-30  Bruno Haible  <bruno@clisp.org>
44156
44157         Work around deficient /usr/bin/id program on Solaris.
44158         * tests/test-file-has-acl.sh (ID): New variable.
44159         * tests/test-set-mode-acl.sh (ID): Likewise.
44160         * tests/test-copy-acl.sh (ID): Likewise.
44161         * tests/test-copy-file.sh (ID): Likewise.
44162
44163 2009-08-30  Bruno Haible  <bruno@clisp.org>
44164
44165         New module 'xstriconveh'.
44166         * lib/xstriconveh.h: New file.
44167         * lib/xstriconveh.c: New file.
44168         * modules/xstriconveh: New file.
44169
44170 2009-08-30  Bruno Haible  <bruno@clisp.org>
44171
44172         Make it easier to use mem_cd_iconveh.
44173         * lib/striconveh.h (iconveh_t): New type.
44174         (iconveh_open, iconveh_close): New declarations.
44175         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
44176         with a single 'const iconveh_t *' argument.
44177         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
44178         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
44179         with a single 'const iconveh_t *' argument.
44180         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
44181         * tests/test-striconveh.c (main): Update.
44182         * NEWS: Mention the change.
44183
44184 2009-08-30  Bruno Haible  <bruno@clisp.org>
44185
44186         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
44187         problem.
44188
44189 2009-08-30  Bruno Haible  <bruno@clisp.org>
44190
44191         Work around iconv_open problem on Solaris.
44192         * lib/iconv_open-solaris.gperf: New file.
44193         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
44194         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
44195         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
44196         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
44197         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
44198         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
44199
44200 2009-08-29  Jim Meyering  <meyering@redhat.com>
44201
44202         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
44203         * top/maint.mk (cvs-check): Remove target; it was just an alias
44204         to the better-named vc-diff-check.
44205         (maintainer-distcheck): Remove rule.  It was used only from
44206         the (alpha/beta/major) target, and all of its commands but one
44207         were coreutils-specific.
44208         (vc-dist): Remove rule.
44209         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
44210         Run vc-diff-check, not vc-dist.
44211         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
44212
44213 2009-08-27  Bruno Haible  <bruno@clisp.org>
44214
44215         * tests/test-bitrotate.c (main): Remove test that uses a shift count
44216         of 0.
44217
44218 2009-08-27  Bruno Haible  <bruno@clisp.org>
44219
44220         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
44221         compilers.
44222         * doc/func.texi: Document the SunPRO C bug.
44223
44224 2009-08-27  Bruno Haible  <bruno@clisp.org>
44225
44226         Fix link error on Solaris.
44227         * tests/test-parse-duration.c (xstrdup): Remove function.
44228
44229 2009-08-26  Pádraig Brady  <P@draigbrady.com>
44230
44231         ignore-value: handle pointer types, too
44232         * lib/ignore-value.h (__attribute__): Remove definition.
44233         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
44234         of a more concise and more-often effective "(void) i" statement.
44235         (ignore_ptr): New function to suppress warnings from functions that
44236         return pointers, and to make it explicit that one function doesn't
44237         handle all cases.
44238
44239 2009-08-25  Bruno Haible  <bruno@clisp.org>
44240
44241         dup2: work around a Linux bug.
44242         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
44243         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
44244         * doc/posix-functions/dup2.texi: Mention the Linux bug.
44245         Reported by Simon Josefsson.
44246
44247 2009-08-25  Jim Meyering  <meyering@redhat.com>
44248
44249         libguestfs uses gnulib
44250         * users.txt: Add libguestfs.
44251
44252 2009-08-24  Eric Blake  <ebb9@byu.net>
44253
44254         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
44255         * lib/pipe2.c (includes): Add binary-io.h.
44256         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
44257
44258 2009-08-24  Bruno Haible  <bruno@clisp.org>
44259
44260         Tolerate declared but missing accept4 syscall.
44261         * lib/accept4.c (accept4): Invoke original accept4 function first, if
44262         available.
44263         * lib/sys_socket.in.h (accept4): If the function is already present,
44264         override it.
44265         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
44266         * modules/accept4 (Makefile.am): Compile accept4.c always.
44267         Reported by Paolo Bonzini and Eric Blake.
44268
44269 2009-08-23  Bruno Haible  <bruno@clisp.org>
44270
44271         New module 'accept4'.
44272         * lib/sys_socket.in.h (accept4): New declaration.
44273         * lib/accept4.c: New file.
44274         * m4/accept4.m4: New file.
44275         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44276         GNULIB_ACCEPT4, HAVE_ACCEPT4.
44277         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
44278         HAVE_ACCEPT4.
44279         * modules/accept4: New file.
44280         * doc/glibc-functions/accept4.texi: Mention the new module.
44281
44282 2009-08-24  Jim Meyering  <meyering@redhat.com>
44283
44284         progname: also set global program_invocation_name, when possible
44285         Before this change, a libtool-enabled program that calls glibc's
44286         error function would report the program name as
44287         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
44288         * modules/progname (configure.ac): Check for a declaration of
44289         program_invocation_name.
44290         * lib/progname.c:  Include <errno.h>.
44291         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
44292         Set program_invocation_name.
44293
44294 2009-08-23  Bruno Haible  <bruno@clisp.org>
44295
44296         * lib/dup3.c: Include <string.h>.
44297
44298 2009-08-23  Bruno Haible  <bruno@clisp.org>
44299
44300         * lib/dup3.c (dup3): Test only once whether the system actually exists.
44301         * lib/pipe2.c (pipe2): Likewise.
44302         Suggested by Eric Blake.
44303
44304 2009-08-23  Bruno Haible  <bruno@clisp.org>
44305
44306         Tolerate declared but missing dup3 syscall.
44307         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
44308         * lib/unistd.in.h (dup3): If the function is already present,
44309         override it.
44310         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
44311         * modules/dup3 (Makefile.am): Compile dup3.c always.
44312         Reported by Paolo Bonzini.
44313
44314 2009-08-23  Bruno Haible  <bruno@clisp.org>
44315
44316         Tolerate declared but missing pipe2 syscall.
44317         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
44318         available.
44319         * lib/unistd.in.h (pipe2): If the function is already present,
44320         override it.
44321         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
44322         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
44323         Reported by Paolo Bonzini.
44324
44325 2009-08-23  Bruno Haible  <bruno@clisp.org>
44326
44327         * lib/pipe2.c (pipe2): Move #ifs inside function.
44328
44329 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44330
44331         quotearg: document limitations of quote_these_too
44332         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
44333         those limitations are created.
44334         * lib/quotearg.h (set_char_quoting): Document that digits and
44335         letters that are special after backslash are not permitted.
44336         (quotearg_char): Cross-reference set_char_quoting documentation.
44337
44338 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
44339
44340         quotearg: implement custom_quoting_style
44341         * lib/quotearg.c: (struct quoting_options): Add left_quote and
44342         right_quote fields.
44343         (set_custom_quoting): New public function.
44344         (quotearg_buffer_restyled): Add left_quote and right_quote
44345         arguments, handle them very much like locale quoting, and update
44346         all uses.
44347         (quotearg_n_custom): New public function.
44348         (quotearg_n_custom_mem): New public function.
44349         (quotearg_custom): New public function.
44350         (quotearg_custom_mem): New public function.
44351         * lib/quotearg.h: Prototype and document new public functions.
44352         (enum quoting_style): For escape_quoting_style and
44353         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
44354         ignored even though they're otherwise like c_quoting_style.
44355         Add custom_quoting_style member and document with comparison to
44356         clocale_quoting_style.
44357         * tests/test-quotearg.c (custom_quotes): New array.
44358         (custom_results): New array.
44359         (main): Extend to test custom quoting.
44360
44361 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44362
44363         quotearg: fix right quote escaping when it's in quote_these_too
44364         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
44365         quote, be sure to prepend only one backslash.
44366         * tests/test-quotearg.c (use_quote_double_quotes): New function.
44367         (main): Test it.
44368
44369 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44370
44371         quotearg-tests: test escaping of embedded locale quotes
44372         * tests/test-quotearg.c (struct result_strings): Add member for
44373         new input.
44374         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
44375         (inputs): Add new input.
44376         (results_g): Add expected results.
44377         (flag_results): Likewise.
44378         (locale_results): Likewise.
44379         (compare_strings): Check those.
44380
44381 2009-08-23  Bruno Haible  <bruno@clisp.org>
44382
44383         Tests for module 'dup3'.
44384         * modules/dup3-tests: New file.
44385         * tests/test-dup3.c: New file.
44386
44387         New module 'dup3'.
44388         * lib/unistd.in.h (dup3): New declaration.
44389         * lib/dup3.c: New file.
44390         * m4/dup3.m4: New file.
44391         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
44392         HAVE_DUP3.
44393         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
44394         * modules/dup3: New file.
44395         * doc/glibc-functions/dup3.texi: Mention the new module.
44396
44397 2009-08-23  Bruno Haible  <bruno@clisp.org>
44398
44399         Tweak the dup2 test.
44400         * tests/test-dup2.c (main): Create the test file empty. Verify that an
44401         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
44402         the test file is still empty. Fix argument order of lseek.
44403
44404 2009-08-23  Bruno Haible  <bruno@clisp.org>
44405
44406         Avoid test link errors when the modules getopt-gnu, gettext are used.
44407         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
44408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44409
44410 2009-08-23  Bruno Haible  <bruno@clisp.org>
44411
44412         Fix getdtablesize() on mingw.
44413         * lib/getdtablesize.c (getdtablesize): Implement differently.
44414         * lib/unistd.in.h (getdtablesize): Improve comment.
44415
44416 2009-08-23  Bruno Haible  <bruno@clisp.org>
44417
44418         New module 'mkostemp'.
44419         Based on Ulrich Drepper's 2007-08-10 change in glibc.
44420         * lib/stdlib.in.h (mksotemp): New declaration.
44421         * lib/mkostemp.c: New file, from glibc with modifications.
44422         * lib/tempname.h (GT_FILE): Remove outdated comment.
44423         (gen_tempname): Add flags argument.
44424         * lib/tempname.c (__GT_BIGFILE): Remove macro.
44425         (__GT_FILE): Map to 1.
44426         (small_open, large_open): Remove macros.
44427         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
44428         * lib/mkstemp.c (mkstemp): Update.
44429         * lib/mkdtemp.c (mkdtemp): Likewise.
44430         * m4/mkostemp.m4: New file.
44431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
44432         HAVE_MKOSTEMP.
44433         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
44434         HAVE_MKOSTEMP.
44435         * modules/mkostemp: New file, based on modules/mkstemp.
44436         * doc/glibc-functions/mkostemp.texi: Mention the new module.
44437         * NEWS: Mention the change.
44438
44439 2009-08-23  Bruno Haible  <bruno@clisp.org>
44440
44441         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
44442         Reported by Eric Blake.
44443
44444 2009-08-23  Bruno Haible  <bruno@clisp.org>
44445
44446         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
44447         Reported by Eric Blake.
44448
44449 2009-08-23  Bruno Haible  <bruno@clisp.org>
44450
44451         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
44452         * modules/pipe2 (Depends-on): Likewise.
44453
44454 2009-08-23  Eric Blake  <ebb9@byu.net>
44455
44456         fcntl-h: add O_TTY_INIT support
44457         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
44458         * tests/test-fcntl-h.c (o): Test it.
44459         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
44460
44461         fcntl-h: rename from fcntl, in preparation for fcntl(2)
44462         * modules/fcntl: Move <fcntl.h> header replacement...
44463         * modules/fcntl-h: ...to new name, so as not to collide with
44464         like-named function.
44465         * tests/test-fcntl.c: Rename...
44466         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
44467         * modules/fcntl-tests: Rename...
44468         * modules/fcntl-h-tests: ...to this.  Update test file name.
44469         * modules/chdir-long (Depends-on): Update clients.
44470         * modules/chdir-safer (Depends-on): Likewise.
44471         * modules/fcntl-safer (Depends-on): Likewise.
44472         * modules/fts (Depends-on): Likewise.
44473         * modules/mkancesdirs (Depends-on): Likewise.
44474         * modules/mkdir-p (Depends-on): Likewise.
44475         * modules/open (Depends-on): Likewise.
44476         * modules/savewd (Depends-on): Likewise.
44477         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
44478         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
44479
44480 2009-08-22  Bruno Haible  <bruno@clisp.org>
44481
44482         * modules/binary-io (License): Relicense under LGPL.
44483         * modules/pipe2 (License): Likewise.
44484
44485 2009-08-22  Bruno Haible  <bruno@clisp.org>
44486
44487         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
44488         return value.
44489         * lib/pipe-filter-gi.c (filter_init): Likewise.
44490         Reported by Eric Blake.
44491
44492 2009-08-22  Bruno Haible  <bruno@clisp.org>
44493
44494         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
44495         * modules/pipe (Depends-on): Add pipe2.
44496
44497 2009-08-22  Bruno Haible  <bruno@clisp.org>
44498
44499         Tests for module 'pipe2'.
44500         * modules/pipe2-tests: New file.
44501         * tests/test-pipe2.c: New file.
44502
44503         New module 'pipe2'.
44504         * lib/unistd.in.h (pipe2): New declaration.
44505         * lib/pipe2.c: New file.
44506         * m4/pipe2.m4: New file.
44507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
44508         HAVE_PIPE2.
44509         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
44510         * modules/pipe2: New file.
44511         * doc/glibc-functions/pipe2.texi: Mention the new module.
44512
44513 2009-08-22  Bruno Haible  <bruno@clisp.org>
44514
44515         Reference some new glibc functions.
44516         * doc/glibc-functions/accept4.texi: New file.
44517         * doc/glibc-functions/dup3.texi: New file.
44518         * doc/glibc-functions/mkostemp.texi: New file.
44519         * doc/glibc-functions/pipe2.texi: New file.
44520         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
44521         (Glibc sys/socket.h): Refer to accept4.
44522         (Glibc unistd.h): Refer to dup3, pipe2.
44523         Reported by Eric Blake.
44524
44525 2009-08-22  Jim Meyering  <meyering@redhat.com>
44526             Bruno Haible  <bruno@clisp.org>
44527
44528         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
44529         This makes it so packages using automake-1.11's silent-rules option
44530         can print e.g., a single "GEN    configmake.h" line, rather than
44531         the 30+ statements that perform the job.  If you want to see the
44532         actual commands, you can still run "make V=1".
44533         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
44534         so that make output is abbreviated when those variables are defined
44535         appropriately.
44536         * modules/argz: Likewise.
44537         * modules/arpa_inet: Likewise.
44538         * modules/byteswap: Likewise.
44539         * modules/configmake: Likewise.
44540         * modules/dirent: Likewise.
44541         * modules/errno: Likewise.
44542         * modules/fcntl: Likewise.
44543         * modules/float: Likewise.
44544         * modules/fnmatch: Likewise.
44545         * modules/getopt-posix: Likewise.
44546         * modules/glob: Likewise.
44547         * modules/iconv_open: Likewise.
44548         * modules/inttypes: Likewise.
44549         * modules/localcharset: Likewise.
44550         * modules/locale: Likewise.
44551         * modules/math: Likewise.
44552         * modules/netdb: Likewise.
44553         * modules/netinet_in: Likewise.
44554         * modules/poll: Likewise.
44555         * modules/posix_spawnp-tests: Likewise.
44556         * modules/sched: Likewise.
44557         * modules/search: Likewise.
44558         * modules/selinux-h: Likewise.
44559         * modules/signal: Likewise.
44560         * modules/spawn: Likewise.
44561         * modules/stdarg: Likewise.
44562         * modules/stdbool: Likewise.
44563         * modules/stddef: Likewise.
44564         * modules/stdint: Likewise.
44565         * modules/stdio: Likewise.
44566         * modules/stdlib: Likewise.
44567         * modules/string: Likewise.
44568         * modules/strings: Likewise.
44569         * modules/sys_file: Likewise.
44570         * modules/sys_ioctl: Likewise.
44571         * modules/sys_select: Likewise.
44572         * modules/sys_socket: Likewise.
44573         * modules/sys_stat: Likewise.
44574         * modules/sys_time: Likewise.
44575         * modules/sys_times: Likewise.
44576         * modules/sys_utsname: Likewise.
44577         * modules/sys_wait: Likewise.
44578         * modules/sysexits: Likewise.
44579         * modules/time: Likewise.
44580         * modules/unistd: Likewise.
44581         * modules/wchar: Likewise.
44582         * modules/wctype: Likewise.
44583
44584 2009-08-22  Jim Meyering  <meyering@redhat.com>
44585
44586         announce-gen: detect write failure
44587         * build-aux/announce-gen: Add Coda at end.
44588         Remove equivalent-but-more-verbose block at top.
44589
44590 2009-08-19  Akim Demaille  <demaille@gostai.com>
44591
44592         bootstrap: --help to stdout.
44593         * bootstrap (usage): Don't send --help to stderr.
44594         Use a here doc instead of a long string.
44595
44596 2009-08-21  Eric Blake  <ebb9@byu.net>
44597
44598         test-popen-safer: split from test-popen
44599         * tests/test-popen.c (main): Move...
44600         * tests/test-popen.h: ...into new file.
44601         * tests/test-popen-safer2.c: New file.
44602         * modules/popen-tests (Files): Add test-popen.h.
44603         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
44604         Suggested by Bruno Haible.
44605
44606         test-fcntl-safer: split from test-open
44607         * tests/test-open.c (main): Move...
44608         * tests/test-open.h: ...into new file.
44609         * tests/test-fcntl-safer.c: New file.
44610         * modules/open-tests (Files): Add test-open.h.
44611         * modules/fcntl-safer-tests: New file.
44612         Suggested by Bruno Haible.
44613
44614         test-fopen-safer: split from test-fopen
44615         * tests/test-fopen.c (main): Move...
44616         * tests/test-fopen.h: ...into new file.
44617         * tests/test-fopen-safer.c: New file.
44618         * modules/fopen-tests (Files): Add test-fopen.h.
44619         * modules/fopen-safer-tests: New file.
44620         Suggested by Bruno Haible.
44621
44622 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44623
44624         popen-safer: test O_CLOEXEC at run-time.
44625         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
44626
44627 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44628
44629         fcntl: move more flags to the header
44630         * lib/cloexec.c: Do not define FD_CLOEXEC here.
44631         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
44632         * lib/fcntl.in.h: Do both things here.
44633
44634 2009-08-21  Jim Meyering  <meyering@redhat.com>
44635
44636         consistently remove $@-t before redirecting to it
44637         * modules/argz: Remove $@-t and $@ before redirecting to the former.
44638         * modules/alloca-opt: Likewise.
44639         * modules/byteswap: Likewise.
44640         * modules/fnmatch: Likewise.
44641         * modules/getopt-posix: Likewise.
44642         * modules/glob: Likewise.
44643         * modules/poll: Likewise.
44644         * modules/posix_spawnp-tests: Likewise.
44645         * modules/sys_socket: Likewise.
44646         * modules/sysexits: Likewise.
44647
44648 2009-08-21  Eric Blake  <ebb9@byu.net>
44649
44650         popen: simplify access to original popen
44651         * lib/popen.c (rpl_popen): No need to worry about popen being a
44652         macro.
44653         Reported by Bruno Haible.
44654
44655 2009-08-20  Eric Blake  <ebb9@byu.net>
44656
44657         build: avoid some compiler warnings
44658         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
44659         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
44660         type.
44661         (new_exclude_segment, excluded_file_pattern_p)
44662         (excluded_file_name_p): Reduce scope.
44663         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
44664         old-style declaration.
44665
44666 2009-08-20  Simon Josefsson  <simon@josefsson.org>
44667
44668         * tests/test-exclude1.sh: Handle Windows EOL.
44669         * tests/test-exclude2.sh: Likewise.
44670         * tests/test-exclude3.sh: Likewise.
44671         * tests/test-exclude4.sh: Likewise.
44672         * tests/test-exclude5.sh: Likewise.
44673         * tests/test-exclude6.sh: Likewise.
44674         * tests/test-exclude7.sh: Likewise.
44675
44676 2009-08-19  Akim Demaille  <demaille@gostai.com>
44677
44678         bootstrap: find sha1sum when named gsha1sum.
44679         * bootstrap (find_tool): New.
44680         ($SHA1SUM): New.
44681         Use it.
44682
44683 2009-08-20  Jim Meyering  <meyering@redhat.com>
44684
44685         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
44686         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
44687         expression that converts "." in a file name to "\." in the resulting
44688         regexp.  Start with a dummy statement, so that prior shell variable
44689         definitions are expanded portably.  Reported by Simon Josefsson.
44690
44691 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
44692
44693         Fix polling for writeability of a screen buffer.
44694         * lib/poll.c: Distinguish input and screen buffers for the
44695         Win32 implementation.
44696         * lib/select.c: Likewise.
44697
44698 2009-08-19  Eric Blake  <ebb9@byu.net>
44699
44700         popen-safer: prevent popen from clobbering std descriptors
44701         * modules/popen-safer: New file.
44702         * lib/popen-safer.c: Likewise.
44703         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
44704         * lib/stdio--.h (popen): Provide override.
44705         * lib/stdio-safer.h (popen_safer): Provide declaration.
44706         * tests/test-popen.c (includes): Partially test this.
44707         * modules/popen-safer-tests: New file, for more tests.
44708         * tests/test-popen-safer.c: Likewise.
44709         * MODULES.html.sh (file stream based Input/Output): Mention it.
44710
44711         tests: test some of the *-safer modules
44712         * modules/fopen-safer (Depends-on): Add fopen.
44713         * modules/fcntl-safer (Depends-on): Add fcntl.
44714         * modules/stdlib-safer (Depends-on): Add stdlib.
44715         (configure.ac): Set indicator.
44716         * modules/unistd-safer (configure.ac): Likewise.
44717         * modules/tmpfile-safer (configure.ac): Likewise.
44718         (Depends-on): Add tmpfile.
44719         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
44720         active.
44721         * tests/test-fopen.c (includes): Test safer versions when they are
44722         in use.
44723         * tests/test-open.c (includes): Likewise.
44724
44725         popen: fix cygwin 1.5 bug when stdin closed
44726         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
44727         * modules/popen: New file.
44728         * modules/popen-tests: Likewise.
44729         * tests/test-popen.c: Likewise.
44730         * m4/popen.m4: Likewise.
44731         * lib/popen.c: Likewise.
44732         * lib/stdio.in.h (popen): New declaration.
44733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
44734         * modules/stdio (Makefile.am): Likewise.
44735         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
44736
44737 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
44738
44739         maint.mk: give full control over update-copyright exclusions
44740         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
44741         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
44742         (update-copyright): Don't force inclusion of top-level
44743         ChangeLog.  Don't force exclusion of all COPYING files, but make
44744         them the default exclusion instead.
44745
44746 2009-08-16  Bruno Haible  <bruno@clisp.org>
44747
44748         Fix test failures on Solaris 10.
44749         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
44750         tests when Solaris iconv() is used.
44751         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44752         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44753         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44754         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44755         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44756
44757 2009-08-16  Bruno Haible  <bruno@clisp.org>
44758
44759         Fix test failures on Solaris 10.
44760         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
44761         'tr' program and pass it as first argument.
44762         * tests/test-pipe-filter-gi1.sh: Likewise.
44763         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
44764         program as first argument.
44765         * tests/test-pipe-filter-gi1.c (main): Likewise.
44766
44767 2009-08-16  Eric Blake  <ebb9@byu.net>
44768
44769         fpurge: fix previous commits
44770         * modules/fpurge (Makefile.am): Make replacement conditional,
44771         partially reverting 2007-04-29 change; missed in previous
44772         attempt.
44773         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
44774         is missing.
44775
44776 2009-08-16  Bruno Haible  <bruno@clisp.org>
44777
44778         Clarify fpurge's effect on the file position.
44779         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
44780         * tests/test-fpurge.c (main): Make a second pass for checking the file
44781         position.
44782
44783 2009-08-16  Bruno Haible  <bruno@clisp.org>
44784
44785         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
44786         declaration of fpurge is missing.
44787         * tests/test-fpurge.c (main): Check that the file has not more contents
44788         than expected. Close the file before removing it.
44789
44790 2009-08-15  Eric Blake  <ebb9@byu.net>
44791
44792         fpurge: don't wrap working cygwin implementation
44793         * lib/fpurge.c (fpurge): Fix comment typo.
44794         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
44795         1.7 to avoid replacement.
44796         * tests/test-fpurge.c (main): Enhance test.
44797
44798 2009-08-15  Eric Blake  <ebb9@byu.net>
44799         and Jim Meyering  <meyering@redhat.com>
44800
44801         test-update-copyright: skip if perl is insufficient
44802         * tests/test-update-copyright.sh: Failure to run maintainer tool
44803         should not cause testsuite failure on cygwin 1.5.
44804
44805 2009-08-14  Eric Blake  <ebb9@byu.net>
44806
44807         doc: mention more functions added in cygwin 1.7.0
44808         * doc/posix-headers/limits.texi (limits.h): Update for recent
44809         cygwin additions.
44810         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
44811         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
44812         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
44813         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
44814         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
44815
44816 2009-08-14  Eric Blake  <ebb9@byu.net>
44817
44818         maint.mk: simplify update-copyright rule
44819         * top/maint.mk (update-copyright-local): Delete, and document how
44820         to do it in cfg.mk instead.
44821         (update-copyright-exclude-regexp): Delete, and document how to do
44822         it in .x-update-copyright instead.
44823         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
44824         exclude ChangeLog.
44825
44826 2009-08-14  Bruno Haible  <bruno@clisp.org>
44827
44828         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
44829
44830 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44831
44832         maint.mk: support update-copyright-env
44833         * top/maint.mk (update-copyright-env): Define place-holder.
44834         (update-copyright): Expand $(update-copyright-env) before
44835         invoking update-copyright.
44836
44837 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44838
44839         update-copyright: implement forced reformatting
44840         * build-aux/update-copyright: Implement and document
44841         UPDATE_COPYRIGHT_FORCE.
44842         * tests/test-update-copyright.sh: Test it.
44843
44844 2009-08-14  Eric Blake  <ebb9@byu.net>
44845         and Bruno Haible  <bruno@clisp.org>
44846
44847         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
44848         * tests/test-locale.c: Revert previous patch related to NULL.
44849         * tests/test-stdio.c: Likewise.
44850         * tests/test-stdlib.c: Likewise.
44851         * tests/test-string.c: Likewise.
44852         * tests/test-unistd.c: Likewise.
44853         * modules/time-tests (Depends-on): Add verify.
44854         * modules/wchar-tests (Depends-on): Likewise.
44855         * tests/test-time.c: Test for NULL compliance.
44856         * tests/test-wchar.c: Likewise.
44857         * modules/locale (Depends-on): Add stddef.
44858         * modules/stdio (Depends-on): Likewise.
44859         * modules/stdlib (Depends-on): Likewise.
44860         * modules/string (Depends-on): Likewise.
44861         * modules/time (Depends-on): Likewise.
44862         * modules/unistd (Depends-on): Likewise.
44863         * modules/wchar (Depends-on): Likewise.
44864         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
44865         * lib/stdlib.in.h (includes): Likewise.
44866         * lib/string.in.h (includes): Likewise.
44867         * lib/time.in.h (includes): Likewise.
44868         * lib/unistd.in.h (includes): Likewise.
44869         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
44870         replaced.
44871         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44872         * m4/stddef_h.m4: New file.
44873         * modules/stddef: Likewise.
44874         * lib/stddef.in.h: Likewise.
44875         * modules/stddef-tests: Likewise.
44876         * tests/test-stddef.c: Likewise.
44877         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
44878         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
44879         * doc/posix-headers/locale.texi (locale.h): Likewise.
44880         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
44881         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
44882         * doc/posix-headers/string.texi (string.h): Likewise.
44883         * doc/posix-headers/time.texi (time.h): Likewise.
44884         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
44885         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
44886
44887 2009-08-14  Eric Blake  <ebb9@byu.net>
44888
44889         doc: improve git diff of texinfo files
44890         * .gitattributes: Add rule for *.texi files, with hint on how to
44891         use it.
44892         Copied from m4, and based on a report by Bruno Haible.
44893
44894 2009-08-14  Bruno Haible  <bruno@clisp.org>
44895
44896         Disable multithread support by default on Cygwin 1.5.x for real.
44897         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
44898
44899 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44900
44901         update-copyright: much ado about intervals
44902         * build-aux/update-copyright: Implement and document
44903         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
44904         of copyright year intervals.
44905         Also, document UPDATE_COPYRIGHT_YEAR.
44906         * tests/test-update-copyright.sh: Test it.
44907
44908         update-copyright: convert 2-digit to 4-digit years
44909         * build-aux/update-copyright: Implement and document.
44910         * tests/test-update-copyright.sh: Update.
44911
44912 2009-08-14  Jim Meyering  <meyering@redhat.com>
44913
44914         test-exclude: avoid coreutils "make check" failure
44915         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
44916         just as in test-argmatch.c.
44917
44918 2009-08-13  Eric Blake  <ebb9@byu.net>
44919
44920         test-dup2: fix bad assumption
44921         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
44922         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
44923
44924         test-version-etc: fix CRLF portability issue
44925         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
44926         recognize \r.
44927         * tests/test-argp-version-etc-1.sh: Likewise.
44928
44929         getopt: update client modules
44930         * modules/argp (Depends-on): Use getopt-gnu.
44931         * modules/git-merge-changelog (Depends-on): Likewise.
44932         * modules/long-options (Depends-on): Likewise.
44933         * modules/xstrtol (Depends-on): Likewise.
44934
44935 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44936
44937         * tests/test-version-etc.sh: Don't fail on different
44938         project/version.  Don't fail on CRLF differences.  Rewrite to use
44939         multiple -e instead of multiple sed forks, suggested by Eric Blake
44940         <ebb9@byu.net>.
44941         * tests/test-argp-version-etc-1.sh: Likewise.
44942
44943 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44944
44945         * tests/test-version-etc.sh: Don't fail on different
44946         project/version.
44947
44948 2009-08-12  Bruno Haible  <bruno@clisp.org>
44949
44950         Tests for modules 'getopt-posix', 'getopt-gnu'.
44951         * modules/getopt-posix-tests: New file.
44952         * tests/test-getopt.c: New file.
44953         * tests/test-getopt.h: New file.
44954         * tests/test-getopt_long.h: New file.
44955
44956         New modules 'getopt-posix', 'getopt-gnu'.
44957         * modules/getopt-gnu: New file, renamed from modules/getopt.
44958         * modules/getopt-posix: New file.
44959         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44960         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44961         (gl_GETOPT): Remove macro.
44962         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44963         Disable the test against BSD systems that declare optreset. Test
44964         against mingw bug. Test against lack of support of optional arguments
44965         on many platforms.
44966         * doc/glibc-headers/getopt.texi: Update module name and list of
44967         relevant platforms.
44968         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44969         'getopt-gnu' and more portability problems.
44970         * NEWS: Mention the changes.
44971
44972 2009-08-12  Bruno Haible  <bruno@clisp.org>
44973
44974         Ensure that optarg etc. get declared by <unistd.h>.
44975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44976         AC_USE_SYSTEM_EXTENSIONS.
44977         * modules/getopt (Depends-on): Add 'extensions'.
44978
44979 2009-08-12  Bruno Haible  <bruno@clisp.org>
44980
44981         Avoid test link errors.
44982         * modules/pipe-filter-ii-tests (Makefile.am): Define
44983         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44984         * modules/pipe-filter-gi-tests (Makefile.am): Define
44985         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44987
44988 2009-08-12  Bruno Haible  <bruno@clisp.org>
44989
44990         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44991         gl_GETOPT_SUBSTITUTE before.
44992         (gl_GETOPT): Use it.
44993         * m4/argp.m4 (gl_ARGP): Update.
44994         Reported by Sergey Poznyakoff.
44995
44996         * m4/getopt.m4: Reorder macros.
44997         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44998         (gl_GETOPT_SUBSTITUTE): Remove macro.
44999
45000 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45001
45002         Minor improvement in gitlog-to-changelog
45003
45004         * build-aux/gitlog-to-changelog: New option `--format' makes
45005         output format string configurable.
45006
45007 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45008
45009         Optimize exclude: use hash tables for non-wildcard patterns.
45010
45011         * lib/exclude.c: Include hash.h and mbuiter.h
45012         (struct exclude_pattern, exclude_segment): New data types.
45013         (struct exclude): Rewrite.
45014         (fnmatch_pattern_has_wildcards): New function.
45015         (new_exclude_segment, free_exclude_segment): New functions.
45016         (excluded_file_pattern_p, excluded_file_name_p): New functions.
45017         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
45018         * lib/exclude.h (is_fnmatch_pattern): New prototype.
45019         * modules/exclude: Depend on hash and mbuiter.
45020
45021         * modules/exclude-tests: New file.
45022         * tests/test-exclude.c: New file.
45023         * tests/test-exclude1.sh: New file.
45024         * tests/test-exclude2.sh: New file.
45025         * tests/test-exclude3.sh: New file.
45026         * tests/test-exclude4.sh: New file.
45027         * tests/test-exclude5.sh: New file.
45028         * tests/test-exclude6.sh: New file.
45029         * tests/test-exclude7.sh: New file.
45030
45031 2009-08-12  Bruno Haible  <bruno@clisp.org>
45032
45033         Ensure that getopt() gets declared by <unistd.h>.
45034         * lib/unistd.in.h: Conditionally include getopt.h.
45035         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
45036         Set GNULIB_UNISTD_H_GETOPT.
45037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45038         GNULIB_UNISTD_H_GETOPT.
45039         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
45040
45041 2009-08-12  Bruno Haible  <bruno@clisp.org>
45042
45043         Clarify logic.
45044         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
45045         gl_replace_getopt instead of GETOPT_H.
45046
45047 2009-08-12  Bruno Haible  <bruno@clisp.org>
45048
45049         * m4/getopt.m4: Add comments.
45050
45051 2009-08-12  Bruno Haible  <bruno@clisp.org>
45052
45053         Disable multithread support by default on Cygwin 1.5.x.
45054         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
45055         set gl_use_threads=no if not specified otherwise.
45056
45057 2009-08-11  Bruno Haible  <bruno@clisp.org>
45058
45059         Avoid compilation error on NetBSD 5.0.
45060         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
45061         * tests/test-stdio.c: Likewise.
45062         * tests/test-stdlib.c: Likewise.
45063         * tests/test-string.c: Likewise.
45064         * tests/test-unistd.c: Likewise.
45065         Reported by Greg Troxel <gdt@ir.bbn.com>
45066         at <https://savannah.gnu.org/support/?106973>.
45067
45068 2009-08-11  Bruno Haible  <bruno@clisp.org>
45069
45070         * modules/dup2-tests (Depends-on): Remove close.
45071
45072         Undo 2009-07-19 commit.
45073         * modules/acl-tests (Depends-on): Remove close.
45074         * modules/binary-io-tests (Depends-on): Likewise.
45075         * modules/closein-tests (Depends-on): Likewise.
45076         * modules/flock-tests (Depends-on): Likewise.
45077         * modules/fsync-tests (Depends-on): Likewise.
45078         * modules/lseek-tests (Depends-on): Likewise.
45079         * modules/pipe-tests (Depends-on): Likewise.
45080         * modules/posix_spawn-tests (Depends-on): Likewise.
45081         * modules/posix_spawnp-tests (Depends-on): Likewise.
45082         * modules/stat-time-tests (Depends-on): Likewise.
45083         * modules/yesno-tests (Depends-on): Likewise.
45084
45085 2009-08-10  Bruno Haible  <bruno@clisp.org>
45086
45087         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
45088
45089 2009-08-10  Bruno Haible  <bruno@clisp.org>
45090
45091         Fix a gcc warning.
45092         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
45093
45094 2009-08-10  Bruno Haible  <bruno@clisp.org>
45095
45096         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
45097         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
45098         not only the first time.
45099         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
45100         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
45101         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
45102         is 1, not only the the first time.
45103
45104 2009-08-10  Bruno Haible  <bruno@clisp.org>
45105
45106         Make it possible to use module 'gethostname' without module 'close'.
45107         * lib/unistd.in.h (close): Evoke a link error only if
45108         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
45109         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45110         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45111         * modules/unistd (Makefile.am): Substitute
45112         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45113         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
45114         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
45115         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
45116         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45117         * modules/sys_ioctl (Makefile.am): Substitute
45118         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45119         * modules/socket (configure.ac): On native Windows, set
45120         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
45121         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45122         Reported by Sam Steingold <sds@gnu.org>.
45123
45124 2009-08-10  Bruno Haible  <bruno@clisp.org>
45125
45126         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
45127         * modules/ioctl (configure.ac): Likewise.
45128
45129 2009-08-10  Bruno Haible  <bruno@clisp.org>
45130
45131         Avoid collision between gnulib wrapper and libintl wrapper.
45132         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
45133         already defined in intl/printf.c.
45134         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
45135         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
45136
45137 2009-08-09  Bruno Haible  <bruno@clisp.org>
45138
45139         Make <sys/select.h> really self-contained, also on Solaris 10.
45140         * lib/sys_select.in.h: Include <string.h>.
45141         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
45142         Solaris 10 problem.
45143         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
45144         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
45145         Reported by Jim Meyering.
45146
45147 2009-08-09  Bruno Haible  <bruno@clisp.org>
45148
45149         Avoid warnings from 'aclocal' that are due to a use of macro name
45150         AM_XGETTEXT_OPTION that is not defined in automake.
45151         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
45152         automake.
45153         * modules/error (configure.ac): Likewise.
45154         * modules/propername (configure.ac): Likewise.
45155         * modules/vasprintf (configure.ac): Likewise.
45156         * modules/verror (configure.ac): Likewise.
45157         * modules/xprintf (configure.ac): Likewise.
45158         * modules/xvasprintf (configure.ac): Likewise.
45159
45160 2009-08-08  Bruno Haible  <bruno@clisp.org>
45161
45162         Avoid compilation error in C++ mode.
45163         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
45164         Reported by Sam Steingold <sds@gnu.org>.
45165
45166 2009-08-08  Bruno Haible  <bruno@clisp.org>
45167
45168         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
45169         for the various Unix platforms.
45170         * doc/posix-headers/limits.texi: Update platforms list regarding
45171         HOST_NAME_MAX.
45172         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45173
45174 2009-08-07  Jim Meyering  <meyering@redhat.com>
45175
45176         selinux-at: fix typo in a comment
45177         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
45178         Spotted by Paolo Bonzini.
45179
45180         selinux-at: remove redundant m4 code, add documentation
45181         * modules/selinux-at (configure.ac): Remove redundant code.
45182         LIB_SELINUX is already set via the dependent module, selinux-h.
45183         (Include): Add quotes around selinux-at.h.
45184         * lib/selinux-at.h: Add documentation.
45185         Reported by Bruno Haible in
45186         http://marc.info/?l=gnulib-bug&m=124958988300749
45187
45188 2009-08-07  Bruno Haible  <bruno@clisp.org>
45189
45190         Avoid link error on MacOS X 10.3 and 10.4.
45191         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
45192         on non-ELF systems.
45193         * lib/argp-pv.c (argp_program_version): Likewise.
45194         Reported by Simon Josefsson.
45195
45196 2009-08-07  Simon Josefsson  <simon@josefsson.org>
45197
45198         * tests/test-version-etc.sh: Use $EXEEXT.
45199
45200 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
45201
45202         update-copyright: update documentation to point to maint.mk
45203         * build-aux/update-copyright: Here.
45204
45205 2009-08-06  Jim Meyering  <meyering@redhat.com>
45206
45207         maint.mk: support update-copyright-local
45208         * top/maint.mk (update-copyright-local): Define place-holder.
45209         (update-copyright): Depend on $(update-copyright-local).
45210
45211 2009-08-06  Jim Meyering  <meyering@redhat.com>
45212
45213         selinux-at: new module
45214         Initially written for coreutils, this module will soon be
45215         used by findutils, too.
45216         * MODULES.html.sh [Misc]: Add selinux-at.
45217         * lib/selinux-at.h: New file, from coreutils.
45218         * lib/selinux-at.c: Likewise.
45219         * modules/selinux-at: Likewise.
45220         (License): Change from LGPL to GPL, since it depends
45221         on the GPL'd openat module.
45222
45223         doc: update README
45224         * README: Remove references to cogito.
45225         Remove cvs-repo-updating instructions from 2007.
45226         Don't imply that CVS is better if you have limited disk space.
45227
45228 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45229
45230         update-copyright: support C-style comments
45231         * build-aux/update-copyright: Implement and document.
45232         * tests/test-update-copyright.sh: Test.
45233
45234 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45235
45236         update-copyright: support omitted "(C)"
45237         * build-aux/update-copyright: Implement and document.  Also,
45238         allow variable whitespace before "(C)".
45239         * tests/test-update-copyright.sh: Test.
45240
45241 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45242
45243         update-copyright: don't trip on non-FSF copyright statements
45244         * build-aux/update-copyright: Fix so that the first correctly
45245         formatted FSF copyright statement is recognized no matter what
45246         appears before it.  Update documentation.
45247         * tests/test-update-copyright.sh: Test that.
45248
45249 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45250
45251         update-copyright: clean up code a little
45252         * build-aux/update-copyright: Append "_re" to the name of any
45253         variable holding a regular expression.
45254         Replace "old" and "new" with "stmt" in variable names.
45255         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
45256         handled correctly.
45257         Format code more consistently.
45258
45259 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45260
45261         update-copyright-tests: improve portability
45262         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
45263         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
45264
45265 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
45266
45267         update-copyright: support @copyright{} and &copy;
45268         * build-aux/update-copyright: Implement and document.
45269         * tests/test-update-copyright.sh: Test.
45270
45271 2009-08-04  Jim Meyering  <meyering@redhat.com>
45272
45273         update-copyright-tests: correctly test EOL=\r\n handling
45274         * tests/test-update-copyright.sh: Put \r at the end of some lines
45275         for the dos-eol tests.  Based on a patch by Joel E. Denny.
45276
45277         maint.mk: make update-copyright exclusion list more configurable
45278         * top/maint.mk (update-copyright): Default to excluding COPYING,
45279         but allow an override, in case someone does want to update that file.
45280
45281         maint.mk: don't update copyright date in COPYING
45282         * top/maint.mk (update-copyright): Exclude COPYING.
45283
45284         maint.mk: add a copyright-updating rule
45285         * top/maint.mk (update-copyright): New rule.
45286         Derived from coreutils/Makefile.am.
45287
45288         update-copyright: rename some variables
45289         * build-aux/update-copyright: Rename a few variables for clarity.
45290         Tweak syntax.  List Joel E. Denny as coauthor.
45291
45292 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
45293
45294         update-copyright: fix bug for 2-digit last year and add tests
45295         * build-aux/update-copyright: Fix bug.
45296         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
45297         specified.
45298         * modules/update-copyright-tests: New
45299         * tests/test-update-copyright.sh: New.
45300
45301 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45302
45303         update-copyright: handle leading tabs in line prefix
45304         * build-aux/update-copyright: Count leading tabs as 8 spaces
45305         when computing margin.  This helps with the formatting of
45306         ChangeLogs, for example.
45307         Fix documentation a little.
45308
45309 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45310
45311         update-copyright: support EOL=\r\n
45312         * build-aux/update-copyright: Implement that.
45313
45314 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45315
45316         update-copyright: automatically format copyright statements
45317         * build-aux/update-copyright: Implement that.
45318         Also, be a little more predictable and safer by always failing
45319         when the full copyright format is not perfectly recognized as an
45320         unbroken whole.  Discussed at
45321         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
45322         Rewrite documentation.
45323
45324 2009-08-03  Bruno Haible  <bruno@clisp.org>
45325
45326         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
45327
45328 2009-08-02  Bruno Haible  <bruno@clisp.org>
45329
45330         Tests for module 'uname'.
45331         * modules/uname-tests: New file.
45332         * tests/test-uname.c: New file.
45333
45334         New module 'uname'.
45335         * lib/uname.c: New file.
45336         * m4/uname.m4: New file.
45337         * modules/uname: New file.
45338         * doc/posix-functions/uname.texi: Mention the new module.
45339
45340 2009-08-02  Bruno Haible  <bruno@clisp.org>
45341
45342         Tests for module 'sys_utsname'.
45343         * modules/sys_utsname-tests: New file.
45344         * tests/test-sys_utsname.c: New file.
45345
45346         New module 'sys_utsname'.
45347         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
45348         * m4/sys_utsname_h.m4: New file.
45349         * modules/sys_utsname: New file.
45350         * doc/posix-headers/sys_utsname.texi: Mention the new module.
45351
45352 2009-08-02  Bruno Haible  <bruno@clisp.org>
45353
45354         Implicitly initialize the sockets library.
45355         * lib/gethostname.c: Include sockets.h.
45356         (rpl_gethostname): Invoke gl_sockets_startup.
45357         * lib/socket.c: Include sockets.h.
45358         (rpl_socket): Invoke gl_sockets_startup.
45359         * modules/gethostname (Depends-on): Add sockets.
45360         * modules/socket (Depends-on): Likewise.
45361         * tests/test-poll.c: Don't include sockets.h.
45362         (main): Don't invoke gl_sockets_startup.
45363         * tests/test-select.c: Don't include sockets.h.
45364         (main): Don't invoke gl_sockets_startup.
45365
45366 2009-08-02  Bruno Haible  <bruno@clisp.org>
45367
45368         Allow multiple calls to gl_sockets_startup.
45369         * lib/sockets.c (initialized_sockets_version): New variable.
45370         (gl_sockets_startup): Do nothing if already called for this or a higher
45371         version.
45372         (gl_sockets_cleanup): Reset initialized_sockets_version.
45373
45374 2009-08-03  Simon Josefsson  <simon@josefsson.org>
45375
45376         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
45377         different project/version.
45378
45379 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
45380             Bruno Haible  <bruno@clisp.org>
45381
45382         Tests for module 'pipe-filter-gi'.
45383         * modules/pipe-filter-gi-tests: New file.
45384         * tests/test-pipe-filter-gi1.sh: New file.
45385         * tests/test-pipe-filter-gi1.c: New file.
45386         * tests/test-pipe-filter-gi2.sh: New file.
45387         * tests/test-pipe-filter-gi2-main.c: New file.
45388         * tests/test-pipe-filter-gi2-child.c: New file.
45389
45390         New module 'pipe-filter-gi'.
45391         * lib/pipe-filter-gi.c: New file.
45392         * modules/pipe-filter-gi: New file.
45393
45394 2009-08-02  Bruno Haible  <bruno@clisp.org>
45395             Paolo Bonzini  <bonzini@gnu.org>
45396
45397         Tests for module 'pipe-filter-ii'.
45398         * modules/pipe-filter-ii-tests: New file.
45399         * tests/test-pipe-filter-ii1.sh: New file.
45400         * tests/test-pipe-filter-ii1.c: New file.
45401         * tests/test-pipe-filter-ii2.sh: New file.
45402         * tests/test-pipe-filter-ii2-main.c: New file.
45403         * tests/test-pipe-filter-ii2-child.c: New file.
45404
45405         New module 'pipe-filter-ii'.
45406         * lib/pipe-filter.h: New file.
45407         * lib/pipe-filter-ii.c: New file.
45408         * lib/pipe-filter-aux.h: New file.
45409         * modules/pipe-filter-ii: New file.
45410
45411 2009-08-02  Simon Josefsson  <simon@josefsson.org>
45412
45413         * lib/gc-libgcrypt.c: Change copyright to FSF.
45414         * lib/gc-gnulib.c: Likewise.
45415
45416 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
45417
45418         * lib/gethostname.c: Include limits.h.
45419
45420 2009-08-02  Simon Josefsson  <simon@josefsson.org>
45421             Bruno Haible  <bruno@clisp.org>
45422
45423         Ensure HOST_NAME_MAX as part of the gethostname module.
45424         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
45425         define also HOST_NAME_MAX.
45426         * tests/test-gethostname.c: Include <limits.h>.
45427         (main): Check also HOST_NAME_MAX.
45428         * doc/posix-headers/limits.texi: Document the mingw problem.
45429
45430 2009-08-02  Bruno Haible  <bruno@clisp.org>
45431
45432         * lib/gethostname.c (gethostname): Fix handling of large len argument.
45433         Add comments.
45434
45435 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45436
45437         * lib/gethostname.c: Add Windows wrapper.
45438         * m4/gethostname.m4: Look for gethostname in -lws2_32.
45439         * modules/gethostname: Depend on sys_socket & errno, for also
45440         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
45441         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
45442
45443 2009-07-31  Jim Meyering  <meyering@redhat.com>
45444
45445         getloadavg: fix symbol name in comment
45446         * lib/getloadavg.c: Correct a typo I introduced when adding
45447         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
45448         Matt Kraai spotted the problem.
45449
45450 2009-07-29  Matt Kraai  <mkraai@beckman.com>
45451
45452         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
45453         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
45454         code also if ! defined N_NAME_POINTER.
45455         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
45456         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
45457         but the n_name member is a 12-byte array.
45458
45459 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
45460
45461         update-copyright: generalize comment handling
45462         * build-aux/update-copyright: Handle copyright statements
45463         within more comment styles.
45464         Document usage.
45465         Report any file with an external copyright holder or parse failure.
45466
45467 2009-07-29  Jim Meyering  <meyering@redhat.com>
45468
45469         mktime: correct setting of REPLACE_MKTIME
45470         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
45471
45472         update-copyright: new module
45473         * modules/update-copyright: New file.
45474         * build-aux/update-copyright: New file.
45475         * MODULES.html.sh (maint+release support): Add update-copyright.
45476
45477 2009-07-27  Bruno Haible  <bruno@clisp.org>
45478
45479         Fix compilation error when <ctime> is used and mktime is replaced.
45480         * lib/time.in.h (mktime): New declaration.
45481         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
45482         REPLACE_MKTIME instead of defining mktime in config.h.
45483         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
45484         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
45485         Reported by Ross McFarland <rwmcfa1@neces.com>.
45486
45487 2009-07-27  Bruno Haible  <bruno@clisp.org>
45488
45489         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
45490         Reported by Matt Kraai <mkraai@beckman.com>.
45491
45492 2009-07-25  Jim Meyering  <meyering@redhat.com>
45493
45494         maint.mk: avoid warnings about missing files
45495         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
45496         diagnostic when .prev-version does not exist.
45497         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
45498         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
45499         nonexistent cfg.mk.
45500         Suggestions from Simon Josefsson.
45501
45502 2009-07-25  Bruno Haible  <bruno@clisp.org>
45503
45504         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
45505         defined as macros. Needed on QNX 6.4.1.
45506         Reported by Matt Kraai <mkraai@beckman.com>.
45507
45508 2009-07-23  Jim Meyering  <meyering@redhat.com>
45509
45510         maint.mk: invoke "make dist" with a working value of XZ_OPT
45511         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
45512
45513 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
45514
45515         Make fseeko.c compile on QNX.
45516         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
45517
45518 2009-07-22  Peter Simons  <simons@cryp.to>
45519
45520         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
45521         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
45522         * lib/md4.h: Likewise.
45523         * lib/md5.h: Likewise.
45524         * lib/sha1.h: Likewise.
45525         * lib/sha256.h: Likewise.
45526         * lib/sha512.h: Likewise.
45527
45528         tests-sha1: don't assign literal string to 'char *' variable
45529         * tests/test-sha1.c (main): Declare locals with "const" to match
45530         attributes of the right hand side.
45531
45532 2009-07-21  Eric Blake  <ebb9@byu.net>
45533
45534         dup2: fix more mingw problems
45535         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
45536         fd to itself.
45537         * doc/posix-functions/dup2.texi (dup2): Document the bug.
45538         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
45539         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
45540         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
45541         care of mingw bugs.
45542
45543 2009-07-21  Jim Meyering  <meyering@redhat.com>
45544
45545         vc-list-files: avoid failure when /bin/sh is dash
45546         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
45547         On some Debian based systems, /bin/sh is a symlink to dash, and running
45548         this command would omit the "/" following each 'tests' prefix:
45549           dash -x build-aux/vc-list-files -C . tests
45550         That is because bash and dash work differently:
45551           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
45552           bash ok
45553           dash odd
45554
45555 2009-07-21  Eric Blake  <ebb9@byu.net>
45556
45557         dup2-tests: test previous patch
45558         * modules/dup2-tests: New file.
45559         * tests/test-dup2.c: Likewise.
45560         * tests/test-open.c (main): Avoid unspecified behavior.
45561         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
45562         test.
45563
45564         dup2: work around mingw and cygwin 1.5 bug
45565         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
45566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45567         * modules/unistd (Makefile.am): Substitute it.
45568         * lib/unistd.in.h (dup2): Declare the replacement.
45569         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
45570         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
45571         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
45572         * modules/execute (Depends-on): Add dup2.
45573         * modules/fseterr (Depends-on): Likewise.
45574         * modules/pipe (Depends-on): Likewise.
45575         * modules/posix_spawn-internal (Depends-on): Likewise.
45576
45577 2009-07-21  Bruno Haible  <bruno@clisp.org>
45578
45579         * modules/.gitattributes: New file.
45580
45581 2009-07-20  Bruno Haible  <bruno@clisp.org>
45582
45583         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
45584         (main): Use it.
45585
45586 2009-07-20  Eric Blake  <ebb9@byu.net>
45587
45588         test-pipe: make a bit more robust.
45589         * tests/test-pipe.c (myerr): Allow error messages regardless of
45590         what we do to stderr.
45591         (test_pipe): Rearrange to avoid deadlock.
45592         (child_main): Try a larger read, to ensure we avoided deadlock.
45593         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
45594         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
45595         if misused.
45596
45597 2009-07-19  Jim Meyering  <meyering@redhat.com>
45598
45599         fts: avoid false-positive cycle-detection
45600         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
45601         for each new command line argument.
45602
45603 2009-07-19  Bruno Haible  <bruno@clisp.org>
45604
45605         Fix build error on mingw with the modules sys_select and unistd.
45606         * modules/acl-tests (Depends-on): Add close.
45607         * modules/binary-io-tests (Depends-on): Likewise.
45608         * modules/closein-tests (Depends-on): Likewise.
45609         * modules/flock-tests (Depends-on): Likewise.
45610         * modules/fsync-tests (Depends-on): Likewise.
45611         * modules/lseek-tests (Depends-on): Likewise.
45612         * modules/pipe-tests (Depends-on): Likewise.
45613         * modules/posix_spawn-tests (Depends-on): Likewise.
45614         * modules/posix_spawnp-tests (Depends-on): Likewise.
45615         * modules/stat-time-tests (Depends-on): Likewise.
45616         * modules/yesno-tests (Depends-on): Likewise.
45617
45618 2009-07-19  Bruno Haible  <bruno@clisp.org>
45619
45620         Unify conditionals.
45621         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
45622         macros, not at the compiler macros.
45623         * lib/pipe.c: Likewise.
45624         * lib/execute.c: Likewise.
45625         * lib/spawni.c: Likewise.
45626
45627 2009-07-19  Bruno Haible  <bruno@clisp.org>
45628
45629         Fix handling of closed stdin/stdout/stderr on mingw.
45630         * lib/w32spawn.h: Include unistd.h.
45631         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
45632         file descriptor with O_NOINHERIT flag.
45633         (fd_safer_noinherit): New function, based on fd-safer.c.
45634         (dup_safer_noinherit): New function, based on dup-safer.c.
45635         (undup_safer_noinherit): New function.
45636         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
45637         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
45638         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
45639         instead of fd_safer.
45640         * tests/test-pipe.c: Include <windows.h>.
45641         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
45642         result.
45643
45644         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
45645         from main.
45646         (test_pipe): Pass an extra argument for disambiguation.
45647         (main): Invoke parent_main or child_main.
45648
45649         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
45650         consistently.
45651
45652 2009-07-18  Eric Blake  <ebb9@byu.net>
45653
45654         test-pipe: fix mingw build
45655         * tests/test-pipe.c (main): Avoid fcntl on mingw.
45656
45657 2009-07-18  Bruno Haible  <bruno@clisp.org>
45658
45659         * modules/pipe-tests (Makefile.am): Fix typo.
45660
45661 2009-07-18  Eric Blake  <ebb9@byu.net>
45662
45663         error: fix mingw build
45664         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
45665         Reported by Bruno Haible.
45666
45667         error: avoid undefined use of stdout
45668         * lib/error.c (error, error_at_line): Check that fd 1 is open
45669         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
45670         is handling faults and the close_stdout module wants to report the
45671         detection of closed stdout as an error.
45672
45673 2009-07-17  Eric Blake  <ebb9@byu.net>
45674
45675         pipe: be robust in face of closed fds
45676         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
45677         should cause child to misbehave.
45678         * modules/pipe-tests: New module.
45679         * tests/test-pipe.c: New file.
45680         * tests/test-pipe.sh: New file.
45681         Reported by Akim Demaille.
45682
45683 2009-07-14  Bruno Haible  <bruno@clisp.org>
45684
45685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
45686         Reported by anonymous kc.
45687
45688 2009-07-07  Jim Meyering  <meyering@redhat.com>
45689
45690         maint.mk: don't look for translatable strings in *.m4 or *.mk
45691         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
45692         when searching for translatable strings.
45693
45694 2009-07-05  Jim Meyering  <meyering@redhat.com>
45695
45696         remove superfluous parentheses in STREQ definition
45697         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
45698         * lib/getugroups.c (STREQ): Likewise.
45699         * lib/fnmatch.c (STREQ): Likewise.
45700         Spotted by Bruno Haible.
45701
45702 2009-07-04  Jim Meyering  <meyering@redhat.com>
45703
45704         argv-iter: new module
45705         * MODULES.html.sh: Add argv-iter.
45706         * lib/argv-iter.c, lib/argv-iter.h: New files.
45707         * modules/argv-iter: New file.
45708         * modules/argv-iter-tests: New file.
45709         * tests/test-argv-iter.c: Test it.
45710
45711 2009-07-04  Bruno Haible  <bruno@clisp.org>
45712
45713         Fix assertion.
45714         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
45715         contains more exact copies of a given entry than file2, leave the extra
45716         copies unpaired rather than aborting.
45717         Reported by Eric Blake.
45718
45719 2009-07-02  Bruno Haible  <bruno@clisp.org>
45720
45721         Speedup git-merge-changelog for git cherry-pick.
45722         * lib/git-merge-changelog.c (struct entries_mapping): New type.
45723         (entries_mapping_get): New function, extracted from compute_mapping.
45724         (entries_mapping_reverse_get): New function.
45725         (compute_mapping): Add a 'full' argument. Return the result in a
45726         'struct entries_mapping'.
45727         (main): Update. Access the mappings through entries_mapping_get.
45728         Reported by Eric Blake.
45729
45730 2009-07-02  Bruno Haible  <bruno@clisp.org>
45731
45732         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
45733         best_i.
45734
45735 2009-07-02  Bruno Haible  <bruno@clisp.org>
45736
45737         Speed up approximate search for matching ChangeLog entries.
45738         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
45739         argument. Call fstrcmp_bounded instead of fstrcmp.
45740         (compute_mapping, try_split_merged_entry, main): Update callers.
45741
45742 2009-07-02  Bruno Haible  <bruno@clisp.org>
45743
45744         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
45745
45746 2009-06-30  Bruno Haible  <bruno@clisp.org>
45747
45748         Reduce the number of uc_is_cased calls.
45749         * lib/unicase.h (casing_suffix_context_t): Add
45750         'first_char_except_ignorable' field.
45751         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
45752         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
45753         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
45754         Update initializer.
45755         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
45756         case-ignorable characters.
45757         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
45758         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
45759         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
45760         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
45761         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
45762
45763 2009-06-30  Bruno Haible  <bruno@clisp.org>
45764
45765         Tests for module 'unicase/ignorable'.
45766         * modules/unicase/ignorable-tests: New file.
45767         * tests/unicase/test-ignorable.c: New file, generated by
45768         gen-uni-tables.
45769
45770         Tests for module 'unicase/cased'.
45771         * modules/unicase/cased-tests: New file.
45772         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
45773         * tests/unicase/test-predicate-part1.h: New file, derived from
45774         tests/unictype/test-predicate-part1.h.
45775         * tests/unicase/test-predicate-part2.h: New file, same as
45776         tests/unictype/test-predicate-part2.h.
45777
45778         Fix evaluation of "Before C" condition of FINAL_SIGMA.
45779         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
45780         (output_casing_properties): New function.
45781         (main): Call it.
45782         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
45783         * lib/unicase/cased.c: Include unictype/bitmap.h.
45784         (uc_is_cased): Define through a bitmap lookup.
45785         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
45786         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
45787         (uc_is_case_ignorable): Define through a bitmap lookup.
45788         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
45789         lib/unictype/bitmap.h.
45790         (Depends-on): Add inline. Clean up.
45791         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
45792         lib/unictype/bitmap.h.
45793         (Depends-on): Add inline. Clean up.
45794         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
45795         recognition.
45796         * tests/unicase/test-u16-tolower.c (main): Likewise.
45797         * tests/unicase/test-u32-tolower.c (main): Likewise.
45798
45799 2009-06-30  Bruno Haible  <bruno@clisp.org>
45800
45801         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
45802         * lib/unicase/u16-casemap.c: Likewise.
45803         * lib/unicase/u32-casemap.c: Likewise.
45804
45805 2009-06-29  Bruno Haible  <bruno@clisp.org>
45806
45807         Define u32_casefold as a wrapper around u32_ct_casefold.
45808         * lib/unicase/u32-casefold.c: Update.
45809         * modules/unicase/u32-casefold (Depends-on): Add
45810         unicase/u32-ct-casefold, unicase/empty-prefix-context,
45811         unicase/empty-suffix-context. Clean up.
45812
45813         Define u16_casefold as a wrapper around u16_ct_casefold.
45814         * lib/unicase/u16-casefold.c: Update.
45815         * modules/unicase/u16-casefold (Depends-on): Add
45816         unicase/u16-ct-casefold, unicase/empty-prefix-context,
45817         unicase/empty-suffix-context. Clean up.
45818
45819         Define u8_casefold as a wrapper around u8_ct_casefold.
45820         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
45821         * lib/unicase/u8-casefold.c: Update.
45822         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
45823         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45824
45825         Define u32_totitle as a wrapper around u32_ct_totitle.
45826         * lib/unicase/u32-totitle.c: Update.
45827         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
45828         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45829
45830         Define u16_totitle as a wrapper around u16_ct_totitle.
45831         * lib/unicase/u16-totitle.c: Update.
45832         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
45833         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45834
45835         Define u8_totitle as a wrapper around u8_ct_totitle.
45836         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
45837         functions.
45838         (FUNC): Delegate to U_CT_TOTITLE.
45839         * lib/unicase/u8-totitle.c: Update.
45840         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
45841         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45842
45843         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
45844         invocation.
45845         * modules/unicase/u32-tolower (Depends-on): Add
45846         unicase/empty-prefix-context, unicase/empty-suffix-context.
45847
45848         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
45849         invocation.
45850         * modules/unicase/u16-tolower (Depends-on): Add
45851         unicase/empty-prefix-context, unicase/empty-suffix-context.
45852
45853         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
45854         * modules/unicase/u8-tolower (Depends-on): Add
45855         unicase/empty-prefix-context, unicase/empty-suffix-context.
45856
45857         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
45858         invocation.
45859         * modules/unicase/u32-toupper (Depends-on): Add
45860         unicase/empty-prefix-context, unicase/empty-suffix-context.
45861
45862         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
45863         invocation.
45864         * modules/unicase/u16-toupper (Depends-on): Add
45865         unicase/empty-prefix-context, unicase/empty-suffix-context.
45866
45867         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
45868         * modules/unicase/u8-toupper (Depends-on): Add
45869         unicase/empty-prefix-context, unicase/empty-suffix-context.
45870
45871         New module 'unicase/u32-ct-casefold'.
45872         * lib/unicase/u32-ct-casefold.c: New file.
45873         * modules/unicase/u32-ct-casefold: New file.
45874
45875         New module 'unicase/u16-ct-casefold'.
45876         * lib/unicase/u16-ct-casefold.c: New file.
45877         * modules/unicase/u16-ct-casefold: New file.
45878
45879         New module 'unicase/u8-ct-casefold'.
45880         * lib/unicase/u8-ct-casefold.c: New file.
45881         * lib/unicase/u-ct-casefold.h: New file, derived from
45882         lib/unicase/u-casefold.h.
45883         * modules/unicase/u8-ct-casefold: New file.
45884
45885         New module 'unicase/u32-ct-totitle'.
45886         * lib/unicase/u32-ct-totitle.c: New file.
45887         * modules/unicase/u32-ct-totitle: New file.
45888
45889         New module 'unicase/u16-ct-totitle'.
45890         * lib/unicase/u16-ct-totitle.c: New file.
45891         * modules/unicase/u16-ct-totitle: New file.
45892
45893         New module 'unicase/u8-ct-totitle'.
45894         * lib/unicase/u8-ct-totitle.c: New file.
45895         * lib/unicase/u-ct-totitle.h: New file, derived from
45896         lib/unicase/u-totitle.h.
45897         * modules/unicase/u8-ct-totitle: New file.
45898
45899         New module 'unicase/u32-ct-tolower'.
45900         * lib/unicase/u32-ct-tolower.c: New file.
45901         * modules/unicase/u32-ct-tolower: New file.
45902
45903         New module 'unicase/u16-ct-tolower'.
45904         * lib/unicase/u16-ct-tolower.c: New file.
45905         * modules/unicase/u16-ct-tolower: New file.
45906
45907         New module 'unicase/u8-ct-tolower'.
45908         * lib/unicase/u8-ct-tolower.c: New file.
45909         * modules/unicase/u8-ct-tolower: New file.
45910
45911         New module 'unicase/u32-ct-toupper'.
45912         * lib/unicase/u32-ct-toupper.c: New file.
45913         * modules/unicase/u32-ct-toupper: New file.
45914
45915         New module 'unicase/u16-ct-toupper'.
45916         * lib/unicase/u16-ct-toupper.c: New file.
45917         * modules/unicase/u16-ct-toupper: New file.
45918
45919         New module 'unicase/u8-ct-toupper'.
45920         * lib/unicase/u8-ct-toupper.c: New file.
45921         * modules/unicase/u8-ct-toupper: New file.
45922
45923         Add context arguments to u*_casemap functions.
45924         * lib/unicase/unicasemap.h: Include unicase.h.
45925         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
45926         suffix_context arguments.
45927         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
45928         functions.
45929         (FUNC): Add prefix_context and suffix_context arguments. Use
45930         uc_is_cased and uc_is_case_ignorable.
45931         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
45932         * lib/unicase/u16-casemap.c: Likewise.
45933         * lib/unicase/u32-casemap.c: Likewise.
45934         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
45935         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45936         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
45937         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45938         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
45939         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45940
45941         New module 'unicase/u32-suffix-context'.
45942         * lib/unicase/u32-suffix-context.c: New file.
45943         * modules/unicase/u32-suffix-context: New file.
45944
45945         New module 'unicase/u16-suffix-context'.
45946         * lib/unicase/u16-suffix-context.c: New file.
45947         * modules/unicase/u16-suffix-context: New file.
45948
45949         New module 'unicase/u8-suffix-context'.
45950         * lib/unicase/u8-suffix-context.c: New file.
45951         * lib/unicase/u-suffix-context.h: New file.
45952         * modules/unicase/u8-suffix-context: New file.
45953
45954         New module 'unicase/empty-suffix-context'.
45955         * lib/unicase/empty-suffix-context.c: New file.
45956         * modules/unicase/empty-suffix-context: New file.
45957
45958         New module 'unicase/u32-prefix-context'.
45959         * lib/unicase/u32-prefix-context.c: New file.
45960         * modules/unicase/u32-prefix-context: New file.
45961
45962         New module 'unicase/u16-prefix-context'.
45963         * lib/unicase/u16-prefix-context.c: New file.
45964         * modules/unicase/u16-prefix-context: New file.
45965
45966         New module 'unicase/u8-prefix-context'.
45967         * lib/unicase/u8-prefix-context.c: New file.
45968         * lib/unicase/u-prefix-context.h: New file.
45969         * lib/unicase/context.h: New file.
45970         * modules/unicase/u8-prefix-context: New file.
45971
45972         New module 'unicase/empty-prefix-context'.
45973         * lib/unicase/empty-prefix-context.c: New file.
45974         * modules/unicase/empty-prefix-context: New file.
45975
45976         New module 'unicase/ignorable'.
45977         * lib/unicase/ignorable.c: New file.
45978         * modules/unicase/ignorable: New file.
45979
45980         New module 'unicase/cased'.
45981         * lib/unicase/caseprop.h: New file.
45982         * lib/unicase/cased.c: New file.
45983         * modules/unicase/cased: New file.
45984
45985         New functions for case mapping of substrings.
45986         * lib/unicase.h (casing_prefix_context_t): New type.
45987         (unicase_empty_prefix_context): New variable.
45988         (u8_casing_prefix_context, u16_casing_prefix_context,
45989         u32_casing_prefix_context, u8_casing_prefixes_context,
45990         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45991         declarations.
45992         (casing_suffix_context_t): New type.
45993         (unicase_empty_suffix_context): New variable.
45994         (u8_casing_suffix_context, u16_casing_suffix_context,
45995         u32_casing_suffix_context, u8_casing_suffixes_context,
45996         u16_casing_suffixes_context, u32_casing_suffixes_context,
45997         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45998         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45999         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
46000         declarations.
46001
46002 2009-06-28  Jim Meyering  <meyering@redhat.com>
46003
46004         boostrap: indent only with spaces
46005         * build-aux/bootstrap: Indent only with spaces, never TABs.
46006
46007         bootstrap: split long lines
46008         * build-aux/bootstrap: Keep line length < 80.
46009
46010         bootstrap: sync from coreutils
46011         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
46012         just as autoreconf does.  Verify a list of prerequisite
46013         package-name,version-number pairs if defined in bootstrap.conf.
46014         Refer to README-prereq, if prerequisites are not satisfied.
46015
46016 2009-06-27  Eric Blake  <ebb9@byu.net>
46017
46018         tests: add test for bogus NULL definition
46019         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
46020         * tests/test-stdlib.c: Likewise.
46021         * tests/test-string.c: Likewise.
46022         * tests/test-locale.c: Likewise.
46023         * tests/test-unistd.c: Likewise.
46024         * modules/stdio-tests (Depends-on): Add verify.
46025         * modules/stdlib-tests (Depends-on): Likewise.
46026         * modules/string-tests (Depends-on): Likewise.
46027         * modules/locale-tests (Depends-on): Likewise.
46028         * modules/unistd-tests (Depends-on): Likewise.
46029
46030 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
46031
46032         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
46033         self-explaining comment.
46034         * m4/selinux-selinux-h: Update serial.
46035         (gl_LIBSELINUX): New macro, adding a warning for missing development
46036         packages to code extracted from...
46037         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
46038         Add warning for missing development packages here, too.
46039
46040 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
46041
46042         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
46043
46044 2009-06-25  Eric Blake  <ebb9@byu.net>
46045
46046         version-etc: fix regression
46047         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
46048         gcc.
46049         (version_etc): Use it, to catch bugs with trailing NULL.
46050         * lib/version-etc.c (version_etc_arn): Delete unused argument.
46051         (version_etc_va): Fix logic bug.
46052         * modules/version-etc-tests: Add test.
46053         * tests/test-version-etc.c: New file.
46054         * tests/test-version-etc.sh: Likewise.
46055
46056 2009-06-25  Sam Steingold  <sds@gnu.org>
46057
46058         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
46059         mbtowc declaration.
46060
46061 2009-06-25  Eric Blake  <ebb9@byu.net>
46062
46063         fpurge: migrate into <stdio.h>
46064         * lib/fpurge.h: Delete...
46065         * lib/stdio.in.h (fpurge): ...and declare here, instead.
46066         * lib/fpurge.c (fpurge): Change declaring header.
46067         * modules/fpurge (Files): Drop deleted file.
46068         (Depends-on): Add stdio.
46069         (configure.ac): Set witness.
46070         * modules/stdio (Makefile.am): Support fpurge macros.
46071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46072         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
46073         * lib/fflush.c: Update client.
46074         * tests/test-fpurge.c: Likewise.
46075         * NEWS: Mention the change.
46076
46077 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46078
46079         * lib/argp-version-etc.c (program_authors): Add const
46080         qualifier.
46081         * lib/version-etc.c: Fix typos in the comments.
46082         * modules/argp-version-etc: Depends on version-etc.
46083
46084 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46085
46086         argp-version-etc: new module.
46087
46088         * lib/argp-version-etc.c: New file.
46089         * lib/argp-version-etc.h: New file.
46090         * modules/argp-version-etc: New file.
46091         * modules/argp-version-etc-tests: New file.
46092         * tests/test-argp-version-etc.c: New test.
46093         * tests/test-argp-version-etc-1.sh: New test.
46094
46095 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46096
46097         Provide additional interfaces and documentation for version-etc
46098         module.
46099
46100         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
46101         interfaces.
46102         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
46103         prototypes.
46104
46105 2009-06-24  Bruno Haible  <bruno@clisp.org>
46106
46107         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
46108         HAVE_LIB${NAME} macro.
46109         Reported by Sam Steingold <sds@gnu.org>.
46110
46111 2009-06-23  Simon Josefsson  <simon@josefsson.org>
46112
46113         * modules/hash-tests (test_hash_LDADD): Link to libintl when
46114         needed.
46115
46116 2009-06-21  Bruno Haible  <bruno@clisp.org>
46117
46118         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
46119         work.
46120         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
46121         together with LIB${NAME}, LTLIB${NAME}.
46122         Reported by Sam Steingold <sds@gnu.org>.
46123
46124 2009-06-20  Jim Meyering  <meyering@redhat.com>
46125
46126         tests: make sc_require_test_exit_idiom more generic
46127         * top/maint.mk (Exit_witness_file): New overridable variable.
46128         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
46129         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
46130
46131 2009-06-19  Jim Meyering  <meyering@redhat.com>
46132
46133         hash: reverse order of src/dst parameters in an internal interface
46134         * lib/hash.c (transfer_entries): Reverse order of parameters to
46135         put DST before SRC.  Adjust callers.
46136
46137         tests: test-hash: avoid wholesale duplication
46138         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
46139         Instead, use a loop and add a single conditional.
46140
46141         tests: test-hash: allow seed selection via a command line argument
46142         * tests/test-hash.c (get_seed): New function.
46143         (main): Use it.
46144
46145 2009-06-19  Eric Blake  <ebb9@byu.net>
46146
46147         hash: avoid memory leak on allocation failure
46148         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
46149         failure.  Factor repeated algorithm...
46150         (transfer_entries): ...into new helper routine.
46151         (hash_delete): React to hash_rehash return value.
46152
46153         hash: reduce memory pressure in hash_rehash no-op case
46154         * lib/hash.c (next_prime): Avoid overflow.
46155         (hash_initialize): Factor bucket size computation...
46156         (compute_bucket_size): ...into new helper function.
46157         (hash_rehash): Use new function and open coding to reduce memory
46158         pressure, and avoid a memory leak in USE_OBSTACK code.
46159         Reported by Jim Meyering.
46160
46161 2009-06-18  Eric Blake  <ebb9@byu.net>
46162
46163         hash: make rotation more obvious
46164         * modules/hash (Depends-on): Add bitrotate and stdint.
46165         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
46166         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
46167         (SIZE_MAX): Rely on headers for definition.
46168         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
46169         (raw_hasher): Use rotr_sz.
46170         Suggested by Jim Meyering.
46171
46172         hash: fix memory leak in last patch
46173         * lib/hash.c (hash_rehash): Avoid memory leak.
46174
46175         hash: avoid no-op rehashing
46176         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
46177
46178         hash: provide default callback functions
46179         * lib/hash.c (raw_hasher, raw_comparator): New functions.
46180         (hash_initialize): Use them as defaults.
46181         * tests/test-hash.c (main): Test this.
46182
46183         hash: minor optimization
46184         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
46185         when possible.
46186         (hash_initialize): Document this promise.
46187         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
46188         * tests/test-hash.c (hash_compare_strings): Test this.
46189
46190 2009-06-18  Bruno Haible  <bruno@clisp.org>
46191
46192         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
46193         going to be replaced anyway.
46194
46195 2009-06-18  Bruno Haible  <bruno@clisp.org>
46196
46197         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
46198         in one place.
46199         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
46200         be replaced anyway.
46201
46202 2009-06-18  Eric Blake  <ebb9@byu.net>
46203
46204         hash: check for resize before insertion
46205         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
46206         threshold before insertion, so that a pathological hash_rehash
46207         that fills every bucket can still trigger another rehash.
46208
46209 2009-06-18  Jim Meyering  <meyering@redhat.com>
46210
46211         hash-tests: add a loop around the small tests
46212         * tests/test-hash.c (main): Repeat small tests with selected
46213         small initial table sizes.
46214
46215 2009-06-17  Eric Blake  <ebb9@byu.net>
46216
46217         hash: minor cleanups
46218         * lib/hash.h (hash_entry): Make opaque, by moving...
46219         * lib/hash.c (hash_entry): ...here.
46220         (hash_insert): Clarify restrictions on what can be inserted.
46221         (hash_get_next): Clarify when it is safe to remove an element
46222         during traversal.
46223         (check_tuning): Skip verification when tuning is known safe.
46224         (hash_initialize): Clarify restrictions on tuning.
46225
46226 2009-06-17  Jim Meyering  <jim@meyering.net>
46227         and Eric Blake  <ebb9@byu.net>
46228
46229         hash-tests: new module
46230         * modules/hash-tests: New file.
46231         * tests/test-hash.c: New file.
46232
46233 2009-06-17  Eric Blake  <ebb9@byu.net>
46234
46235         strstr-simple: document new module
46236         * MODULES.html.sh: Document new module.
46237
46238         strstr, strcasestr: replace on platforms with broken memchr
46239         * modules/strstr: Split into...
46240         * modules/strstr-simple: ...new module that does not care about
46241         performance, but does care about glibc bug.
46242         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
46243         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
46244         if platform memchr is broken, per Debian bug 521737.
46245         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
46246         memchr.
46247         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
46248         * doc/posix-functions/strstr.texi (strstr): Document the fix.
46249         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46250         * modules/mountlist (Depends-on): Add strstr-simple.
46251         * modules/gen-uni-tables (Depends-on): Likewise.
46252         * modules/argz (Depends-on): Add strstr.
46253
46254 2009-06-17  Bruno Haible  <bruno@clisp.org>
46255
46256         * modules/posix_spawn-internal (Depends-on): Add errno.
46257
46258 2009-06-17  Bruno Haible  <bruno@clisp.org>
46259
46260         Define missing ESTALE on Interix 3.5.
46261         * lib/errno.in.h (ESTALE): Assign a value if missing.
46262         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
46263         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
46264         missing.
46265         * doc/posix-headers/errno.texi: Mention the Interix bug.
46266         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
46267
46268 2009-06-15  Eric Blake  <ebb9@byu.net>
46269
46270         memchr, memchr2: add valgrind exception
46271         * lib/memchr.valgrind: New file.
46272         * lib/memchr2.valgrind: New file.
46273         * modules/memchr (Files): Distribute valgrind file.
46274         * modules/memchr2 (Files): Likewise.
46275
46276         docs: memchr is no longer obsolete
46277         * MODULES.html.sh: Move memchr from obsolete to string.h section.
46278         * lib/string.in.h (memchr): Simplify logic.
46279
46280 2009-06-14  Jim Meyering  <meyering@redhat.com>
46281
46282         link-follow: fix the "checking..." message to not mention trailing slash
46283         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
46284         never considered trailing slashes.
46285
46286 2009-06-14  Bruno Haible  <bruno@clisp.org>
46287
46288         * m4/memchr.m4: Mention also the bug on IA-64.
46289         * doc/posix-functions/memchr.texi: Likewise.
46290
46291 2009-06-12  Eric Blake  <ebb9@byu.net>
46292
46293         memchr: detect broken x86_64 and alpha implementations
46294         * modules/memchr-tests (Depends-on): Move mmap detection...
46295         * modules/memchr (Depends-on): ...here.
46296         (configure.ac): Set indicator.
46297         * lib/string.in.h (memchr): Declare replacement.
46298         * modules/string (Makefile.am): Trigger replacement.
46299         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
46300         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
46301         bugs.
46302         * doc/posix-functions/memchr.texi (memchr): Document the bug.
46303         * modules/getpagesize (License): Relax license.
46304
46305 2009-06-11  Bruno Haible  <bruno@clisp.org>
46306
46307         * lib/idpriv.h: Add more references.
46308
46309 2009-06-08  Bruno Haible  <bruno@clisp.org>
46310
46311         Tests for module 'idpriv-droptemp'.
46312         * modules/idpriv-droptemp-tests: New file.
46313         * tests/test-idpriv-droptemp.sh: New file.
46314         * tests/test-idpriv-droptemp.su.sh: New file.
46315         * tests/test-idpriv-droptemp.c: New file.
46316
46317         New module 'idpriv-droptemp'.
46318         * lib/idpriv-droptemp.c: New file.
46319         * modules/idpriv-droptemp: New file.
46320
46321 2009-06-08  Bruno Haible  <bruno@clisp.org>
46322
46323         Tests for module 'idpriv-drop'.
46324         * modules/idpriv-drop-tests: New file.
46325         * tests/test-idpriv-drop.sh: New file.
46326         * tests/test-idpriv-drop.su.sh: New file.
46327         * tests/test-idpriv-drop.c: New file.
46328
46329         New module 'idpriv-drop'.
46330         * lib/idpriv.h: New file.
46331         * lib-idpriv-drop.c: New file.
46332         * m4/idpriv.m4: New file.
46333         * modules/idpriv-drop: New file.
46334
46335 2009-06-08  Bruno Haible  <bruno@clisp.org>
46336
46337         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
46338         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46339         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46340         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46341         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46342         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46343         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46344
46345 2009-06-08  Eric Blake  <ebb9@byu.net>
46346
46347         test-strstr: use memory fence, when possible
46348         * tests/test-strstr.c (main): Use memory fence, in order to be
46349         more likely to trigger Debian bug 521737.
46350         * modules/strstr-tests (Files): Pull in additional files.
46351
46352         memchr: no longer obsolete, for wider field testing
46353         * modules/memchr (Status, Notice): Delete, this module is no
46354         longer obsolete.
46355         * modules/vasnprintf (Depends-on): Add memchr.
46356
46357 2009-06-07  Jim Meyering  <meyering@redhat.com>
46358
46359         hash: declare some functions with the warn_unused_result attribute
46360         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
46361
46362 2009-06-07  Bruno Haible  <bruno@clisp.org>
46363
46364         * tests/test-alignof.c: Don't test int64_t if it does not exist.
46365         Reported by Eric Blake.
46366
46367 2009-06-06  Eric Blake  <ebb9@byu.net>
46368
46369         test-alignof: fix typo with long double
46370         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
46371         compiler error.
46372
46373 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
46374
46375         Escape non-texinfo { and }s.
46376         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
46377         markup error.
46378
46379 2009-06-04  Jim Meyering  <meyering@redhat.com>
46380
46381         gitlog-to-changelog: don't infloop on an empty commit log
46382         * build-aux/gitlog-to-changelog: Warn about an empty log message.
46383         Reported by Boris Petersen <transacid@centerim.org>.
46384
46385 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
46386
46387         version-etc: extend for packagers
46388         Add three new configure options, intended for packagers:
46389           --with-packager="packager name"
46390           --with-packager-version="packager-specific version"
46391           --with-packager-bug-reports="packager bug reporting"
46392         An example with coreutils:
46393           $ ./configure \
46394             --with-packager=Gentoo \
46395             --with-packager-bug-report=http://bugs.gentoo.org/ \
46396             --with-packager-version="patchset 1.6"
46397           $ ./src/ls --version | head -n2
46398           ls (GNU coreutils) 7.1-dirty
46399           Packaged by Gentoo (patchset 1.6)
46400         Note that the bug reporting info via --help doesn't show up because
46401         coreutils uses its own custom emit_bug_reporting_address() implementation
46402         in src/system.h.  If it didn't, it'd look like:
46403           $ ./src/ls --help | tail -n4
46404           Report bugs to <bug-coreutils@gnu.org>.
46405           Report Gentoo bugs to <http://bugs.gentoo.org/>.
46406           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
46407           General help using GNU software: <http://www.gnu.org/gethelp/>.
46408         * lib/version-etc.c: Print new information, if provided.
46409         * m4/version-etc.m4: New file.
46410         * modules/version-etc (Files): Add m4/version-etc.m4.
46411         (configure.ac): Add gl_VERSION_ETC.
46412
46413 2009-05-31  Bruno Haible  <bruno@clisp.org>
46414
46415         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
46416         and 'int64_t'.
46417         * modules/alignof-tests (Dependencies): Add stdint.
46418         Reported by Eric Blake.
46419
46420 2009-05-31  Bruno Haible  <bruno@clisp.org>
46421
46422         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
46423         restriction due to compiler bugs.
46424         Reported by Eric Blake.
46425
46426 2009-05-31  Simon Josefsson  <simon@josefsson.org>
46427             Bruno Haible  <bruno@clisp.org>
46428
46429         Fix test-alignof failure.
46430         * lib/alignof.h (alignof_slot): New macro.
46431         (alignof_type): New macro, with the same semantics as the previous
46432         'alignof'.
46433         (alignof): Alias to alignof_slot.
46434         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
46435         check that the results are usable as constant expressions.
46436
46437 2009-05-31  Bruno Haible  <bruno@clisp.org>
46438
46439         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
46440         * tests/test-memchr.c (main): Check that memchr does not read past the
46441         first occurrence of the byte.
46442         * tests/test-strstr.c (main): Update comment.
46443         Suggested by Eric Blake.
46444
46445 2009-05-30  Bruno Haible  <bruno@clisp.org>
46446
46447         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
46448         detail how to use dumpbin.
46449         Reported by David Byron <dbyron@dbyron.com>.
46450
46451 2009-06-02  Simon Josefsson  <simon@josefsson.org>
46452
46453         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
46454
46455 2009-06-02  Simon Josefsson  <simon@josefsson.org>
46456
46457         * m4/manywarnings.m4: Add GCC 4.4 warnings.
46458
46459 2009-05-28  Bruno Haible  <bruno@clisp.org>
46460
46461         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
46462         build-aux/ files.
46463
46464 2009-05-28  Simon Josefsson  <simon@josefsson.org>
46465
46466         * gnulib-tool (func_import): Transform license on build-aux/ files too.
46467
46468 2009-05-27  Simon Josefsson  <simon@josefsson.org>
46469
46470         * gnulib-tool (sed_transform_main_lib_file)
46471         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
46472         regexps.
46473
46474 2009-05-26  Simon Josefsson  <simon@josefsson.org>
46475
46476         * tests/test-strstr.c: Add another self-test.
46477         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
46478         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
46479
46480 2009-05-23  Bruno Haible  <bruno@clisp.org>
46481
46482         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
46483         change.
46484
46485 2009-05-21  Bruno Haible  <bruno@clisp.org>
46486
46487         Simplify use of mode_t varargs.
46488         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
46489         uses 'mode_t' or 'int'.
46490         * lib/openat.c (openat): Likewise.
46491         * lib/open-safer.c (open_safer): Likewise.
46492         * m4/mode_t.m4: New file.
46493         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
46494         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
46495         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
46496         * modules/open (Files): Add m4/mode_t.m4.
46497         * modules/openat (Files): Likewise.
46498         * modules/fcntl-safer (Files): Likewise.
46499         Suggested by Eric Blake.
46500
46501 2009-05-21  Pádraig Brady  <P@draigbrady.com>
46502
46503         * doc/glibc-functions/fallocate.texi: New file.
46504         * doc/gnulib.texi: Include it.
46505
46506 2009-05-21  Eric Blake  <ebb9@byu.net>
46507             Bruno Haible  <bruno@clisp.org>
46508
46509         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
46510         invocations.
46511         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46512
46513 2009-05-21  Eric Blake  <ebb9@byu.net>
46514             Bruno Haible  <bruno@clisp.org>
46515
46516         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
46517         include_next. Fix of 2008-11-20 commit.
46518         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
46519         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
46520         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
46521         NEXT_MATH_H.
46522         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
46523         instead of NEXT_MATH_H.
46524
46525 2009-05-21  Bruno Haible  <bruno@clisp.org>
46526
46527         Avoid redefinition warnings for SIZE_MAX.
46528         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
46529         Reported by Simon Josefsson.
46530
46531 2009-05-21  Bruno Haible  <bruno@clisp.org>
46532
46533         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
46534         AC_CACHE_VAL.
46535
46536 2009-05-20  Bruno Haible  <bruno@clisp.org>
46537
46538         Make zeroptr.h work on mingw.
46539         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
46540         mprotect.
46541         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
46542         * modules/memchr2-tests (configure.ac): Likewise.
46543         * modules/memcmp-tests (configure.ac): Likewise.
46544         * modules/memmem-tests (configure.ac): Likewise.
46545         * modules/memrchr-tests (configure.ac): Likewise.
46546         Reported by Simon Josefsson.
46547
46548 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46549
46550         * tests/test-glob.c: Include string.h for strcmp prototype.
46551
46552 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46553
46554         * modules/getdelim (Depends-on): Add explicit stdint, although it
46555         was implicitly already pulled in via realloc-posix.
46556         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
46557
46558 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46559
46560         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
46561         G. Christensen" <tgc@jupiterrise.com>.
46562         * m4/sys_socket_h.m4: Check for sa_family_t.
46563         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
46564         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
46565         * tests/test-sys_socket.c: Check that sa_family_t works.
46566
46567 2009-05-18  Eric Blake  <ebb9@byu.net>
46568
46569         maint.mk: allow gnulib_dir in VPATH build
46570         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
46571
46572 2009-05-15  Jim Meyering  <meyering@redhat.com>
46573
46574         maint.mk: Give gnulib_dir a default definition.
46575         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
46576         Thus, most packages no longer need to specify this variable in cfg.mk
46577
46578 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
46579
46580         rename.m4: fix typos that would make non-mingw cross-configure fail
46581         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
46582
46583 2009-05-13  Eric Blake  <ebb9@byu.net>
46584
46585         mmap-anon: avoid out-of-order autoconf expansion
46586         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
46587         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
46588         * modules/memchr-tests (Depends-on): Add extensions.
46589         * modules/memchr2-tests (Depends-on): Add extensions.
46590         * modules/memcmp-tests (Depends-on): Add extensions.
46591         * modules/memmem-tests (Depends-on): Add extensions.
46592         * modules/memrchr-tests (Depends-on): Add extensions.
46593
46594 2009-05-13  Bruno Haible  <bruno@clisp.org>
46595
46596         Make some tests ISO C 99 compliant.
46597         * tests/zerosize-ptr.h: New file.
46598         * tests/test-memchr.c: Include zerosize-ptr.h.
46599         (main): Use a zero-size object pointer instead of NULL.
46600         * tests/test-memchr2.c: Include zerosize-ptr.h.
46601         (main): Use a zero-size object pointer instead of NULL.
46602         * tests/test-memcmp.c: Include zerosize-ptr.h.
46603         (main): Use a zero-size object pointer instead of NULL.
46604         * tests/test-memmem.c: Include zerosize-ptr.h.
46605         (main): Use a zero-size object pointer instead of NULL.
46606         * tests/test-memrchr.c: Include zerosize-ptr.h.
46607         (main): Use a zero-size object pointer instead of NULL.
46608         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
46609         m4/mmap-anon.m4.
46610         (Depends-on): Add getpagesize.
46611         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46612         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
46613         m4/mmap-anon.m4.
46614         (Depends-on): Add getpagesize.
46615         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46616         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
46617         m4/mmap-anon.m4.
46618         (Depends-on): Add getpagesize.
46619         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46620         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
46621         m4/mmap-anon.m4.
46622         (Depends-on): Add getpagesize.
46623         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46624         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
46625         m4/mmap-anon.m4.
46626         (Depends-on): Add getpagesize.
46627         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46628
46629 2009-05-12  Bruno Haible  <bruno@clisp.org>
46630
46631         Tests for module 'alignof'.
46632         * modules/alignof-tests: New file.
46633         * tests/test-alignof.c: New file.
46634
46635 2009-05-12  Bruno Haible  <bruno@clisp.org>
46636
46637         Fix alignof macro.
46638         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
46639         vendor compilers that are always correct.
46640
46641 2009-05-12  Bruno Haible  <bruno@clisp.org>
46642
46643         Make the MAP_ANONYMOUS detection work on HP-UX 11.
46644         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
46645         not whether its fully works.
46646
46647 2009-05-12  Bruno Haible  <bruno@clisp.org>
46648
46649         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
46650
46651 2009-05-12  Jim Meyering  <meyering@redhat.com>
46652
46653         * top/maint.mk: Adjust backslash alignment.
46654
46655 2009-05-11  Simon Josefsson  <simon@josefsson.org>
46656
46657         * top/maint.mk: Make $(srcdir)/build-aux configurable.
46658
46659 2009-05-11  Eric Blake  <ebb9@byu.net>
46660
46661         argp: avoid undefined behavior
46662         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
46663         macros.
46664
46665 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46666
46667         * tests/test-vc-list-files-git.sh: Do git config of user.email and
46668         user.name to prevent git commit from complaining.
46669
46670 2009-05-10  Bruno Haible  <bruno@clisp.org>
46671
46672         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
46673         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
46674         it rewrites every file name only once.
46675         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
46676
46677 2009-05-08  Bruno Haible  <bruno@clisp.org>
46678
46679         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
46680         instead of 'max'.
46681
46682 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46683
46684         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
46685         sockaddr_storage test.
46686
46687 2009-05-07  Simon Josefsson  <simon@josefsson.org>
46688
46689         * modules/sys_socket (Makefile.am): Substitute
46690         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
46691         * m4/sys_socket_h.m4: Check for sockaddr_storage.
46692         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
46693         * tests/test-sys_socket.c: Check sockaddr_storage.
46694
46695 2009-05-08  Bruno Haible  <bruno@clisp.org>
46696
46697         New module 'alignof'.
46698         * lib/alignof.h: New file.
46699         * modules/alignof: New file.
46700
46701 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46702             Bruno Haible  <bruno@clisp.org>
46703
46704         Fix test-file-has-acl on FreeBSD.
46705         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
46706         mask is implicitly added.
46707         * tests/test-file-has-acl.c: Include <signal.h>.
46708         (main): Terminate the test after 5 seconds.
46709         * modules/acl-tests (configure.ac): Check for alarm function.
46710
46711 2009-05-04  Bruno Haible  <bruno@clisp.org>
46712
46713         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
46714         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
46715         * modules/errno (configure.ac): Drop AC_REQUIRE.
46716         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
46717         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
46718
46719 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46720
46721         * modules/glob-tests: New module.
46722         * tests/test-glob.c: Add.
46723
46724 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46725
46726         * modules/fnmatch-tests: New module.
46727         * tests/test-fnmatch.c: Add.
46728
46729 2009-05-04  Eric Blake  <ebb9@byu.net>
46730
46731         maint: make the new no-submodule-changes rule VPATH-safe
46732         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
46733
46734 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46735             Bruno Haible  <bruno@clisp.org>
46736
46737         acl: Fix infinite loop on FreeBSD.
46738         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
46739         of return value from acl_get_entry.
46740         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
46741         Likewise.
46742
46743 2009-05-03  Bruno Haible  <bruno@clisp.org>
46744
46745         * lib/acl-internal.h (acl_entries): Clarify return value.
46746         * lib/acl_entries.c (acl_entries): Likewise.
46747
46748 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46749
46750         Bug fix in acl module.
46751         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
46752
46753 2009-05-03  Bruno Haible  <bruno@clisp.org>
46754
46755         Create gperf-generated file in the source dir, not in the build dir.
46756         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
46757         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
46758         * modules/unicase/locale-language (unicase/locale-languages.h):
46759         Likewise.
46760         * modules/unicase/special-casing (unicase/special-casing-table.h):
46761         Likewise.
46762         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
46763         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
46764         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
46765         Reported by Ralf Wildenhues.
46766
46767 2009-05-03  Bruno Haible  <bruno@clisp.org>
46768
46769         * modules/fnmatch (Description, configure.ac): Taken from
46770         fnmatch-posix.
46771         * modules/fnmatch-posix: Turn into a symbolic reference to the
46772         'fnmatch' module, and deprecate.
46773         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
46774
46775 2009-05-03  Bruno Haible  <bruno@clisp.org>
46776
46777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
46778         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
46779         Reported by Ralf Wildenhues.
46780
46781 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46782
46783         * m4/fnmatch.m4: Fix fnmatch re-define.
46784
46785 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46786
46787         priv-set: new module and tests; adapt write-any-file
46788         * lib/priv-set.c: New file.
46789         * lib/priv-set.h: New file.
46790         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
46791         * lib/write-any-file.c: Simplify by using priv-set module.
46792         * m4/priv-set.m4: New file.
46793         * modules/priv-set: New file.
46794         * modules/unlinkdir: Add dependency on priv-set module.
46795         * modules/write-any-file: Likewise.
46796
46797         Tests for module 'priv-set'.
46798         * modules/priv-set-tests: New file.
46799         * tests/test-priv-set.c: New file.
46800
46801 2009-05-03  Jim Meyering  <meyering@redhat.com>
46802             Bruno Haible  <bruno@clisp.org>
46803
46804         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
46805         use the converted UTF-8 variant of the name instead.
46806
46807 2009-05-03  Jim Meyering  <meyering@redhat.com>
46808
46809         tests: tighten some getdate tests
46810         * tests/test-getdate.c (main): Tighten tests: require equality,
46811         not just greater than.  Set TZ envvar to UTC0.
46812
46813 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
46814
46815         getdate: correctly interpret "next monday" when run on a Monday
46816         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
46817         that e.g., "next tues" (when run on a tuesday) results in a date
46818         that is one week in the future, and not today's date.
46819         I.e., add a week when the wday is the same as the current one.
46820         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
46821         and earlier by Martin Bernreuther and Jan Minář.
46822         * tests/test-getdate.c (main): Check that "next DAY" is always in
46823         the future and that "last DAY" is always in the past.
46824
46825 2009-05-02  Jim Meyering  <meyering@redhat.com>
46826
46827         build: ensure that a release build fails when a submodule is unclean
46828         * top/maint.mk (no-submodule-changes): New rule.
46829         (alpha beta major): Depend on it.
46830
46831 2009-05-02  Bruno Haible  <bruno@clisp.org>
46832
46833         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
46834         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
46835         shell variable gl_fnmatch_required to detect which variant is
46836         requested.
46837         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
46838         gl_FUNC_FNMATCH_POSIX.
46839         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
46840         exclude fnmatch-posix.
46841
46842 2009-05-02  Bruno Haible  <bruno@clisp.org>
46843
46844         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
46845         * modules/mbsrtowcs (License): Change to LGPLv2+.
46846         * modules/strnlen1 (License): Likewise.
46847         Reported by Simon Josefsson.
46848
46849 2009-05-02  Bruno Haible  <bruno@clisp.org>
46850
46851         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
46852         "cross".
46853         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
46854         gnulib-tool was called with option --source-base=lib.
46855
46856 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46857
46858         Use automake *-local hooks without commands, for extensibility.
46859         * modules/localcharset (Makefile.am): Rename install-exec-local
46860         rule to install-exec-localcharset, and make it a prerequisite of
46861         install-exec-local.  Likewise, rename the uninstall-local rule to
46862         uninstall-localcharset, and make it a prerequisite of the former.
46863
46864 2009-05-01  Bruno Haible  <bruno@clisp.org>
46865
46866         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
46867         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46868         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
46869         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
46870         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
46871         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46872         m4/locale-zh.m4, m4/codeset.m4.
46873
46874         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46875         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
46876         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46877         m4/locale-zh.m4.
46878
46879         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
46880         REPLACE_WCRTOMB if mbstate_t must be replaced.
46881         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
46882         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
46883
46884 2009-05-01  Bruno Haible  <bruno@clisp.org>
46885
46886         Avoid compiler warnings when redefining macros defined by <libintl.h>.
46887         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
46888         dngettext, dcngettext, textdomain, bindtextdomain,
46889         bind_textdomain_codeset): Undefine before redefining.
46890
46891 2009-04-30  Bruno Haible  <bruno@clisp.org>
46892
46893         Fix bug introduced on 2009-04-25.
46894         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
46895         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
46896         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
46897         is defined.
46898         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
46899         is defined.
46900         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
46901         is defined.
46902         Reported by Elbert_Pol <elbert.pol@gmail.com>.
46903
46904 2009-04-28  Bruno Haible  <bruno@clisp.org>
46905
46906         Comment tweaks.
46907         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
46908         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
46909         * lib/unicase.h (u*_casexfrm): Likewise.
46910         Reported by Paolo Bonzini.
46911
46912 2009-04-28  Bruno Haible  <bruno@clisp.org>
46913
46914         Fix a compilation error.
46915         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
46916         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46917         Reported by Jim Meyering.
46918
46919 2009-04-27  Bruno Haible  <bruno@clisp.org>
46920
46921         New module 'libunistring'.
46922         * modules/libunistring: New file.
46923         * m4/libunistring.m4: New file.
46924         * MODULES.html.sh (Unicode string functions): Add it.
46925
46926 2009-04-27  Eric Blake  <ebb9@byu.net>
46927
46928         maint.mk: allow package-specific header to provide <config.h>
46929         * top/maint.mk (sc_require_config_h): New variable.
46930         (sc_require_config_h, sc_require_config_h_first): Use it.
46931
46932 2009-04-27  Simon Josefsson  <simon@josefsson.org>
46933
46934         * top/maint.mk (sc_avoid_if_before_free): Except
46935         useless-if-before-free script.
46936
46937 2009-04-27  Eric Blake  <ebb9@byu.net>
46938
46939         maintainer-makefile: depend on all required helper scripts
46940         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
46941         useless-if-before-free.
46942         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46943         version, rather than assuming gnulib checkout is available.
46944         Reported by Simen Josefsson.
46945
46946 2009-04-26  Bruno Haible  <bruno@clisp.org>
46947
46948         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46949         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46950         "../" or "..".
46951
46952 2009-04-26  Bruno Haible  <bruno@clisp.org>
46953
46954         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46955         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46956         AC_LIB_HAVE_LINKFLAGS.
46957
46958 2009-04-26  Bruno Haible  <bruno@clisp.org>
46959
46960         Simplify calling convention of u*_conv_from_encoding.
46961         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46962         u32_conv_from_encoding): Expect a resultbuf argument and return the
46963         result directly as a pointer.
46964         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46965         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46966         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46967         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46968         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46969         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46970         Update.
46971         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46972         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46973         * lib/vasnprintf.c (VASNPRINTF): Update.
46974         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46975         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46976         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46977         * NEWS: Mention the change.
46978
46979 2009-04-26  Bruno Haible  <bruno@clisp.org>
46980
46981         Simplify calling convention of u*_conv_to_encoding.
46982         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46983         u32_conv_to_encoding): Expect a resultbuf argument and return the
46984         result directly as a pointer.
46985         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46986         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46987         freeing scaled_offsets if mem_iconveha failed.
46988         * lib/unicase/u-casexfrm.h (FUNC): Update.
46989         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46990         * lib/vasnprintf.c (VASNPRINTF): Update.
46991         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46992         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46993         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46994         * NEWS: Mention the change.
46995
46996 2009-04-26  Bruno Haible  <bruno@clisp.org>
46997
46998         Avoid test failures on AIX and OSF/1.
46999         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
47000         malloc(0).
47001         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
47002         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
47003         Likewise.
47004         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
47005         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
47006         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
47007         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
47008         * doc/posix-functions/malloc.texi: Document the portability problem
47009         related to malloc(0).
47010
47011 2009-04-26  Bruno Haible  <bruno@clisp.org>
47012
47013         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
47014         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
47015         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
47016
47017 2009-04-25  Bruno Haible  <bruno@clisp.org>
47018
47019         Avoid link error when creating a namespace clean library.
47020         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
47021         as macro with arguments if already defined as an alias.
47022         * lib/signbitf.c (gl_signbitf): Don't undefine.
47023         * lib/signbitd.c (gl_signbitd): Don't undefine.
47024         * lib/signbitl.c (gl_signbitl): Don't undefine.
47025
47026 2009-04-25  Jim Meyering  <meyering@redhat.com>
47027
47028         vc-list-files: fix another quoting bug
47029         * build-aux/vc-list-files: Avoid sed backslash expansion
47030         of pathological directory names.
47031
47032 2009-04-25  Eric Blake  <ebb9@byu.net>
47033
47034         vc-list-files: fix shell quoting error
47035         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
47036         timestamp.
47037
47038 2009-04-25  Jim Meyering  <meyering@redhat.com>
47039
47040         vc-list-files: restore lost functionality with subdir argument
47041         * build-aux/vc-list-files: When given a non-"." sub-directory
47042         argument, substitute the $dir/ prefix back onto each resulting name.
47043         Otherwise, coreutils' root_tests check would fail.
47044
47045 2009-04-24  Eric Blake  <ebb9@byu.net>
47046
47047         vc-list-files: ignore git symlinks
47048         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
47049         than ls-files, to ignore git symlinks.
47050
47051         maint.mk: import improvements from m4
47052         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
47053         (move_if_change): Delete unused macro.
47054         (news-date-check, vc-diff-check): Support VPATH builds.
47055         (announcement): Likewise.  Split --bootstrap-tools list...
47056         (boostrap-tools): ...into separate list, which can be overridden
47057         in cfg.mk.
47058         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
47059         requiring dependency on useless-if-before-free module.
47060         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
47061         Support VPATH builds.
47062
47063 2009-04-24  Jim Meyering  <meyering@redhat.com>
47064
47065         maint.mk: remove coreutils-specific rules and variables
47066         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
47067         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
47068         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
47069
47070         maint.mk: remove obsolete rule
47071         * top/maint.mk (rel-check): Remove rule.
47072         (WGET, WGETFLAGS): Remove now-unused variables.
47073
47074 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47075
47076         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
47077         consistency.
47078
47079         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
47080         '$(PATH_SEPARATOR)' instead of ':'.
47081
47082 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47083
47084         * lib/getopt1.c (main): Use 'const' for static array.
47085
47086 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47087
47088         * top/maint.mk: Sync with coreutils.
47089         * NEWS: Explain incompatibilities.
47090
47091 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47092             Bruno Haible  <bruno@clisp.org>
47093
47094         Fix cross-compilation results.
47095         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
47096         statement, as third argument of AC_TRY_RUN.
47097         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
47098         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
47099         Likewise.
47100         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
47101         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
47102         Likewise.
47103         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
47104         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
47105         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
47106
47107 2009-04-20  Bruno Haible  <bruno@clisp.org>
47108
47109         Avoid test failure on mingw.
47110         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
47111
47112 2009-04-20  Bruno Haible  <bruno@clisp.org>
47113
47114         Avoid compilation error on mingw.
47115         * modules/localename-tests (Depends-on): Add locale.
47116
47117 2009-04-19  Bruno Haible  <bruno@clisp.org>
47118
47119         Support for building a shared library on Windows platforms.
47120         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
47121         (main): Test the presence of UNINORM_NFC here.
47122         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
47123         (main): Test the presence of UNINORM_NFD here.
47124         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
47125         (main): Test the presence of UNINORM_NFKC here.
47126         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
47127         (main): Test the presence of UNINORM_NFKD here.
47128
47129 2009-04-19  Bruno Haible  <bruno@clisp.org>
47130
47131         Avoid a compiler warning.
47132         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
47133         Change type of variable 'sequence'.
47134
47135 2009-04-19  Bruno Haible  <bruno@clisp.org>
47136
47137         * modules/configmake (Makefile.am): When the contents of configmake.h
47138         does not change, arrange to preserve its modification time.
47139
47140 2009-04-17  Simon Josefsson  <simon@josefsson.org>
47141
47142         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
47143         gettext domain.
47144
47145 2009-04-16  Jim Meyering  <meyering@redhat.com>
47146
47147         useless-if-before-free: improve conversion code
47148         * build-aux/useless-if-before-free: Adjust code-in-comment to match
47149         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
47150
47151 2009-04-14  Bruno Haible  <bruno@clisp.org>
47152
47153         * modules/fcntl (Depends-on): Add extensions.
47154         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
47155
47156 2009-04-12  Ben Pfaff  <blp@gnu.org>
47157
47158         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
47159         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
47160
47161 2009-03-20  Ben Pfaff  <blp@gnu.org>
47162
47163         Make rename replace existing destinations on Windows.
47164         * m4/rename.m4: Add test for Mingw.
47165         * lib/rename.c: Add rename replacement that uses MoveFileEx with
47166         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
47167         * doc/posix-functions/rename.texi: Document.
47168
47169 2009-04-10  Bruno Haible  <bruno@clisp.org>
47170
47171         New include file "iconveh.h".
47172         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
47173         * lib/striconveh.h: Include it.
47174         (enum iconv_ilseq_handler): Remove definition.
47175         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
47176         striconveh.h.
47177         * lib/striconveha.c: Include striconveh.h.
47178         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
47179         * modules/striconveh (Files): Add lib/iconveh.h.
47180         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
47181         lib/striconveh.h.
47182
47183 2009-04-10  Bruno Haible  <bruno@clisp.org>
47184
47185         * lib/uniconv.h: Update comment.
47186
47187 2009-04-10  Bruno Haible  <bruno@clisp.org>
47188
47189         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
47190         always.
47191         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47192         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47193         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47194         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
47195         "unistring-notinline.h", so that the function gets defined always.
47196         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47197         * lib/unistr/u8-uctomb.c: Likewise.
47198         * lib/unistr/u16-mbtouc.c: Likewise.
47199         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47200         * lib/unistr/u16-uctomb.c: Likewise.
47201         * lib/unistr/u32-mbtouc.c: Likewise.
47202         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47203         * lib/unistr/u32-uctomb.c: Likewise.
47204
47205 2009-04-10  Bruno Haible  <bruno@clisp.org>
47206
47207         Mark 'utime' obsolete.
47208         * modules/utime (Status, Notice): New sections.
47209         Suggested by Jim Meyering.
47210
47211         Fix cross-compile guess for utime test.
47212         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
47213         autoconf.
47214         * doc/posix-functions/utime.texi: Give more precisions.
47215         Reported by Jan <ipif@ymail.com>.
47216
47217 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
47218
47219         filevercmp: correct today's change
47220         * lib/filevercmp.c: Also handle coreutils' test inputs.
47221         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
47222
47223         Fix regression in 'filevercmp' module. Thanks Sven Joachim
47224         for reporting it.
47225         * lib/filevercmp.c: Special handle for "", "." and "..".
47226         * tests/test-filevercmp.c: Enlarge the set suite.
47227
47228 2009-04-07  Jim Meyering  <meyering@redhat.com>
47229
47230         useless-if-before-free: show how to remove braced useless free, too
47231         * build-aux/useless-if-before-free: still only in a comment, though.
47232
47233 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
47234
47235         maint.mk: import changes to syntax-check macros from coreutils
47236         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
47237         Use them in the relevant macros.
47238
47239 2009-04-06  Bruno Haible  <bruno@clisp.org>
47240
47241         Fix unportable use of bit-fields.
47242         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
47243         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
47244         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
47245
47246 2009-04-06  Bruno Haible  <bruno@clisp.org>
47247
47248         Avoid test failures on AIX and OSF/1.
47249         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
47250         that malloc(0) = NULL.
47251         * tests/unicase/test-u8-tolower.c (check): Likewise.
47252         * tests/unicase/test-u8-totitle.c (check): Likewise.
47253         * tests/unicase/test-u8-toupper.c (check): Likewise.
47254         * tests/unicase/test-u16-casefold.c (check): Likewise.
47255         * tests/unicase/test-u16-tolower.c (check): Likewise.
47256         * tests/unicase/test-u16-totitle.c (check): Likewise.
47257         * tests/unicase/test-u16-toupper.c (check): Likewise.
47258         * tests/unicase/test-u32-casefold.c (check): Likewise.
47259         * tests/unicase/test-u32-tolower.c (check): Likewise.
47260         * tests/unicase/test-u32-totitle.c (check): Likewise.
47261         * tests/unicase/test-u32-toupper.c (check): Likewise.
47262         * tests/uninorm/test-u8-nfc.c (check): Likewise.
47263         * tests/uninorm/test-u8-nfd.c (check): Likewise.
47264         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
47265         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
47266         * tests/uninorm/test-u16-nfc.c (check): Likewise.
47267         * tests/uninorm/test-u16-nfd.c (check): Likewise.
47268         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
47269         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
47270         * tests/uninorm/test-u32-nfc.c (check): Likewise.
47271         * tests/uninorm/test-u32-nfd.c (check): Likewise.
47272         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
47273         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
47274
47275 2009-04-05  Bruno Haible  <bruno@clisp.org>
47276
47277         Work around an autoconf limitation.
47278         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
47279         comment line if it would be longer than 3 KB.
47280
47281 2009-04-05  Bruno Haible  <bruno@clisp.org>
47282
47283         Avoid test failure with libiconv-1.13.
47284         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
47285         of the expected test results.
47286
47287 2009-04-05  Bruno Haible  <bruno@clisp.org>
47288
47289         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
47290         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
47291         that it should be installed.
47292
47293 2009-04-05  Bruno Haible  <bruno@clisp.org>
47294
47295         * gnulib-tool: New option --copy-file.
47296         (func_usage): Document it.
47297         (func_dest_tmpfilename): Moved out of func_import.
47298         (func_add_file, func_update_file): New functions, extracted from
47299         func_import.
47300         (func_import): Update.
47301
47302 2009-04-05  Karl Berry  <karl@gnu.org>
47303
47304         * README: prominently mention gnulib-tool.
47305         Rearrange sections so getting the code is near the top.
47306
47307 2009-04-05  Bruno Haible  <bruno@clisp.org>
47308
47309         * lib/unicase.h: Mention u*_cmp2.
47310         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
47311         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
47312         * lib/unicase/ulc-casecmp.c: Likewise.
47313         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
47314         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
47315         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
47316         unistr/u8-cmp.
47317         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
47318         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
47319         unistr/u16-cmp.
47320         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
47321         unistr/u32-cmp.
47322
47323         * lib/uninorm.h: Mention u*_cmp2.
47324         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
47325         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
47326         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
47327         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
47328         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
47329         unistr/u8-cmp.
47330         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
47331         unistr/u16-cmp.
47332         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
47333         unistr/u32-cmp.
47334
47335         New module 'unistr/u32-cmp2'.
47336         * lib/unistr/u32-cmp2.c: New file.
47337         * modules/unistr/u32-cmp2: New file.
47338
47339         New module 'unistr/u16-cmp2'.
47340         * lib/unistr/u16-cmp2.c: New file.
47341         * modules/unistr/u16-cmp2: New file.
47342
47343         New module 'unistr/u8-cmp2'.
47344         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
47345         * lib/unistr/u8-cmp2.c: New file.
47346         * lib/unistr/u-cmp2.h: New file.
47347         * modules/unistr/u8-cmp2: New file.
47348
47349 2009-04-05  Bruno Haible  <bruno@clisp.org>
47350
47351         * lib/unictype.h (uc_property_is_valid): New macro.
47352         * tests/unictype/test-pr_byname.c (main): Use it.
47353
47354         * lib/unistr.h: Doc fixes.
47355         * lib/uniconv.h: Doc fixes.
47356         * lib/unictype.h: Doc fixes.
47357
47358 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47359
47360         Port coreutils 7.2 to Solaris 8.
47361
47362         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
47363         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
47364         for Solaris 8.  This is a bit of a hack, as it means it's the
47365         caller's responsibility to add -lnsl if needed, but most likely it
47366         won't be needed since only getaddrinfo uses this and getaddrinfo
47367         isn't needed on Solaris 8.
47368
47369         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
47370         problem to Solaris 8 encountered with coreutils 7.2, which
47371         resulted in a message "fnmatch.c:292: warning: passing argument 4
47372         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
47373         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
47374
47375 2009-04-03  Simon Josefsson  <simon@josefsson.org>
47376
47377         * m4/ld-version-script.m4: Add FIXME comment.
47378
47379 2009-04-02  Simon Josefsson  <simon@josefsson.org>
47380
47381         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
47382         SOVERSION variable.
47383
47384 2009-04-02  Bruno Haible  <bruno@clisp.org>
47385
47386         * Makefile (info, html, dvi, pdf): Combine the rules.
47387         Suggested by Jim Meyering.
47388
47389 2009-04-01  Bruno Haible  <bruno@clisp.org>
47390
47391         * Makefile (info, html, dvi, pdf): New targets.
47392         Reported by Reuben Thomas <rrt@sc3d.org>.
47393
47394 2009-04-01  Bruno Haible  <bruno@clisp.org>
47395
47396         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
47397         can be put into PATH.
47398         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
47399
47400 2009-04-01  Bruno Haible  <bruno@clisp.org>
47401
47402         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
47403
47404 2009-04-01  Bruno Haible  <bruno@clisp.org>
47405
47406         Rename module 'visibility'.
47407         * modules/lib-symbol-visibility: Renamed from modules/visibility.
47408         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
47409         * doc/gnulib.texi: Update.
47410         * MODULES.html.sh (Misc): Update.
47411         * NEWS: Mention the change.
47412
47413 2009-04-01  Simon Josefsson  <simon@josefsson.org>
47414
47415         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
47416         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
47417         Eric Blake <ebb9@byu.net> for review.
47418         * MODULES.html.sh: Add lib-msvc-compat.
47419         * doc/gnulib.texi: Link to new section.
47420         * m4/ld-output-def.m4: New file.
47421         * doc/ld-output-def.texi: New file.
47422
47423 2009-04-01  Simon Josefsson  <simon@josefsson.org>
47424
47425         Rename ld-version-script to lib-symbol-versions.  Suggested by
47426         Bruno Haible <bruno@clisp.org>.
47427         * modules/ld-version-script: Renamed to lib-symbol-versions.
47428         * doc/ld-version-script.texi: Fix module name.
47429         * MODULES.html.sh: Add lib-symbol-versions.
47430
47431 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47432
47433         * modules/u64-tests: New file.
47434         * tests/test-u64.c: New file.
47435
47436 2009-03-04  Simon Josefsson  <simon@josefsson.org>
47437
47438         * MODULES.html.sh: Mention u64.
47439         * modules/u64: New module.
47440         * modules/crypto/sha512: Depend on u64 module instead of providing
47441         u64.h.
47442
47443 2009-03-27  Eric Blake  <ebb9@byu.net>
47444
47445         test-strerror: make debugging EAI_SYSTEM easier
47446         * modules/getaddrinfo-tests (Depends-on): Add strerror.
47447         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
47448         failure was EAI_SYSTEM.
47449
47450 2009-03-25  Bruno Haible  <bruno@clisp.org>
47451
47452         Fix a problem with --enable-relocatable on Solaris 7.
47453         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
47454         since 2008-02-24.
47455
47456 2009-03-25  Eric Blake  <ebb9@byu.net>
47457
47458         test-sockets: avoid gcc warning
47459         * tests/test-sockets.c (main): Silence compiler warning.
47460
47461 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
47462
47463         New modules nproc, pthread, contributed by Glen Lenker.
47464
47465         * MODULES.html.sh: Add pthread, nproc.
47466         * lib/nproc.c: New file.
47467         * lib/nproc.h: New file.
47468         * lib/pthread.in.h: New file.
47469         * m4/pthread.m4: New file.
47470         * modules/nproc: New file.
47471         * modules/pthread: New file.
47472
47473 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47474
47475         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
47476         New variable.
47477
47478 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
47479
47480         filevercmp: handle simple~ and numbered.~3~ backup suffixes
47481         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
47482         * tests/test-filevercmp.c: Add tests for backup suffixes.
47483
47484 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47485
47486         * modules/stdlib (Depends-on): Add stdint, needed when defining
47487         struct random_data on, for example, HP-UX 10.20.  Reported by
47488         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47489
47490 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47491
47492         * lib/readline.c (readline): Call fflush on stdout after printing
47493         prompt.
47494
47495 2009-03-20  Bruno Haible  <bruno@clisp.org>
47496
47497         Remove dependency from 'close' module to -lws2_32 on native Windows.
47498         * lib/close-hook.h: New file.
47499         * lib/close-hook.c: New file.
47500         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
47501         w32sock.h.
47502         (_gl_close_fd_maybe_socket): Remove function.
47503         (rpl_close): Invoke execute_all_close_hooks instead of
47504         _gl_close_fd_maybe_socket.
47505         * lib/sockets.c: Include close-hook.h, w32sock.h.
47506         (close_fd_maybe_socket): New function, essentially from lib/close.c.
47507         (close_sockets_hook): New variable.
47508         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
47509         (gl_sockets_cleanup): Unregister it.
47510         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
47511         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
47512         * modules/close-hook: New file.
47513         * modules/close (Files): Remove lib/w32sock.h.
47514         (Depends-on): Add close-hook.
47515         (Link): Remove section.
47516         * modules/sockets (Files): Add lib/w32sock.h.
47517         (Depends-on): Add close-hook.
47518         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
47519         invocation.
47520         * NEWS: Mention that LIB_CLOSE is gone.
47521
47522 2009-03-23  Eric Blake  <ebb9@byu.net>
47523
47524         signal-tests: test previous patch
47525         * tests/test-signal.c: New file.
47526         * modules/signal-tests: Likewise.
47527
47528         signal.h: always support 'volatile sig_atomic_t'
47529         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
47530         (gl_SIGNAL_H_DEFAULTS): Add a default.
47531         * modules/signal (Makefile.am): Substitute if needed.
47532         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
47533         users can blindly add volatile.
47534         * doc/posix-headers/signal.texi (signal.h): Document it.
47535         Reported by Matthew Woehlke.
47536
47537 2009-03-23  Jim Meyering  <meyering@redhat.com>
47538
47539         pathmax: PATH_MAX: use pathconf only when available
47540         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
47541         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
47542         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
47543         This avoids a link failure in a PSP cross-compilation environment
47544         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
47545
47546         * lib/vasnprintf.c (divide): Fix typo in comment.
47547
47548 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47549
47550         * gnulib-tool (func_filter_filelist): Fix comment.
47551
47552 2009-03-20  Bruno Haible  <bruno@clisp.org>
47553
47554         Make sockets.h self-contained.
47555         * lib/sockets.c: Include sockets.h first.
47556         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
47557
47558 2009-03-19  Eric Blake  <ebb9@byu.net>
47559
47560         doc: mention more functions added in cygwin 1.7.0
47561         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
47562         addition.
47563         * doc/posix-functions/log2f.texi: Likewise.
47564
47565 2009-03-19  Jim Meyering  <meyering@redhat.com>
47566
47567         fsusage: avoid syntax error due to statement-before-declaration
47568         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
47569         after all declarations.  Reported by Matthew Woehlke in
47570         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
47571
47572 2009-03-18  Eric Blake  <ebb9@byu.net>
47573
47574         build-aux/compile: sync from automake
47575         * build-aux/compile: New file, from automake.
47576         * config/srclist.txt: Mention build-aux/compile.
47577
47578 2009-03-17  Bruno Haible  <bruno@clisp.org>
47579
47580         * lib/git-merge-changelog.c: Fix typo in comment.
47581         Reported by Reuben Thomas <rrt@sc3d.org>.
47582
47583 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
47584
47585         * m4/regex.m4: update and improve help for
47586         --without-included-regex.
47587
47588 2009-03-17  Simon Josefsson  <simon@josefsson.org>
47589
47590         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
47591         failure on missing include files.
47592
47593 2009-03-17  Eric Blake  <ebb9@byu.net>
47594
47595         doc: mention more functions added in cygwin 1.7.0
47596         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
47597         addition.
47598         * doc/posix-functions/fwscanf.texi: Likewise.
47599         * doc/posix-functions/swprintf.texi: Likewise.
47600         * doc/posix-functions/swscanf.texi: Likewise.
47601         * doc/posix-functions/vfwprintf.texi: Likewise.
47602         * doc/posix-functions/vfwscanf.texi: Likewise.
47603         * doc/posix-functions/vswprintf.texi: Likewise.
47604         * doc/posix-functions/vswscanf.texi: Likewise.
47605         * doc/posix-functions/vwprintf.texi: Likewise.
47606         * doc/posix-functions/vwscanf.texi: Likewise.
47607         * doc/posix-functions/wcscasecmp.texi: Likewise.
47608         * doc/posix-functions/wcsdup.texi: Likewise.
47609         * doc/posix-functions/wcsftime.texi: Likewise.
47610         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47611         * doc/posix-functions/wprintf.texi: Likewise.
47612         * doc/posix-functions/wscanf.texi: Likewise.
47613         * doc/glibc-functions/gethostbyname2.texi: Likewise.
47614
47615 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47616
47617         maint.mk: really add $(AM_MAKEFLAGS)
47618         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
47619         was inadvertently omitted in the last commit.
47620         Spotted by Bruno Haible.
47621
47622         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
47623         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
47624         $(AM_MAKEFLAGS)' rather than plain `make'.
47625
47626         gnulib-tool: execute $MAKE not make
47627         * gnulib-tool: Default $MAKE to 'make'.
47628         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
47629         than make.  Initialize $MAKE in the do-autobuild script.
47630
47631         gnulib-tool: use $MAKE not make in generated files
47632         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
47633         make, in generated files.  Initialize $MAKE in the do-autobuild
47634         script.
47635
47636         * top/GNUmakefile (_have-git-version-gen): Fix typo.
47637
47638         GNUmakefile: disable parallelism only for multiple, recursive targets
47639         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
47640         additions in the Makefile.
47641         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
47642         by Automake.
47643         (.NOTPARALLEL): Only disable parallel builds if multiple targets
47644         are listed on the command line and at least one of them is
47645         listed in $(ALL_RECURSIVE_TARGETS).
47646
47647 2009-03-14  Bruno Haible  <bruno@clisp.org>
47648
47649         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
47650         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
47651         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
47652         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
47653         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
47654         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
47655         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
47656         unistr/u8-uctomb.
47657         * modules/unistr/u8-strchr (Depends-on): Likewise.
47658         * modules/unistr/u8-strrchr (Depends-on): Likewise.
47659         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
47660         unistr/u16-uctomb.
47661         * modules/unistr/u16-strchr (Depends-on): Likewise.
47662         * modules/unistr/u16-strrchr (Depends-on): Likewise.
47663
47664 2009-03-12  Bruno Haible  <bruno@clisp.org>
47665
47666         Work around select() bug on Interix 3.5.
47667         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
47668         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
47669         * m4/select.m4: New file.
47670         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
47671         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
47672         * modules/select (Files): Add m4/select.m4.
47673         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
47674         * modules/nanosleep (Depends-on): Add select.
47675         * modules/poll (Depends-on): Likewise.
47676         * doc/posix-functions/select.texi: Mention the Interix bug.
47677         Reported by Markus Duft <mduft@gentoo.org>.
47678
47679         * lib/select.c: Renamed from lib/winsock-select.c.
47680         * modules/select (Files): Add lib/select.c, remove
47681         lib/winsock-select.c.
47682         (configure.ac): Update.
47683
47684 2009-03-12  Jim Meyering  <meyering@redhat.com>
47685
47686         avoid gcc warnings about unused macro definitions
47687         * lib/readtokens.c (STREQ): Remove unused definition.
47688         * lib/xmalloc.c (SIZE_MAX): Likewise.
47689         * lib/openat-die.c (N_): Likewise.
47690         * lib/mountlist.c (SIZE_MAX): Remove definition.
47691         Instead, include <stdint.h>.
47692         * lib/readutmp.c: Likewise.
47693         * modules/readutmp (Depends-on): Add stdint.
47694         * modules/mountlist (Depends-on): Add stdint.
47695         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
47696
47697 2009-03-10  Bruno Haible  <bruno@clisp.org>
47698
47699         Tests for module 'mbmemcasecoll'.
47700         * modules/mbmemcasecoll-tests: New file.
47701         * tests/test-mbmemcasecoll1.sh: New file.
47702         * tests/test-mbmemcasecoll2.sh: New file.
47703         * tests/test-mbmemcasecoll3.sh: New file.
47704         * tests/test-mbmemcasecoll.c: New file.
47705
47706         New module 'mbmemcasecoll'.
47707         * lib/mbmemcasecoll.h: New file.
47708         * lib/mbmemcasecoll.c: New file.
47709         * modules/mbmemcasecoll: New file.
47710
47711         * tests/test-mbmemcasecmp.h: New file, extracted from
47712         tests/test-mbmemcasecmp.c.
47713         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
47714         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
47715         (main): Update.
47716         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
47717
47718 2009-03-09  Bruno Haible  <bruno@clisp.org>
47719
47720         Tests for module 'mbmemcasecmp'.
47721         * modules/mbmemcasecmp-tests: New file.
47722         * tests/test-mbmemcasecmp1.sh: New file.
47723         * tests/test-mbmemcasecmp2.sh: New file.
47724         * tests/test-mbmemcasecmp3.sh: New file.
47725         * tests/test-mbmemcasecmp.c: New file.
47726
47727         New module 'mbmemcasecmp'.
47728         * lib/mbmemcasecmp.h: New file.
47729         * lib/mbmemcasecmp.c: New file.
47730         * modules/mbmemcasecmp: New file.
47731
47732 2009-03-09  Bruno Haible  <bruno@clisp.org>
47733
47734         Tests for module 'unicase/ulc-casecoll'.
47735         * modules/unicase/ulc-casecoll-tests: New file.
47736         * tests/unicase/test-ulc-casecoll1.sh: New file.
47737         * tests/unicase/test-ulc-casecoll2.sh: New file.
47738         * tests/unicase/test-ulc-casecoll.c: New file.
47739
47740         New module 'unicase/ulc-casecoll'.
47741         * lib/unicase.h (ulc_casecoll): New declaration.
47742         * lib/unicase/ulc-casecoll.c: New file.
47743         * modules/unicase/ulc-casecoll: New file.
47744
47745         New module 'unicase/ulc-casexfrm'.
47746         * lib/unicase.h (ulc_casexfrm): New declaration.
47747         * lib/unicase/ulc-casexfrm.c: New file.
47748         * modules/unicase/ulc-casexfrm: New file.
47749
47750 2009-03-09  Bruno Haible  <bruno@clisp.org>
47751
47752         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
47753         invocations.
47754
47755         * m4/mbscasecmp.m4: Remove file.
47756         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
47757         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
47758
47759         * m4/mbscasestr.m4: Remove file.
47760         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
47761         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
47762
47763         * m4/mbschr.m4: Remove file.
47764         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
47765         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
47766
47767         * m4/mbscspn.m4: Remove file.
47768         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
47769         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
47770
47771         * m4/mbslen.m4: Remove file.
47772         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
47773         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
47774
47775         * m4/mbsncasecmp.m4: Remove file.
47776         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
47777         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
47778
47779         * m4/mbsnlen.m4: Remove file.
47780         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
47781         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
47782
47783         * m4/mbspbrk.m4: Remove file.
47784         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
47785         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
47786
47787         * m4/mbspcasecmp.m4: Remove file.
47788         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
47789         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
47790
47791         * m4/mbsrchr.m4: Remove file.
47792         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
47793         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
47794
47795         * m4/mbssep.m4: Remove file.
47796         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
47797         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
47798
47799         * m4/mbsspn.m4: Remove file.
47800         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
47801         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
47802
47803         * m4/mbsstr.m4: Remove file.
47804         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
47805         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
47806
47807         * m4/mbstok_r.m4: Remove file.
47808         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
47809         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
47810
47811         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
47812
47813         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
47814         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
47815
47816         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
47817
47818 2009-03-08  Bruno Haible  <bruno@clisp.org>
47819
47820         Tests for module 'unicase/ulc-casecmp'.
47821         * modules/unicase/ulc-casecmp-tests: New file.
47822         * tests/unicase/test-ulc-casecmp1.sh: New file.
47823         * tests/unicase/test-ulc-casecmp2.sh: New file.
47824         * tests/unicase/test-ulc-casecmp.c: New file.
47825
47826         New module 'unicase/ulc-casecmp'.
47827         * lib/unicase.h (ulc_casecmp): New declaration.
47828         * lib/unicase/ulc-casecmp.c: New file.
47829         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
47830         'const SRC_UNIT *'.
47831         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
47832         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
47833         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
47834         * modules/unicase/ulc-casecmp: New file.
47835
47836         Tests for module 'unicase/u32-is-cased'.
47837         * modules/unicase/u32-is-cased-tests: New file.
47838         * tests/unicase/test-u32-is-cased.c: New file.
47839
47840         Tests for module 'unicase/u16-is-cased'.
47841         * modules/unicase/u16-is-cased-tests: New file.
47842         * tests/unicase/test-u16-is-cased.c: New file.
47843
47844         Tests for module 'unicase/u8-is-cased'.
47845         * modules/unicase/u8-is-cased-tests: New file.
47846         * tests/unicase/test-u8-is-cased.c: New file.
47847         * tests/unicase/test-is-cased.h: New file.
47848
47849         New module 'unicase/u32-is-cased'.
47850         * lib/unicase/u32-is-cased.c: New file.
47851         * modules/unicase/u32-is-cased: New file.
47852
47853         New module 'unicase/u16-is-cased'.
47854         * lib/unicase/u16-is-cased.c: New file.
47855         * modules/unicase/u16-is-cased: New file.
47856
47857         New module 'unicase/u8-is-cased'.
47858         * lib/unicase/u8-is-cased.c: New file.
47859         * lib/unicase/u-is-cased.h: New file.
47860         * modules/unicase/u8-is-cased: New file.
47861
47862         Tests for module 'unicase/u32-is-casefolded'.
47863         * modules/unicase/u32-is-casefolded-tests: New file.
47864         * tests/unicase/test-u32-is-casefolded.c: New file.
47865
47866         Tests for module 'unicase/u16-is-casefolded'.
47867         * modules/unicase/u16-is-casefolded-tests: New file.
47868         * tests/unicase/test-u16-is-casefolded.c: New file.
47869
47870         Tests for module 'unicase/u8-is-casefolded'.
47871         * modules/unicase/u8-is-casefolded-tests: New file.
47872         * tests/unicase/test-u8-is-casefolded.c: New file.
47873         * tests/unicase/test-is-casefolded.h: New file.
47874
47875         New module 'unicase/u32-is-casefolded'.
47876         * lib/unicase/u32-is-casefolded.c: New file.
47877         * modules/unicase/u32-is-casefolded: New file.
47878
47879         New module 'unicase/u16-is-casefolded'.
47880         * lib/unicase/u16-is-casefolded.c: New file.
47881         * modules/unicase/u16-is-casefolded: New file.
47882
47883         New module 'unicase/u8-is-casefolded'.
47884         * lib/unicase/u8-is-casefolded.c: New file.
47885         * modules/unicase/u8-is-casefolded: New file.
47886
47887         Tests for module 'unicase/u32-is-titlecase'.
47888         * modules/unicase/u32-is-titlecase-tests: New file.
47889         * tests/unicase/test-u32-is-titlecase.c: New file.
47890
47891         Tests for module 'unicase/u16-is-titlecase'.
47892         * modules/unicase/u16-is-titlecase-tests: New file.
47893         * tests/unicase/test-u16-is-titlecase.c: New file.
47894
47895         Tests for module 'unicase/u8-is-titlecase'.
47896         * modules/unicase/u8-is-titlecase-tests: New file.
47897         * tests/unicase/test-u8-is-titlecase.c: New file.
47898         * tests/unicase/test-is-titlecase.h: New file.
47899
47900         New module 'unicase/u32-is-titlecase'.
47901         * lib/unicase/u32-is-titlecase.c: New file.
47902         * modules/unicase/u32-is-titlecase: New file.
47903
47904         New module 'unicase/u16-is-titlecase'.
47905         * lib/unicase/u16-is-titlecase.c: New file.
47906         * modules/unicase/u16-is-titlecase: New file.
47907
47908         New module 'unicase/u8-is-titlecase'.
47909         * lib/unicase/u8-is-titlecase.c: New file.
47910         * modules/unicase/u8-is-titlecase: New file.
47911
47912         Tests for module 'unicase/u32-is-lowercase'.
47913         * modules/unicase/u32-is-lowercase-tests: New file.
47914         * tests/unicase/test-u32-is-lowercase.c: New file.
47915
47916         Tests for module 'unicase/u16-is-lowercase'.
47917         * modules/unicase/u16-is-lowercase-tests: New file.
47918         * tests/unicase/test-u16-is-lowercase.c: New file.
47919
47920         Tests for module 'unicase/u8-is-lowercase'.
47921         * modules/unicase/u8-is-lowercase-tests: New file.
47922         * tests/unicase/test-u8-is-lowercase.c: New file.
47923         * tests/unicase/test-is-lowercase.h: New file.
47924
47925         New module 'unicase/u32-is-lowercase'.
47926         * lib/unicase/u32-is-lowercase.c: New file.
47927         * modules/unicase/u32-is-lowercase: New file.
47928
47929         New module 'unicase/u16-is-lowercase'.
47930         * lib/unicase/u16-is-lowercase.c: New file.
47931         * modules/unicase/u16-is-lowercase: New file.
47932
47933         New module 'unicase/u8-is-lowercase'.
47934         * lib/unicase/u8-is-lowercase.c: New file.
47935         * modules/unicase/u8-is-lowercase: New file.
47936
47937         Tests for module 'unicase/u32-is-uppercase'.
47938         * modules/unicase/u32-is-uppercase-tests: New file.
47939         * tests/unicase/test-u32-is-uppercase.c: New file.
47940
47941         Tests for module 'unicase/u16-is-uppercase'.
47942         * modules/unicase/u16-is-uppercase-tests: New file.
47943         * tests/unicase/test-u16-is-uppercase.c: New file.
47944
47945         Tests for module 'unicase/u8-is-uppercase'.
47946         * modules/unicase/u8-is-uppercase-tests: New file.
47947         * tests/unicase/test-u8-is-uppercase.c: New file.
47948         * tests/unicase/test-is-uppercase.h: New file.
47949
47950         New module 'unicase/u32-is-uppercase'.
47951         * lib/unicase/u32-is-uppercase.c: New file.
47952         * modules/unicase/u32-is-uppercase: New file.
47953
47954         New module 'unicase/u16-is-uppercase'.
47955         * lib/unicase/u16-is-uppercase.c: New file.
47956         * modules/unicase/u16-is-uppercase: New file.
47957
47958         New module 'unicase/u8-is-uppercase'.
47959         * lib/unicase/u8-is-uppercase.c: New file.
47960         * modules/unicase/u8-is-uppercase: New file.
47961
47962         New module 'unicase/u32-is-invariant'.
47963         * lib/unicase/u32-is-invariant.c: New file.
47964         * modules/unicase/u32-is-invariant: New file.
47965
47966         New module 'unicase/u16-is-invariant'.
47967         * lib/unicase/u16-is-invariant.c: New file.
47968         * modules/unicase/u16-is-invariant: New file.
47969
47970         New module 'unicase/u8-is-invariant'.
47971         * lib/unicase/u8-is-invariant.c: New file.
47972         * lib/unicase/invariant.h: New file.
47973         * lib/unicase/u-is-invariant.h: New file.
47974         * modules/unicase/u8-is-invariant: New file.
47975
47976         Tests for module 'unicase/u32-casecoll'.
47977         * modules/unicase/u32-casecoll-tests: New file.
47978         * tests/unicase/test-u32-casecoll.c: New file.
47979
47980         Tests for module 'unicase/u16-casecoll'.
47981         * modules/unicase/u16-casecoll-tests: New file.
47982         * tests/unicase/test-u16-casecoll.c: New file.
47983
47984         Tests for module 'unicase/u8-casecoll'.
47985         * modules/unicase/u8-casecoll-tests: New file.
47986         * tests/unicase/test-u8-casecoll.c: New file.
47987
47988         New module 'unicase/u32-casecoll'.
47989         * lib/unicase/u32-casecoll.c: New file.
47990         * modules/unicase/u32-casecoll: New file.
47991
47992         New module 'unicase/u16-casecoll'.
47993         * lib/unicase/u16-casecoll.c: New file.
47994         * modules/unicase/u16-casecoll: New file.
47995
47996         New module 'unicase/u8-casecoll'.
47997         * lib/unicase/u8-casecoll.c: New file.
47998         * lib/unicase/u-casecoll.h: New file.
47999         * modules/unicase/u8-casecoll: New file.
48000
48001         New module 'unicase/u32-casexfrm'.
48002         * lib/unicase/u32-casexfrm.c: New file.
48003         * modules/unicase/u32-casexfrm: New file.
48004
48005         New module 'unicase/u16-casexfrm'.
48006         * lib/unicase/u16-casexfrm.c: New file.
48007         * modules/unicase/u16-casexfrm: New file.
48008
48009         New module 'unicase/u8-casexfrm'.
48010         * lib/unicase/u8-casexfrm.c: New file.
48011         * lib/unicase/u-casexfrm.h: New file.
48012         * modules/unicase/u8-casexfrm: New file.
48013
48014         Tests for module 'unicase/u32-casecmp'.
48015         * modules/unicase/u32-casecmp-tests: New file.
48016         * tests/unicase/test-u32-casecmp.c: New file.
48017
48018         Tests for module 'unicase/u16-casecmp'.
48019         * modules/unicase/u16-casecmp-tests: New file.
48020         * tests/unicase/test-u16-casecmp.c: New file.
48021
48022         Tests for module 'unicase/u8-casecmp'.
48023         * modules/unicase/u8-casecmp-tests: New file.
48024         * tests/unicase/test-u8-casecmp.c: New file.
48025         * tests/unicase/test-casecmp.h: New file.
48026
48027         New module 'unicase/u32-casecmp'.
48028         * lib/unicase/u32-casecmp.c: New file.
48029         * modules/unicase/u32-casecmp: New file.
48030
48031         New module 'unicase/u16-casecmp'.
48032         * lib/unicase/u16-casecmp.c: New file.
48033         * modules/unicase/u16-casecmp: New file.
48034
48035         New module 'unicase/u8-casecmp'.
48036         * lib/unicase/u8-casecmp.c: New file.
48037         * lib/unicase/u-casecmp.h: New file.
48038         * modules/unicase/u8-casecmp: New file.
48039
48040         Tests for module 'unicase/u32-casefold'.
48041         * modules/unicase/u32-casefold-tests: New file.
48042         * tests/unicase/test-u32-casefold.c: New file.
48043
48044         Tests for module 'unicase/u16-casefold'.
48045         * modules/unicase/u16-casefold-tests: New file.
48046         * tests/unicase/test-u16-casefold.c: New file.
48047
48048         Tests for module 'unicase/u8-casefold'.
48049         * modules/unicase/u8-casefold-tests: New file.
48050         * tests/unicase/test-u8-casefold.c: New file.
48051
48052         New module 'unicase/u32-casefold'.
48053         * lib/unicase/u32-casefold.c: New file.
48054         * modules/unicase/u32-casefold: New file.
48055
48056         New module 'unicase/u16-casefold'.
48057         * lib/unicase/u16-casefold.c: New file.
48058         * modules/unicase/u16-casefold: New file.
48059
48060         New module 'unicase/u8-casefold'.
48061         * lib/unicase/u8-casefold.c: New file.
48062         * lib/unicase/u-casefold.h: New file.
48063         * modules/unicase/u8-casefold: New file.
48064
48065         New module 'unicase/tocasefold'.
48066         * lib/unicase/casefold.h: New file.
48067         * lib/unicase/tocasefold.c: New file.
48068         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
48069         * modules/unicase/tocasefold: New file.
48070
48071         Tests for module 'unicase/u32-totitle'.
48072         * modules/unicase/u32-totitle-tests: New file.
48073         * tests/unicase/test-u32-totitle.c: New file.
48074
48075         Tests for module 'unicase/u16-totitle'.
48076         * modules/unicase/u16-totitle-tests: New file.
48077         * tests/unicase/test-u16-totitle.c: New file.
48078
48079         Tests for module 'unicase/u8-totitle'.
48080         * modules/unicase/u8-totitle-tests: New file.
48081         * tests/unicase/test-u8-totitle.c: New file.
48082
48083         New module 'unicase/u32-totitle'.
48084         * lib/unicase/u32-totitle.c: New file.
48085         * modules/unicase/u32-totitle: New file.
48086
48087         New module 'unicase/u16-totitle'.
48088         * lib/unicase/u16-totitle.c: New file.
48089         * modules/unicase/u16-totitle: New file.
48090
48091         New module 'unicase/u8-totitle'.
48092         * lib/unicase/u8-totitle.c: New file.
48093         * lib/unicase/u-totitle.h: New file.
48094         * modules/unicase/u8-totitle: New file.
48095
48096         Tests for module 'unicase/u32-tolower'.
48097         * modules/unicase/u32-tolower-tests: New file.
48098         * tests/unicase/test-u32-tolower.c: New file.
48099
48100         Tests for module 'unicase/u16-tolower'.
48101         * modules/unicase/u16-tolower-tests: New file.
48102         * tests/unicase/test-u16-tolower.c: New file.
48103
48104         Tests for module 'unicase/u8-tolower'.
48105         * modules/unicase/u8-tolower-tests: New file.
48106         * tests/unicase/test-u8-tolower.c: New file.
48107
48108         New module 'unicase/u32-tolower'.
48109         * lib/unicase/u32-tolower.c: New file.
48110         * modules/unicase/u32-tolower: New file.
48111
48112         New module 'unicase/u16-tolower'.
48113         * lib/unicase/u16-tolower.c: New file.
48114         * modules/unicase/u16-tolower: New file.
48115
48116         New module 'unicase/u8-tolower'.
48117         * lib/unicase/u8-tolower.c: New file.
48118         * modules/unicase/u8-tolower: New file.
48119
48120         Tests for module 'unicase/u32-toupper'.
48121         * modules/unicase/u32-toupper-tests: New file.
48122         * tests/unicase/test-u32-toupper.c: New file.
48123
48124         Tests for module 'unicase/u16-toupper'.
48125         * modules/unicase/u16-toupper-tests: New file.
48126         * tests/unicase/test-u16-toupper.c: New file.
48127
48128         Tests for module 'unicase/u8-toupper'.
48129         * modules/unicase/u8-toupper-tests: New file.
48130         * tests/unicase/test-u8-toupper.c: New file.
48131
48132         New module 'unicase/u32-toupper'.
48133         * lib/unicase/u32-toupper.c: New file.
48134         * modules/unicase/u32-toupper: New file.
48135
48136         New module 'unicase/u16-toupper'.
48137         * lib/unicase/u16-toupper.c: New file.
48138         * modules/unicase/u16-toupper: New file.
48139
48140         New module 'unicase/u8-toupper'.
48141         * lib/unicase/u8-toupper.c: New file.
48142         * modules/unicase/u8-toupper: New file.
48143
48144         New module 'unicase/u32-casemap'.
48145         * lib/unicase/u32-casemap.c: New file.
48146         * modules/unicase/u32-casemap: New file.
48147
48148         New module 'unicase/u16-casemap'.
48149         * lib/unicase/u16-casemap.c: New file.
48150         * modules/unicase/u16-casemap: New file.
48151
48152         New module 'unicase/u8-casemap'.
48153         * lib/unicase/unicasemap.h: New file.
48154         * lib/unicase/u8-casemap.c: New file.
48155         * lib/unicase/u-casemap.h: New file.
48156         * modules/unicase/u8-casemap: New file.
48157
48158         New module 'unicase/special-casing'.
48159         * lib/unicase/special-casing.h: New file.
48160         * lib/unicase/special-casing.c: New file.
48161         * lib/unicase/special-casing-table.gperf: New file, generated by
48162         gen-uni-tables.c.
48163         * modules/unicase/special-casing: New file.
48164
48165         Tests for module 'unicase/locale-language'.
48166         * modules/unicase/locale-language-tests: New file.
48167         * tests/unicase/test-locale-language.sh: New file.
48168         * tests/unicase/test-locale-language.c: New file.
48169
48170         New module 'unicase/locale-language'.
48171         * lib/unicase/locale-language.c: New file.
48172         * lib/unicase/locale-languages.gperf: New file.
48173         * modules/unicase/locale-language: New file.
48174
48175         Generate more tables for case conversion and case folding.
48176         * lib/gen-uni-tables.c (SCC_*): New enum items.
48177         (struct special_casing_rule): New type.
48178         (casing_rules, num_casing_rules, allocated_casing_rules): New
48179         variables.
48180         (add_casing_rule, fill_casing_rules): New functions.
48181         (struct casefold_rule): New type.
48182         (casefolding_rules, num_casefolding_rules,
48183         allocated_casefolding_rules): New variables.
48184         (fill_casefolding_rules): New function.
48185         (unicode_casefold): New variable.
48186         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
48187         sort_casing_rules, output_casing_rules): New functions.
48188         (main): Accept to more arguments: SpecialCasing.txt and
48189         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
48190         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
48191         Output mapping for casefolding.
48192
48193         * lib/unicase.h: Include stdbool.h, uninorm.h.
48194         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
48195         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
48196         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
48197         arguments.
48198         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
48199         resultp arguments.
48200         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
48201         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
48202         resultp arguments.
48203         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
48204         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
48205         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
48206         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
48207         declarations.
48208         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
48209
48210 2009-03-08  Bruno Haible  <bruno@clisp.org>
48211
48212         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
48213         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
48214         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
48215         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
48216
48217 2009-03-07  Bruno Haible  <bruno@clisp.org>
48218
48219         Adjust u*_normcmp, u*_normcoll API.
48220         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
48221         u16_normcoll, u32_normcoll): Change failure conventions.
48222         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
48223         errno and return -1.
48224         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
48225
48226 2009-03-07  Bruno Haible  <bruno@clisp.org>
48227
48228         Tests for module 'uninorm/u32-normcoll'.
48229         * modules/uninorm/u32-normcoll-tests: New file.
48230         * tests/uninorm/test-u32-normcoll.c: New file.
48231
48232         Tests for module 'uninorm/u16-normcoll'.
48233         * modules/uninorm/u16-normcoll-tests: New file.
48234         * tests/uninorm/test-u16-normcoll.c: New file.
48235
48236         Tests for module 'uninorm/u8-normcoll'.
48237         * modules/uninorm/u8-normcoll-tests: New file.
48238         * tests/uninorm/test-u8-normcoll.c: New file.
48239
48240 2009-03-07  Bruno Haible  <bruno@clisp.org>
48241
48242         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
48243         tests/uninorm/test-u32-normcmp.c.
48244         * tests/uninorm/test-u32-normcmp.c: Include it.
48245         (test_nonascii): New function, extracted from main. Add some more
48246         tests.
48247         (main): Invoke test_ascii and test_nonascii.
48248         * modules/uninorm/u32-normcmp-tests (Files): Add
48249         tests/uninorm/test-u32-normcmp.h.
48250         (Depends-on): Remove uninorm/u32-normcmp.
48251
48252         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
48253         tests/uninorm/test-u16-normcmp.c.
48254         * tests/uninorm/test-u16-normcmp.c: Include it.
48255         (test_nonascii): New function, extracted from main. Add some more
48256         tests.
48257         (main): Invoke test_ascii and test_nonascii.
48258         * modules/uninorm/u16-normcmp-tests (Files): Add
48259         tests/uninorm/test-u16-normcmp.h.
48260         (Depends-on): Remove uninorm/u16-normcmp.
48261
48262         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
48263         tests/uninorm/test-u8-normcmp.c.
48264         * tests/uninorm/test-u8-normcmp.c: Include it.
48265         (test_nonascii): New function, extracted from main. Add some more
48266         tests.
48267         (main): Invoke test_ascii and test_nonascii.
48268         * modules/uninorm/u8-normcmp-tests (Files): Add
48269         tests/uninorm/test-u8-normcmp.h.
48270         (Depends-on): Remove uninorm/u8-normcmp.
48271
48272 2009-03-07  Bruno Haible  <bruno@clisp.org>
48273
48274         New module 'uninorm/u32-normcoll'.
48275         * lib/uninorm/u32-normcoll.c: New file.
48276         * modules/uninorm/u32-normcoll: New file.
48277
48278         New module 'uninorm/u16-normcoll'.
48279         * lib/uninorm/u16-normcoll.c: New file.
48280         * modules/uninorm/u16-normcoll: New file.
48281
48282         New module 'uninorm/u8-normcoll'.
48283         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
48284         declarations.
48285         * lib/uninorm/u8-normcoll.c: New file.
48286         * lib/uninorm/u-normcoll.h: New file.
48287         * modules/uninorm/u8-normcoll: New file.
48288
48289         New module 'uninorm/u32-normxfrm'.
48290         * lib/uninorm/u32-normxfrm.c: New file.
48291         * modules/uninorm/u32-normxfrm: New file.
48292
48293         New module 'uninorm/u16-normxfrm'.
48294         * lib/uninorm/u16-normxfrm.c: New file.
48295         * modules/uninorm/u16-normxfrm: New file.
48296
48297         New module 'uninorm/u8-normxfrm'.
48298         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
48299         declarations.
48300         * lib/uninorm/u8-normxfrm.c: New file.
48301         * lib/uninorm/u-normxfrm.h: New file.
48302         * modules/uninorm/u8-normxfrm: New file.
48303
48304 2009-03-07  Bruno Haible  <bruno@clisp.org>
48305
48306         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
48307         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
48308         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
48309
48310 2009-03-07  Bruno Haible  <bruno@clisp.org>
48311
48312         New module 'memxfrm'.
48313         * lib/memxfrm.h: New file.
48314         * lib/memxfrm.c: New file.
48315         * modules/memxfrm: New file.
48316
48317 2009-03-07  Bruno Haible  <bruno@clisp.org>
48318
48319         New module 'memcmp2'.
48320         * lib/memcmp2.h: New file.
48321         * lib/memcmp2.c: New file.
48322         * modules/memcmp2: New file.
48323
48324 2009-03-07  Bruno Haible  <bruno@clisp.org>
48325
48326         Tests for module 'uninorm/decomposing-form'.
48327         * modules/uninorm/decomposing-form-tests: New file.
48328         * tests/uninorm/test-decomposing-form.c: New file.
48329
48330         New module 'uninorm/decomposing-form'.
48331         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
48332         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
48333         Add 'decomposing_variant' field.
48334         * lib/uninorm/decomposing-form.c: New file.
48335         * lib/uninorm/nfc.c (uninorm_nfc): Update.
48336         * lib/uninorm/nfd.c (uninorm_nfd): Update.
48337         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
48338         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
48339         * modules/uninorm/decomposing-form: New file.
48340         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
48341         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
48342
48343 2009-03-07  Bruno Haible  <bruno@clisp.org>
48344
48345         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
48346         strings.
48347
48348 2009-03-06  Bruno Haible  <bruno@clisp.org>
48349
48350         Tests for module 'uninorm/u32-normcmp'.
48351         * tests/uninorm/test-u32-normcmp.c: New file.
48352         * modules/uninorm/u32-normcmp-tests: New file.
48353
48354         Tests for module 'uninorm/u16-normcmp'.
48355         * tests/uninorm/test-u16-normcmp.c: New file.
48356         * modules/uninorm/u16-normcmp-tests: New file.
48357
48358         Tests for module 'uninorm/u8-normcmp'.
48359         * tests/uninorm/test-u8-normcmp.c: New file.
48360         * modules/uninorm/u8-normcmp-tests: New file.
48361
48362         New module 'uninorm/u32-normcmp'.
48363         * lib/uninorm/u32-normcmp.c: New file.
48364         * modules/uninorm/u32-normcmp: New file.
48365
48366         New module 'uninorm/u16-normcmp'.
48367         * lib/uninorm/u16-normcmp.c: New file.
48368         * modules/uninorm/u16-normcmp: New file.
48369
48370         New module 'uninorm/u8-normcmp'.
48371         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
48372         declarations.
48373         * lib/uninorm/u8-normcmp.c: New file.
48374         * lib/uninorm/u-normcmp.h: New file.
48375         * modules/uninorm/u8-normcmp: New file.
48376
48377 2009-03-06  Bruno Haible  <bruno@clisp.org>
48378
48379         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
48380         Reported by Eric Blake.
48381
48382 2009-03-06  Eric Blake  <ebb9@byu.net>
48383             Bruno Haible  <bruno@clisp.org>
48384
48385         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
48386         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
48387         condition.
48388         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
48389         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
48390         condition.
48391         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
48392
48393 2009-03-06  Eric Blake  <ebb9@byu.net>
48394
48395         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
48396         to avoid compiler warnings.
48397         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
48398
48399 2009-03-05  Bruno Haible  <bruno@clisp.org>
48400
48401         * tests/test-ftell.c (main): Disable test beyond end of file on
48402         FreeMiNT.
48403         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
48404
48405 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
48406
48407         * lib/filevercmp.c: Move hidden files up in ordering.
48408         * tests/test-filevercmp.c: Add tests for hidden files.
48409
48410 2009-03-04  Bruno Haible  <bruno@clisp.org>
48411
48412         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
48413         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
48414         AM_CFLAGS.
48415         Reported by Simon Josefsson.
48416
48417 2009-03-03  Bruno Haible  <bruno@clisp.org>
48418
48419         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
48420         Reported by Simon Josefsson.
48421
48422         * doc/ld-version-script.texi: Update node reference.
48423
48424 2009-03-03  Bruno Haible  <bruno@clisp.org>
48425
48426         * modules/visibility (License): Change to 'unlimited'.
48427         Suggested by Simon Josefsson.
48428
48429 2009-03-03  Jim Meyering  <meyering@redhat.com>
48430
48431         unlinkdir: cannot_unlink_dir may modify process state
48432         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
48433         it's neither thread-safe nor appropriate for use in a library.
48434
48435 2009-03-03  Eric Blake  <ebb9@byu.net>
48436
48437         test-closein: silence test under Darwin
48438         * tests/test-closein.sh: Ignore stderr from cat, since we don't
48439         care if it dies from EPIPE or EBADF.
48440
48441 2009-03-03  Bruno Haible  <bruno@clisp.org>
48442
48443         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
48444         earlier.
48445         * doc/visibility.texi: Fix @node and @section.
48446
48447 2009-03-03  Simon Josefsson  <simon@josefsson.org>
48448
48449         * doc/gnulib.texi: Link to sections for ld version script and
48450         visibility.
48451         * doc/visibility.texi: Add @node and @section.
48452         * modules/ld-version-script: New module.
48453         * m4/ld-version-script.m4: New file.
48454         * doc/ld-version-script.texi: New file.
48455
48456 2009-03-02  David Lutterkort  <lutter@redhat.com>
48457
48458         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
48459         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48460
48461 2009-03-02  Bruno Haible  <bruno@clisp.org>
48462
48463         * doc/visibility.texi: Mention libtool's -export-symbols option.
48464
48465 2009-03-02  Jim Meyering  <meyering@redhat.com>
48466
48467         announce-gen: new option: --no-print-checksums
48468         * build-aux/announce-gen (usage): Describe it.
48469         (print_checksums): Print a newline here, not in the [*] footnote.
48470         (main): Honor it.
48471
48472 2009-03-01  Bruno Haible  <bruno@clisp.org>
48473
48474         Use socklen_t in the native Windows replacements prototypes.
48475         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
48476         instead of 'int'.
48477         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48478         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48479         * modules/getsockopt (Depends-on): Add socklen.
48480         * modules/setsockopt (Depends-on): Add socklen.
48481
48482 2009-03-01  Bruno Haible  <bruno@clisp.org>
48483
48484         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
48485         least 4.2.
48486
48487 2009-03-01  Eric Blake  <ebb9@byu.net>
48488             Bruno Haible  <bruno@clisp.org>
48489
48490         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
48491         error messages.
48492         * lib/wait-process.c (wait_subprocess): Omit error message about
48493         deadly signal sent to the child of termsigp != NULL.
48494
48495 2009-03-01  Eric Blake  <ebb9@byu.net>
48496
48497         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
48498
48499 2009-03-01  Bruno Haible  <bruno@clisp.org>
48500
48501         Avoid a gcc warning.
48502         * tests/test-sched.c (b): Make global.
48503         Reported by Eric Blake.
48504
48505 2009-01-19  Martin Lambers  <marlam@marlam.de>
48506
48507         Provide POSIX semantics for socket timeout options on W32.
48508         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
48509         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
48510         * modules/setsockopt: Depend on sys_time module for struct timeval.
48511         * modules/getsockopt: Depend on sys_time module for struct timeval.
48512
48513 2009-03-01  Simon Josefsson  <simon@josefsson.org>
48514
48515         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
48516         __USE_GNU, for consistency with netdb.in.h.
48517         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48518
48519 2009-03-01  Bruno Haible  <bruno@clisp.org>
48520
48521         More support for FreeMiNT.
48522         * lib/fseeko.c (rpl_fseeko): Complete last commit.
48523         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48524
48525 2009-03-01  Bruno Haible  <bruno@clisp.org>
48526
48527         More support for FreeMiNT.
48528         * lib/fpurge.c (fpurge): Correct last commit.
48529         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48530
48531 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48532
48533         Fix unportable awk script in vc-list-files.
48534         * build-aux/vc-list-files: In the replacement awk script, use
48535         substr with a second argument of 1, not zero.
48536         Report by Simon Josefsson.
48537
48538 2009-02-28  Bruno Haible  <bruno@clisp.org>
48539
48540         More support for FreeMiNT.
48541         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
48542         to FreeMiNT today.
48543         * lib/fwriting.c (fwriting): Likewise.
48544         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
48545
48546 2009-02-28  Bruno Haible  <bruno@clisp.org>
48547
48548         * tests/test-freadseek.c (main): Disable test beyond end of file on
48549         FreeMiNT.
48550         * tests/test-ftello.c (main): Likewise.
48551         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
48552
48553 2009-02-28  Bruno Haible  <bruno@clisp.org>
48554
48555         Add tentative support for FreeMiNT.
48556         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
48557         * lib/fpurge.c (fpurge): Likewise.
48558         * lib/freadable.c (freadable): Likewise.
48559         * lib/freading.c (freading): Likewise.
48560         * lib/freadptr.c (freadptr): Likewise.
48561         * lib/freadseek.c (freadptrinc): Likewise.
48562         * lib/fseeko.c (rpl_fseeko): Likewise.
48563         * lib/fseterr.c (fseterr): Likewise.
48564         * lib/fwritable.c (fwritable): Likewise.
48565         * lib/fwriting.c (fwriting): Likewise.
48566         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
48567         Hourihane.
48568         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48569
48570 2009-02-28  Bruno Haible  <bruno@clisp.org>
48571
48572         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
48573         SIGCHLD.
48574         Reported by Jim Meyering.
48575
48576 2009-02-28  Bruno Haible  <bruno@clisp.org>
48577
48578         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
48579         Mention the results of these tests on various platforms.
48580         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
48581         order.
48582         * doc/posix-functions/printf.texi: Likewise.
48583         * doc/posix-functions/snprintf.texi: Likewise.
48584         * doc/posix-functions/sprintf.texi: Likewise.
48585         * doc/posix-functions/vfprintf.texi: Likewise.
48586         * doc/posix-functions/vprintf.texi: Likewise.
48587         * doc/posix-functions/vsnprintf.texi: Likewise.
48588         * doc/posix-functions/vsprintf.texi: Likewise.
48589         * doc/glibc-functions/obstack_printf.texi: Likewise.
48590         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
48591
48592 2009-02-28  Bruno Haible  <bruno@clisp.org>
48593
48594         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
48595         Reported by Loïc Minier <lool@dooz.org>.
48596
48597 2009-02-27  Bruno Haible  <bruno@clisp.org>
48598
48599         * gnulib-tool (func_import): Make the sed expression used to create the
48600         sed script for updating the .gitignore file POSIX compliant.
48601         Reported by Eric Blake.
48602
48603 2009-02-27  Bruno Haible  <bruno@clisp.org>
48604
48605         * gnulib-tool (sed): Don't alias as "sed --posix".
48606         Reported by Eric Blake.
48607
48608 2009-02-27  Bruno Haible  <bruno@clisp.org>
48609
48610         Avoid test link errors.
48611         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
48612         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
48613         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
48614         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
48615         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48616
48617 2009-02-27  Bruno Haible  <bruno@clisp.org>
48618
48619         Avoid spurious "(cached)" in configure output.
48620         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
48621         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
48622         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48623         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48624         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48625         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48626         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48627         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48628         Reported by Eric Blake.
48629
48630 2009-02-27  Eric Blake  <ebb9@byu.net>
48631
48632         printf: fix regression in previous patch
48633         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
48634
48635 2009-02-27  Bruno Haible  <bruno@clisp.org>
48636
48637         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
48638         value.
48639         * lib/stdint.in.h: Likewise.
48640         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
48641
48642 2009-02-27  Eric Blake  <ebb9@byu.net>
48643
48644         doc: mention more functions added in cygwin 1.7.0
48645         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
48646         addition.
48647         * doc/posix-functions/open_wmemstream.texi: Likewise.
48648         * doc/posix-functions/wcsnlen.texi: Likewise.
48649         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48650         * doc/posix-functions/wcstod.texi: Likewise.
48651         * doc/posix-functions/wcstof.texi: Likewise.
48652         * doc/posix-functions/wcstoimax.texi: Likewise.
48653         * doc/posix-functions/wcstok.texi: Likewise.
48654         * doc/posix-functions/wcstoumax.texi: Likewise.
48655
48656         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
48657         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
48658         * doc/posix-functions/fprintf.texi: Update.
48659         * doc/posix-functions/printf.texi: Update.
48660         * doc/posix-functions/snprintf.texi: Update.
48661         * doc/posix-functions/sprintf.texi: Update.
48662         * doc/posix-functions/vfprintf.texi: Update.
48663         * doc/posix-functions/vprintf.texi: Update.
48664         * doc/posix-functions/vsnprintf.texi: Update.
48665         * doc/posix-functions/vsprintf.texi: Update.
48666         * doc/glibc-functions/obstack_printf.texi: Update.
48667         * doc/glibc-functions/obstack_vprintf.texi: Update.
48668
48669 2009-02-26  Eric Blake  <ebb9@byu.net>
48670
48671         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
48672         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
48673         compilation bug by using runtime conversion.
48674         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48675         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
48676         * modules/ceill-tests (Files): Use nan.h.
48677         * modules/floorl-tests (Files): Likewise.
48678         * modules/frexpl-tests (Files): Likewise.
48679         * modules/isnanl-tests (Files): Likewise.
48680         * modules/ldexpl-tests (Files): Likewise.
48681         * modules/roundl-tests (Files): Likewise.
48682         * modules/truncl-tests (Files): Likewise.
48683         * tests/test-ceill.c (main): Use a working NaN.
48684         * tests/test-floorl.c (main): Likewise.
48685         * tests/test-frexpl.c (main): Likewise.
48686         * tests/test-isnan.c (test_long_double): Likewise.
48687         * tests/test-isnanl.h (main): Likewise.
48688         * tests/test-ldexpl.h (main): Likewise.
48689         * tests/test-roundl.h (main): Likewise.
48690         * tests/test-truncl.h (main): Likewise.
48691         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
48692
48693 2009-02-26  Eric Blake  <ebb9@byu.net>
48694             Bruno Haible  <bruno@clisp.org>
48695
48696         Work around a *printf bug with %ls on Solaris.
48697         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
48698         precision is specified, sprintf stops converting the wide string
48699         argument when the number of bytes that have been produced by this
48700         conversion equals or exceeds the precision.
48701         * doc/posix-functions/fprintf.texi: Update.
48702         * doc/posix-functions/printf.texi: Update.
48703         * doc/posix-functions/snprintf.texi: Update.
48704         * doc/posix-functions/sprintf.texi: Update.
48705         * doc/posix-functions/vfprintf.texi: Update.
48706         * doc/posix-functions/vprintf.texi: Update.
48707         * doc/posix-functions/vsnprintf.texi: Update.
48708         * doc/posix-functions/vsprintf.texi: Update.
48709         * doc/glibc-functions/obstack_printf.texi: Update.
48710         * doc/glibc-functions/obstack_vprintf.texi: Update.
48711
48712 2009-02-26  Eric Blake  <ebb9@byu.net>
48713
48714         stdlib: favor compiler check of random.h
48715         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
48716         to avoid an ObjC random.h installed by Swarm.
48717
48718 2009-02-26  Bruno Haible  <bruno@clisp.org>
48719
48720         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
48721         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
48722         Reported by Gary V. Vaughan <gary@gnu.org>.
48723
48724 2009-02-26  Bruno Haible  <bruno@clisp.org>
48725
48726         Fix *printf behaviour regarding the %ls directive.
48727         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
48728         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
48729         NEED_PRINTF_DIRECTIVE_LS.
48730         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
48731         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48732         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48733         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
48734         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
48735         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
48736         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48737         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48738         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48739         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48740         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48741         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
48742         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48743         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48744         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48745         * doc/posix-functions/fprintf.texi: Update.
48746         * doc/posix-functions/printf.texi: Update.
48747         * doc/posix-functions/snprintf.texi: Update.
48748         * doc/posix-functions/sprintf.texi: Update.
48749         * doc/posix-functions/vfprintf.texi: Update.
48750         * doc/posix-functions/vprintf.texi: Update.
48751         * doc/posix-functions/vsnprintf.texi: Update.
48752         * doc/posix-functions/vsprintf.texi: Update.
48753         * doc/glibc-functions/obstack_printf.texi: Update.
48754         * doc/glibc-functions/obstack_vprintf.texi: Update.
48755         Reported by Eric Blake.
48756
48757 2009-02-25  Bruno Haible  <bruno@clisp.org>
48758
48759         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
48760         with known value.
48761         Reported by Gary V. Vaughan <gary@gnu.org>.
48762
48763 2009-02-25  Bruno Haible  <bruno@clisp.org>
48764
48765         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
48766         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
48767         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
48768         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
48769         Reported by Gary V. Vaughan <gary@gnu.org>.
48770
48771 2009-02-25  Bruno Haible  <bruno@clisp.org>
48772
48773         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
48774         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
48775         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
48776         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
48777         Reported by Gary V. Vaughan <gary@gnu.org>.
48778
48779 2009-02-25  Eric Blake  <ebb9@byu.net>
48780
48781         tests: skip fseek/ftell tests if ungetc is broken
48782         * m4/ungetc.m4: New file.
48783         * modules/fseek-tests: Split test, so ungetc dependency is
48784         separate from rest of test.
48785         * modules/fseeko-tests: Likewise.
48786         * modules/ftell-tests: Likewise.
48787         * modules/ftello-tests: Likewise.
48788         * tests/test-fseek.c (main): Isolate ungetc dependency.
48789         * tests/test-fseeko.c (main): Likewise.
48790         * tests/test-ftell.c (main): Likewise.
48791         * tests/test-ftello.c (main): Likewise.
48792         * tests/test-fseek2.sh: New file.
48793         * tests/test-fseeko2.sh: Likewise.
48794         * tests/test-ftell2.sh: Likewise.
48795         * tests/test-ftello2.sh: Likewise.
48796
48797 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
48798
48799         test-getaddrinfo: fix usage of skip return code 77
48800         * tests/test-gettaddrinfo.c: Return skip code 77 only
48801         for first occurrence of skip (4x77 is not 77)
48802
48803 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
48804
48805         strtod: avoid C99 decl-after-statement
48806         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
48807
48808 2009-02-24  Eric Blake  <ebb9@byu.net>
48809
48810         strtod: detect HP-UX 11.31 bug
48811         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
48812         Reported by Gary V. Vaughan.
48813
48814 2009-02-23  Bruno Haible  <bruno@clisp.org>
48815
48816         Fix invalid read past end of memory block.
48817         * lib/vasnprintf.c (DCHAR_SET): Define.
48818         (local_wcslen): Define only when needed.
48819         (local_strnlen, local_wcsnlen): New functions.
48820         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
48821         directives that involve a conversion ourselves.
48822         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
48823         wcsnlen, mbrtowc, wcrtomb.
48824         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
48825         * tests/test-vasprintf-posix.c (test_function): Likewise.
48826         * tests/test-snprintf-posix.h (test_function): Likewise.
48827         * tests/test-sprintf-posix.h (test_function): Likewise.
48828         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48829
48830 2009-02-22  Bruno Haible  <bruno@clisp.org>
48831
48832         Implement new clarified decomposition of Hangul syllables.
48833         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
48834         of type LTV, return only a pairwise decomposition.
48835         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
48836         Likewise.
48837         * tests/uninorm/test-decomposition.c (main): Updated expected result.
48838         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
48839         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
48840
48841 2009-02-22  Bruno Haible  <bruno@clisp.org>
48842
48843         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
48844         zero-length results and shrink excess allocated memory.
48845         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
48846         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
48847         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
48848         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
48849         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
48850         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
48851         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
48852         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
48853         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
48854         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
48855         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
48856         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
48857
48858 2009-02-21  Bruno Haible  <bruno@clisp.org>
48859
48860         * doc/gnulib.texi: Include safe-alloc.texi earlier.
48861         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
48862         spaces after a period. Put a space between a macro name and its
48863         argument list. Trivial rewordings.
48864         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
48865         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
48866         (main): Return 0 explicitly.
48867
48868 2009-02-21  Bruno Haible  <bruno@clisp.org>
48869
48870         Tests for module 'uninorm/filter'.
48871         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
48872         * modules/uninorm/filter-tests: New file.
48873
48874         New module 'uninorm/filter'.
48875         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
48876         uninorm_filter_flush, uninorm_filter_free): New declarations.
48877         * lib/uninorm/uninorm-filter.c: New file.
48878         * modules/uninorm/filter: New file.
48879
48880 2009-02-21  Bruno Haible  <bruno@clisp.org>
48881
48882         Tests for module 'uninorm/nfkc'.
48883         * tests/uninorm/test-nfkc.c: New file.
48884         * tests/uninorm/test-u8-nfkc.c: New file.
48885         * tests/uninorm/test-u16-nfkc.c: New file.
48886         * tests/uninorm/test-u32-nfkc.c: New file.
48887         * tests/uninorm/test-u32-nfkc-big.sh: New file.
48888         * tests/uninorm/test-u32-nfkc-big.c: New file.
48889         * modules/uninorm/nfkc-tests: New file.
48890
48891         New module 'uninorm/nfkc'.
48892         * lib/uninorm/nfkc.c: New file.
48893         * modules/uninorm/nfkc: New file.
48894
48895         Tests for module 'uninorm/nfkd'.
48896         * tests/uninorm/test-nfkd.c: New file.
48897         * tests/uninorm/test-u8-nfkd.c: New file.
48898         * tests/uninorm/test-u16-nfkd.c: New file.
48899         * tests/uninorm/test-u32-nfkd.c: New file.
48900         * tests/uninorm/test-u32-nfkd-big.sh: New file.
48901         * tests/uninorm/test-u32-nfkd-big.c: New file.
48902         * modules/uninorm/nfkd-tests: New file.
48903
48904         New module 'uninorm/nfkd'.
48905         * lib/uninorm/nfkd.c: New file.
48906         * modules/uninorm/nfkd: New file.
48907
48908         Tests for module 'uninorm/nfc'.
48909         * tests/uninorm/test-nfc.c: New file.
48910         * tests/uninorm/test-u8-nfc.c: New file.
48911         * tests/uninorm/test-u16-nfc.c: New file.
48912         * tests/uninorm/test-u32-nfc.c: New file.
48913         * tests/uninorm/test-u32-nfc-big.sh: New file.
48914         * tests/uninorm/test-u32-nfc-big.c: New file.
48915         * modules/uninorm/nfc-tests: New file.
48916
48917         New module 'uninorm/nfc'.
48918         * lib/uninorm/nfc.c: New file.
48919         * modules/uninorm/nfc: New file.
48920
48921         Tests for module 'uninorm/nfd'.
48922         * tests/uninorm/test-nfd.c: New file.
48923         * tests/uninorm/test-u8-nfd.c: New file.
48924         * tests/uninorm/test-u16-nfd.c: New file.
48925         * tests/uninorm/test-u32-nfd.c: New file.
48926         * tests/uninorm/test-u32-nfd-big.sh: New file.
48927         * tests/uninorm/test-u32-nfd-big.c: New file.
48928         * tests/uninorm/test-u32-normalize-big.h: New file.
48929         * tests/uninorm/test-u32-normalize-big.c: New file.
48930         * tests/uninorm/NormalizationTest.txt: New file, created from
48931         Unicode 5.1.0 NormalizationTest.txt.
48932         * modules/uninorm/nfd-tests: New file.
48933
48934         New module 'uninorm/nfd'.
48935         * lib/uninorm/nfd.c: New file.
48936         * modules/uninorm/nfd: New file.
48937
48938         New module 'uninorm/u32-normalize'.
48939         * lib/uninorm/u32-normalize.c: New file.
48940         * modules/uninorm/u32-normalize: New file.
48941
48942         New module 'uninorm/u16-normalize'.
48943         * lib/uninorm/u16-normalize.c: New file.
48944         * modules/uninorm/u16-normalize: New file.
48945
48946         New module 'uninorm/u8-normalize'.
48947         * lib/uninorm/u8-normalize.c: New file.
48948         * lib/uninorm/normalize-internal.h: New file.
48949         * lib/uninorm/u-normalize-internal.h: New file.
48950         * modules/uninorm/u8-normalize: New file.
48951
48952         New module 'uninorm/decompose-internal'.
48953         * lib/uninorm/decompose-internal.c: New file.
48954         * modules/uninorm/decompose-internal: New file.
48955
48956         Tests for module 'uninorm/composition'.
48957         * tests/uninorm/test-composition.c: New file.
48958         * modules/uninorm/composition-tests: New file.
48959
48960         New module 'uninorm/composition'.
48961         * lib/uninorm/composition.c: New file.
48962         * lib/uninorm/composition-table.gperf: New file, generated by
48963         gen-uni-tables.
48964         * modules/uninorm/composition: New file.
48965
48966         Tests for module 'uninorm/compat-decomposition'.
48967         * tests/uninorm/test-compat-decomposition.c: New file.
48968         * modules/uninorm/compat-decomposition-tests: New file.
48969
48970         New module 'uninorm/compat-decomposition'.
48971         * lib/uninorm/decompose-internal.h: New file.
48972         * lib/uninorm/compat-decomposition.c: New file.
48973         * modules/uninorm/compat-decomposition: New file.
48974
48975         Tests for module 'uninorm/canonical-decomposition'.
48976         * tests/uninorm/test-canonical-decomposition.c: New file.
48977         * modules/uninorm/canonical-decomposition-tests: New file.
48978
48979         New module 'uninorm/canonical-decomposition'.
48980         * lib/uninorm/canonical-decomposition.c: New file.
48981         * modules/uninorm/canonical-decomposition: New file.
48982
48983         Tests for module 'uninorm/decomposition'.
48984         * tests/uninorm/test-decomposition.c: New file.
48985         * modules/uninorm/decomposition-tests: New file.
48986
48987         New module 'uninorm/decomposition'.
48988         * lib/uninorm/decomposition.c: New file.
48989         * modules/uninorm/decomposition: New file.
48990
48991         New module 'uninorm/decomposition-table'.
48992         * lib/uninorm/decomposition-table.h: New file.
48993         * lib/uninorm/decomposition-table.c: New file.
48994         * lib/uninorm/decomposition-table1.h: New file, generated by
48995         gen-uni-tables.
48996         * lib/uninorm/decomposition-table2.h: New file, generated by
48997         gen-uni-tables.
48998         * modules/uninorm/decomposition-table: New file.
48999
49000         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
49001         (UC_DECOMP_*): New enumeration items.
49002         (get_decomposition): New function.
49003         (struct decomp_table): New type.
49004         (output_decomposition, output_decomposition_tables): New functions.
49005         (unicode_composition_exclusions): New variable.
49006         (fill_composition_exclusions, debug_output_composition_tables): New
49007         functions.
49008         (main): Accept one more argument. Invoke fill_composition_exclusions.
49009         Output decomposition and composition tables.
49010
49011         New module 'uninorm/base'.
49012         * lib/uninorm.h: New file.
49013         * lib/unictype.h: Update comment.
49014         * modules/uninorm/base: New file.
49015
49016 2009-02-21  David Lutterkort  <lutter@redhat.com>
49017
49018         Tests for module 'safe-alloc'.
49019         * tests/test-safe-alloc.c: New file.
49020         * modules/safe-alloc-tests: New file.
49021
49022         New module 'safe-alloc'.
49023         * lib/safe-alloc.h: New file.
49024         * lib/safe-alloc.c: New file.
49025         * m4/safe-alloc.m4: New file.
49026         * modules/safe-alloc: New file.
49027         * doc/safe-alloc.texi: New file.
49028         * doc/gnulib.texi: Include it.
49029         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
49030         safe-alloc.
49031
49032 2009-02-18  Bruno Haible  <bruno@clisp.org>
49033
49034         Fix link error on non-glibc systems.
49035         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
49036         variable.
49037         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49038
49039 2009-02-18  Jim Meyering  <meyering@redhat.com>
49040
49041         fts: avoid used-uninitialized error due to recent change
49042         * lib/fts.c (fts_read): Guard uses of the new member,
49043         parent->fts_n_dirs_remaining, since it's not relevant for
49044         the parent of a directory specified on the command-line.
49045
49046 2009-02-17  James Youngman  <jay@gnu.org>
49047             Bruno Haible  <bruno@clisp.org>
49048
49049         * m4/include_next.m4: Reformulate comment.
49050
49051 2009-02-16  Jim Meyering  <meyering@redhat.com>
49052
49053         fts: add #if guards so that the fts_lgpl module still builds
49054         * lib/fts.c: Guard just-added hash-table-using parts with
49055         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
49056         Reported by Simon Josefsson.
49057
49058 2009-02-15  Bruno Haible  <bruno@clisp.org>
49059
49060         * modules/array-mergesort-tests: New file.
49061         * tests/test-array-mergesort.c: New file.
49062
49063         New module 'array-mergesort'.
49064         * modules/array-mergesort: New file.
49065         * lib/array-mergesort.h: New file.
49066
49067 2009-02-15  Bruno Haible  <bruno@clisp.org>
49068
49069         Fix 2009-02-07 commit.
49070         * lib/gen-uni-tables.c (output_predicate, output_category,
49071         output_combclass, output_bidi_category, output_decimal_digit,
49072         output_digit, output_numeric, output_mirror, output_scripts,
49073         output_ident_category, output_simple_mapping): Fix format directives.
49074         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
49075
49076 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
49077
49078         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
49079         fixes are available from IBM.
49080
49081 2009-02-13  Jim Meyering  <meyering@redhat.com>
49082
49083         fts: arrange not to stat non-directories in more cases
49084         This makes GNU find (when it doesn't need to stat each file)
49085         *much* more efficient at traversing reiserfs file systems.
49086         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
49087         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
49088         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
49089         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
49090         (leaf_optimization_applies): New function.
49091         (LCO_hash, LCO_compare): New helper functions.
49092         (link_count_optimize_ok): New function.
49093         (fts_stat): Initialize new member (if dir).
49094         (fts_read): Decrement parent's fts_n_dirs_remaining count if
49095         we've just stat'ed a directory.  Skip the stat call when possible.
49096         ---
49097         Note this AFS-related exchange:
49098         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
49099         and note find's pioctl call in find/fstype.c.
49100         But that is necessary only if you want to enable the
49101         optimization for AFS, and for now, I don't.
49102
49103         fts: move a function definition "up" (no semantic change)
49104         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
49105         "up" to precede upcoming use of a related function.
49106
49107 2009-02-11  Jim Meyering  <meyering@redhat.com>
49108
49109         fts: correct internal computation of nlinks (optimization-related)
49110         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
49111         whether the current entry is a directory, so don't test it.
49112
49113 2009-02-10  Bruno Haible  <bruno@clisp.org>
49114
49115         Tests for module 'uniwbrk/ulc-wordbreaks'.
49116         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
49117         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
49118         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
49119
49120         Tests for module 'uniwbrk/u32-wordbreaks'.
49121         * modules/uniwbrk/u32-wordbreaks-tests: New file.
49122         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
49123
49124         Tests for module 'uniwbrk/u16-wordbreaks'.
49125         * modules/uniwbrk/u16-wordbreaks-tests: New file.
49126         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
49127
49128         Tests for module 'uniwbrk/u8-wordbreaks'.
49129         * modules/uniwbrk/u8-wordbreaks-tests: New file.
49130         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
49131
49132 2009-02-10  Bruno Haible  <bruno@clisp.org>
49133
49134         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
49135         property.
49136         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
49137         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
49138         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
49139
49140 2009-02-10  Simon Josefsson  <simon@josefsson.org>
49141
49142         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
49143         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
49144
49145 2009-02-10  Bruno Haible  <bruno@clisp.org>
49146
49147         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
49148         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
49149         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
49150         * lib/unilbrk/u8-possible-linebreaks.c: Update.
49151         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
49152         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
49153
49154 2009-02-09  Simon Josefsson  <simon@josefsson.org>
49155
49156         * lib/sockets.h (gl_fd_to_handle): New function.
49157
49158         * tests/test-sockets.c: Call gl_fd_to_handle.
49159
49160 2009-02-09  Bruno Haible  <bruno@clisp.org>
49161
49162         * doc/havelib.texi: Document the conventions on bi-arch systems.
49163
49164 2009-02-08  Bruno Haible  <bruno@clisp.org>
49165
49166         Document the AC_LIB_LINKFLAGS macro.
49167         * doc/havelib.texi: New file, mostly written on 2005-05-24.
49168         * doc/gnulib.texi: Include it.
49169
49170 2009-02-08  Bruno Haible  <bruno@clisp.org>
49171
49172         Fix wrong order of sections, compared to TOC.
49173         * doc/gnulib.texi: Include relocatable-maint.texi after the
49174         "Regular expressions" node, not before.
49175
49176 2009-02-08  Bruno Haible  <bruno@clisp.org>
49177
49178         Tests for module 'unicase/totitle'.
49179         * modules/unicase/totitle-tests: New file.
49180
49181         Tests for module 'unicase/tolower'.
49182         * modules/unicase/tolower-tests: New file.
49183
49184         Tests for module 'unicase/toupper'.
49185         * modules/unicase/toupper-tests: New file.
49186         * tests/unicase/test-mapping-part1.h: New file.
49187         * tests/unicase/test-mapping-part2.h: New file.
49188
49189         New module 'unicase/totitle'.
49190         * modules/unicase/totitle: New file.
49191         * lib/unicase/totitle.c: New file.
49192
49193         New module 'unicase/tolower'.
49194         * modules/unicase/tolower: New file.
49195         * lib/unicase/tolower.c: New file.
49196
49197         New module 'unicase/toupper'.
49198         * modules/unicase/toupper: New file.
49199         * lib/unicase/toupper.c: New file.
49200         * lib/unicase/simple-mapping.h: New file.
49201
49202         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
49203         (mapping_table): New structure.
49204         (output_simple_mapping): New function.
49205         (main): Invoke output_simple_mapping_test and output_simple_mapping.
49206         * modules/gen-uni-tables (Description): Update.
49207         * lib/unicase/toupper.h: New file, automatically generated by
49208         gen-uni-tables.
49209         * lib/unicase/tolower.h: New file, automatically generated by
49210         gen-uni-tables.
49211         * lib/unicase/totitle.h: New file, automatically generated by
49212         gen-uni-tables.
49213         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
49214         gen-uni-tables.
49215         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
49216         gen-uni-tables.
49217         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
49218         gen-uni-tables.
49219
49220         New module 'unicase/base'.
49221         * modules/unicase/base: New file.
49222         * lib/unicase.h: New file.
49223
49224 2009-02-08  Bruno Haible  <bruno@clisp.org>
49225
49226         New module 'uniwbrk/ulc-wordbreaks'.
49227         * modules/uniwbrk/ulc-wordbreaks: New file.
49228         * lib/uniwbrk/ulc-wordbreaks.c: New file.
49229
49230         New module 'uniwbrk/u32-wordbreaks'.
49231         * modules/uniwbrk/u32-wordbreaks: New file.
49232         * lib/uniwbrk/u32-wordbreaks.c: New file.
49233
49234         New module 'uniwbrk/u16-wordbreaks'.
49235         * modules/uniwbrk/u16-wordbreaks: New file.
49236         * lib/uniwbrk/u16-wordbreaks.c: New file.
49237
49238         New module 'uniwbrk/u8-wordbreaks'.
49239         * modules/uniwbrk/u8-wordbreaks: New file.
49240         * lib/uniwbrk/u8-wordbreaks.c: New file.
49241         * lib/uniwbrk/u-wordbreaks.h: New file.
49242
49243         New module 'uniwbrk/table'.
49244         * modules/uniwbrk/table: New file.
49245         * lib/uniwbrk/wbrktable.h: New file.
49246         * lib/uniwbrk/wbrktable.c: New file.
49247
49248         New module 'uniwbrk/wordbreak-property'.
49249         * modules/uniwbrk/wordbreak-property: New file.
49250         * lib/uniwbrk/wordbreak-property.c: New file.
49251
49252         * lib/gen-uni-tables.c (WBP_*): New enum items.
49253         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
49254         (unicode_org_wbp): New variable.
49255         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
49256         New functions.
49257         (wbp_table): New structure.
49258         (output_wbp, output_wbrk_tables): New functions.
49259         (main): Accept additional argument. Invoke fill_org_wbp,
49260         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
49261         output_wbrk_tables.
49262         * modules/gen-uni-tables (Description): Update.
49263         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
49264         gen-uni-tables.
49265
49266         New module 'uniwbrk/base'.
49267         * modules/uniwbrk/base: New file.
49268         * lib/uniwbrk.h: New file.
49269
49270 2009-02-08  Bruno Haible  <bruno@clisp.org>
49271
49272         Update to Unicode 5.1.0.
49273         * lib/gen-uni-tables.c (is_property_alphabetic): Include
49274         U+2185..U+2188.
49275         (is_property_default_ignorable_code_point): Don't include characters
49276         of category Cc or Cs and not-a-characters.
49277         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
49278         U+0D79, U+109E, U+109F, U+A60C.
49279         * lib/unictype/bidi_of.h: Regenerated.
49280         * lib/unictype/blocks.h: Regenerated.
49281         * lib/unictype/categ_C.h: Regenerated.
49282         * lib/unictype/categ_Cf.h: Regenerated.
49283         * lib/unictype/categ_Cn.h: Regenerated.
49284         * lib/unictype/categ_L.h: Regenerated.
49285         * lib/unictype/categ_Ll.h: Regenerated.
49286         * lib/unictype/categ_Lm.h: Regenerated.
49287         * lib/unictype/categ_Lo.h: Regenerated.
49288         * lib/unictype/categ_Lu.h: Regenerated.
49289         * lib/unictype/categ_M.h: Regenerated.
49290         * lib/unictype/categ_Mc.h: Regenerated.
49291         * lib/unictype/categ_Me.h: Regenerated.
49292         * lib/unictype/categ_Mn.h: Regenerated.
49293         * lib/unictype/categ_N.h: Regenerated.
49294         * lib/unictype/categ_Nd.h: Regenerated.
49295         * lib/unictype/categ_Nl.h: Regenerated.
49296         * lib/unictype/categ_No.h: Regenerated.
49297         * lib/unictype/categ_P.h: Regenerated.
49298         * lib/unictype/categ_Pd.h: Regenerated.
49299         * lib/unictype/categ_Pe.h: Regenerated.
49300         * lib/unictype/categ_Pf.h: Regenerated.
49301         * lib/unictype/categ_Pi.h: Regenerated.
49302         * lib/unictype/categ_Po.h: Regenerated.
49303         * lib/unictype/categ_Ps.h: Regenerated.
49304         * lib/unictype/categ_S.h: Regenerated.
49305         * lib/unictype/categ_Sk.h: Regenerated.
49306         * lib/unictype/categ_Sm.h: Regenerated.
49307         * lib/unictype/categ_So.h: Regenerated.
49308         * lib/unictype/categ_of.h: Regenerated.
49309         * lib/unictype/combining.h: Regenerated.
49310         * lib/unictype/ctype_alnum.h: Regenerated.
49311         * lib/unictype/ctype_alpha.h: Regenerated.
49312         * lib/unictype/ctype_graph.h: Regenerated.
49313         * lib/unictype/ctype_lower.h: Regenerated.
49314         * lib/unictype/ctype_print.h: Regenerated.
49315         * lib/unictype/ctype_punct.h: Regenerated.
49316         * lib/unictype/ctype_upper.h: Regenerated.
49317         * lib/unictype/decdigit.h: Regenerated.
49318         * lib/unictype/digit.h: Regenerated.
49319         * lib/unictype/mirror.h: Regenerated.
49320         * lib/unictype/numeric.h: Regenerated.
49321         * lib/unictype/pr_alphabetic.h: Regenerated.
49322         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
49323         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
49324         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
49325         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
49326         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
49327         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
49328         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
49329         * lib/unictype/pr_combining.h: Regenerated.
49330         * lib/unictype/pr_dash.h: Regenerated.
49331         * lib/unictype/pr_decimal_digit.h: Regenerated.
49332         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
49333         * lib/unictype/pr_deprecated.h: Regenerated.
49334         * lib/unictype/pr_diacritic.h: Regenerated.
49335         * lib/unictype/pr_extender.h: Regenerated.
49336         * lib/unictype/pr_format_control.h: Regenerated.
49337         * lib/unictype/pr_grapheme_base.h: Regenerated.
49338         * lib/unictype/pr_grapheme_extend.h: Regenerated.
49339         * lib/unictype/pr_grapheme_link.h: Regenerated.
49340         * lib/unictype/pr_id_continue.h: Regenerated.
49341         * lib/unictype/pr_id_start.h: Regenerated.
49342         * lib/unictype/pr_ideographic.h: Regenerated.
49343         * lib/unictype/pr_ignorable_control.h: Regenerated.
49344         * lib/unictype/pr_lowercase.h: Regenerated.
49345         * lib/unictype/pr_math.h: Regenerated.
49346         * lib/unictype/pr_numeric.h: Regenerated.
49347         * lib/unictype/pr_other_alphabetic.h: Regenerated.
49348         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
49349         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
49350         * lib/unictype/pr_other_id_continue.h: Regenerated.
49351         * lib/unictype/pr_other_lowercase.h: Regenerated.
49352         * lib/unictype/pr_other_math.h: Regenerated.
49353         * lib/unictype/pr_punctuation.h: Regenerated.
49354         * lib/unictype/pr_sentence_terminal.h: Regenerated.
49355         * lib/unictype/pr_soft_dotted.h: Regenerated.
49356         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
49357         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
49358         * lib/unictype/pr_unified_ideograph.h: Regenerated.
49359         * lib/unictype/pr_uppercase.h: Regenerated.
49360         * lib/unictype/pr_xid_continue.h: Regenerated.
49361         * lib/unictype/pr_xid_start.h: Regenerated.
49362         * lib/unictype/pr_zero_width.h: Regenerated.
49363         * lib/unictype/scripts.h: Regenerated.
49364         * lib/unictype/scripts_byname.gperf: Regenerated.
49365         * lib/unictype/sy_java_ident.h: Regenerated.
49366         * lib/unilbrk/lbrkprop1.h: Regenerated.
49367         * lib/unilbrk/lbrkprop2.h: Regenerated.
49368         * tests/unictype/test-categ_C.c: Regenerated.
49369         * tests/unictype/test-categ_Cf.c: Regenerated.
49370         * tests/unictype/test-categ_Cn.c: Regenerated.
49371         * tests/unictype/test-categ_L.c: Regenerated.
49372         * tests/unictype/test-categ_Ll.c: Regenerated.
49373         * tests/unictype/test-categ_Lm.c: Regenerated.
49374         * tests/unictype/test-categ_Lo.c: Regenerated.
49375         * tests/unictype/test-categ_Lu.c: Regenerated.
49376         * tests/unictype/test-categ_M.c: Regenerated.
49377         * tests/unictype/test-categ_Mc.c: Regenerated.
49378         * tests/unictype/test-categ_Me.c: Regenerated.
49379         * tests/unictype/test-categ_Mn.c: Regenerated.
49380         * tests/unictype/test-categ_N.c: Regenerated.
49381         * tests/unictype/test-categ_Nd.c: Regenerated.
49382         * tests/unictype/test-categ_Nl.c: Regenerated.
49383         * tests/unictype/test-categ_No.c: Regenerated.
49384         * tests/unictype/test-categ_P.c: Regenerated.
49385         * tests/unictype/test-categ_Pd.c: Regenerated.
49386         * tests/unictype/test-categ_Pe.c: Regenerated.
49387         * tests/unictype/test-categ_Pf.c: Regenerated.
49388         * tests/unictype/test-categ_Pi.c: Regenerated.
49389         * tests/unictype/test-categ_Po.c: Regenerated.
49390         * tests/unictype/test-categ_Ps.c: Regenerated.
49391         * tests/unictype/test-categ_S.c: Regenerated.
49392         * tests/unictype/test-categ_Sk.c: Regenerated.
49393         * tests/unictype/test-categ_Sm.c: Regenerated.
49394         * tests/unictype/test-categ_So.c: Regenerated.
49395         * tests/unictype/test-ctype_alnum.c: Regenerated.
49396         * tests/unictype/test-ctype_alpha.c: Regenerated.
49397         * tests/unictype/test-ctype_graph.c: Regenerated.
49398         * tests/unictype/test-ctype_lower.c: Regenerated.
49399         * tests/unictype/test-ctype_print.c: Regenerated.
49400         * tests/unictype/test-ctype_punct.c: Regenerated.
49401         * tests/unictype/test-ctype_upper.c: Regenerated.
49402         * tests/unictype/test-decdigit.h: Regenerated.
49403         * tests/unictype/test-digit.h: Regenerated.
49404         * tests/unictype/test-numeric.h: Regenerated.
49405         * tests/unictype/test-pr_alphabetic.c: Regenerated.
49406         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
49407         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
49408         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
49409         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
49410         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
49411         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
49412         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
49413         * tests/unictype/test-pr_combining.c: Regenerated.
49414         * tests/unictype/test-pr_dash.c: Regenerated.
49415         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
49416         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
49417         * tests/unictype/test-pr_deprecated.c: Regenerated.
49418         * tests/unictype/test-pr_diacritic.c: Regenerated.
49419         * tests/unictype/test-pr_extender.c: Regenerated.
49420         * tests/unictype/test-pr_format_control.c: Regenerated.
49421         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
49422         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
49423         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
49424         * tests/unictype/test-pr_id_continue.c: Regenerated.
49425         * tests/unictype/test-pr_id_start.c: Regenerated.
49426         * tests/unictype/test-pr_ideographic.c: Regenerated.
49427         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
49428         * tests/unictype/test-pr_lowercase.c: Regenerated.
49429         * tests/unictype/test-pr_math.c: Regenerated.
49430         * tests/unictype/test-pr_numeric.c: Regenerated.
49431         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
49432         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
49433         Regenerated.
49434         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
49435         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
49436         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
49437         * tests/unictype/test-pr_other_math.c: Regenerated.
49438         * tests/unictype/test-pr_punctuation.c: Regenerated.
49439         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
49440         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
49441         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
49442         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
49443         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
49444         * tests/unictype/test-pr_uppercase.c: Regenerated.
49445         * tests/unictype/test-pr_xid_continue.c: Regenerated.
49446         * tests/unictype/test-pr_xid_start.c: Regenerated.
49447         * tests/unictype/test-pr_zero_width.c: Regenerated.
49448
49449         Update to Unicode 5.1.0.
49450         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
49451         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
49452         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
49453         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
49454         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
49455         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
49456         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
49457         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
49458         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
49459         (nonspacing_table_ind): Update.
49460         * tests/uniwidth/test-uc_width2.sh: Update expected result.
49461
49462         Update to Unicode 5.1.0.
49463         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
49464         code transform.
49465         * lib/uniname/uniname.c (unicode_character_name,
49466         unicode_name_character): Add the range 0x1Fxxx to the code transform.
49467         * lib/uniname/uninames.h: Regenerated.
49468         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
49469
49470 2009-02-07  Bruno Haible  <bruno@clisp.org>
49471
49472         Merge gen-ctype and gen-lbrk into a single program.
49473         * lib/gen-uni-tables.c: New file, incorporating
49474         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
49475         Add directory prefixes to the names of the generated files.
49476         * lib/unictype/gen-ctype.c: Remove file.
49477         * lib/unilbrk/gen-lbrk.c: Remove file.
49478         * modules/gen-uni-tables: New file.
49479         * modules/unictype/gen-ctype: Remove file.
49480         * modules/unilbrk/gen-lbrk: Remove file.
49481
49482 2009-02-07  Bruno Haible  <bruno@clisp.org>
49483
49484         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
49485
49486         New module 'unistr/u32-strcoll'.
49487         * modules/unistr/u32-strcoll: New file.
49488         * lib/unistr/u32-strcoll.c: New file.
49489
49490         New module 'unistr/u16-strcoll'.
49491         * modules/unistr/u16-strcoll: New file.
49492         * lib/unistr/u16-strcoll.c: New file.
49493
49494         New module 'unistr/u8-strcoll'.
49495         * modules/unistr/u8-strcoll: New file.
49496         * lib/unistr/u8-strcoll.c: New file.
49497         * lib/unistr/u-strcoll.h: New file.
49498
49499 2009-02-07  Bruno Haible  <bruno@clisp.org>
49500
49501         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
49502         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
49503         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
49504         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
49505         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
49506         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
49507
49508 2009-02-07  Bruno Haible  <bruno@clisp.org>
49509
49510         Make 64-bit clean.
49511         * lib/unictype/gen-ctype.c (output_predicate, output_category,
49512         output_combclass, output_bidi_category, output_decimal_digit,
49513         output_digit, output_numeric, output_mirror, output_scripts,
49514         output_ident_category): Use proper width specifier in format strings.
49515
49516 2009-02-07  Bruno Haible  <bruno@clisp.org>
49517
49518         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
49519         failure behaviour.
49520
49521 2009-02-07  Jim Meyering  <meyering@redhat.com>
49522
49523         regex: avoid compilation failure with upcoming gcc-4.4
49524         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
49525         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
49526         "... error: integer overflow in preprocessor expression".
49527
49528 2009-02-05  Ben Pfaff  <blp@gnu.org>
49529
49530         Fix link errors on Windows when close module is used.
49531         * modules/close: Add $(LIB_CLOSE) to Link section.
49532         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
49533         $(LIB_CLOSE) on Windows.
49534
49535 2009-02-05  Jim Meyering  <meyering@redhat.com>
49536
49537         still avoid unused-parameter warnings, but do it cleanly
49538         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
49539         (get_fs_usage): Cast to void instead.
49540         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
49541         (dev_from_mount_options, read_file_system_list): Cast to void.
49542         Prompted by Bruno Haible.
49543
49544 2009-02-04  Jim Meyering  <meyering@redhat.com>
49545
49546         fsusage.c: correct copyright year
49547         * lib/fsusage.c: Reflect year in which the change is pushed into
49548
49549         avoid misc. warnings
49550         * lib/fsusage.c (UNUSED_PARAM): Define.
49551         (get_fs_usage): Mark parameter "disk" as unused.
49552         * lib/getugroups.c (getgrent): Use "void" in prototype.
49553         * lib/mountlist.c: Mark unused parameters.
49554         (read_file_system_list): Declare a local with "const".
49555         * lib/nanosleep.c (getnow): Declare static.
49556         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
49557
49558         dirfd: set errno upon failure
49559         * lib/dirfd.c: Include <errno.h>.
49560         Set errno to ENOTSUP when returning -1.
49561         * modules/dirfd (Depends-on): Add errno.
49562         Suggested by John Kodis <kodis@comcast.net>.
49563
49564 2009-02-01  Bruno Haible  <bruno@clisp.org>
49565
49566         Don't assume sizeof (long) >= sizeof (void *).
49567         * lib/memcmp.c: Include stdint.h.
49568         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
49569         srcp2 to 'const byte *'.
49570         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
49571         types to uintptr_t.
49572         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
49573         * modules/memcmp (Depends-on): Add stdint.
49574         Reported by Ozkan Sezer <sezeroz@gmail.com>.
49575
49576 2009-01-30  Eric Blake  <ebb9@byu.net>
49577
49578         fix more require-before-expand issues
49579         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
49580         expand, AC_PROG_AWK.
49581         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
49582
49583 2009-01-28  Eric Blake  <ebb9@byu.net>
49584
49585         version-etc: use consistent URL formatting
49586         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
49587         Improve formatting.  Use fputs for string without %.
49588
49589 2009-01-28  Jim Meyering  <meyering@redhat.com>
49590
49591         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
49592         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
49593         "underquoted definition of NAME" from autoconf-2.59.
49594
49595 2009-01-28  Bruno Haible  <bruno@clisp.org>
49596
49597         * doc/gnulib.texi: Add "Obsolete modules" to index.
49598
49599 2009-01-28  Jim Meyering  <meyering@redhat.com>
49600
49601         useless-if-before-free: recognize more variants
49602         * build-aux/useless-if-before-free: Also recognize e.g.,
49603         if (NULL != p) free (p);
49604
49605 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
49606
49607         test-getaddrinfo: skip (don't fail) this test when there's no network
49608         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
49609         on the presumption that it means you lack network access.
49610
49611 2009-01-26  Jim Meyering  <meyering@redhat.com>
49612
49613         fflush: avoid warnings on modern systems
49614         * lib/fflush.c (rpl_fflush): Move declarations of locals,
49615         pos and result, into scopes where they're used.
49616
49617 2009-01-26  Eric Blake  <ebb9@byu.net>
49618
49619         Silence warning reintroduced by recent extensions patch.
49620         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
49621         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
49622         autoconf.
49623
49624         Backport improved autoconf semantics of AC_DEFUN_ONCE.
49625         * m4/00gnulib.m4: New file.
49626         * gnulib-tool (func_get_filelist): Always use it.
49627         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
49628         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
49629
49630 2009-01-25  Bruno Haible  <bruno@clisp.org>
49631
49632         Make test-quotearg work on MacOS X and AIX.
49633         * tests/test-quotearg.sh: New file.
49634         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
49635         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
49636         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
49637         include <libintl.h>.
49638         (fake_locale): Remove variable.
49639         (gettext, dgettext, dcgettext): Remove functions.
49640         (main): Instead of setting a fake locale, set a real locale. Call
49641         textdomain and bindtextdomain.
49642         * modules/quotearg-tests (Files): Add the new files.
49643         (Depends-on): Add gettext, setenv, unsetenv.
49644         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49645         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
49646         Augment TESTS_ENVIRONMENT.
49647
49648 2009-01-25  Bruno Haible  <bruno@clisp.org>
49649
49650         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
49651         fr_FR.ISO8859-1 locale on MacOS X.
49652         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
49653         ja_JP.eucJP locale on MacOS X.
49654         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
49655         zh_CN.GB18030 locale on MacOS X.
49656
49657 2009-01-25  Bruno Haible  <bruno@clisp.org>
49658
49659         Avoid link errors on MacOS X 10.3.
49660         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
49661         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49662
49663 2009-01-25  Bruno Haible  <bruno@clisp.org>
49664
49665         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49666         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
49667         * modules/pipe (Files): Remove m4/posix_spawn.m4.
49668         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49669         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
49670         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49671         posix_spawnattr_init, posix_spawnattr_setsigmask,
49672         posix_spawnattr_setflags, posix_spawnattr_destroy.
49673
49674         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49675         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
49676         * modules/execute (Files): Remove m4/posix_spawn.m4.
49677         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49678         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49679         posix_spawnattr_init, posix_spawnattr_setsigmask,
49680         posix_spawnattr_setflags, posix_spawnattr_destroy.
49681
49682 2009-01-25  Bruno Haible  <bruno@clisp.org>
49683
49684         * lib/glthread/threadlib.c: Include <stdlib.h>.
49685
49686 2009-01-25  Bruno Haible  <bruno@clisp.org>
49687
49688         * lib/glthread/threadlib.c (dummy): New declaration.
49689
49690 2009-01-25  Bruno Haible  <bruno@clisp.org>
49691
49692         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
49693         multibyte characters also for the GB18030 encoding. Don't crash when
49694         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
49695
49696 2009-01-25  Bruno Haible  <bruno@clisp.org>
49697
49698         Avoid redefining 'struct random_data' on OSF/1 5.1.
49699         * lib/stdlib.in.h: Include <random.h> if it exists.
49700         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
49701         HAVE_RANDOM_H. Include <random.h> when testing whether
49702         'struct random_data' exists.
49703         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
49704
49705 2009-01-25  Bruno Haible  <bruno@clisp.org>
49706
49707         Don't install charset.alias on MacOS X >= 10.3.
49708         * lib/localcharset.c (DARWIN7): New macro.
49709         (get_charset_aliases): Hardcode the result for Darwin7.
49710         * modules/localcharset (install-exec-local): Don't install
49711         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
49712
49713 2009-01-25  Bruno Haible  <bruno@clisp.org>
49714
49715         Don't install charset.alias on mingw and Cygwin.
49716         * modules/localcharset (install-exec-local): Don't install
49717         charset.alias on mingw and Cygwin, if the file does not yet exist.
49718         The result for these platforms is hardcoded in localcharset.c.
49719
49720 2009-01-25  Bruno Haible  <bruno@clisp.org>
49721
49722         Make it possible again to use AC_GNU_SOURCE together with gnulib.
49723         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
49724         before requiring AC_USE_SYSTEM_EXTENSIONS.
49725
49726 2009-01-25  Jim Meyering  <meyering@redhat.com>
49727
49728         c-strtod: avoid warnings
49729         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
49730         "assignment discards qualifiers from pointer target type" warnings.
49731
49732 2009-01-24  Bruno Haible  <bruno@clisp.org>
49733
49734         Add support for non-UTF-8 locales on MacOS X.
49735         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
49736         canonical encodings. For Darwin 7 and newer, don't map traditional
49737         encodings to UTF-8.
49738         Reported by Vincent Lefevre <vincent@vinc17.org>
49739         at <http://savannah.gnu.org/bugs/?25235>.
49740
49741 2009-01-24  Bruno Haible  <bruno@clisp.org>
49742
49743         * doc/gnulib.texi (Obsolete modules): New section.
49744         Reported by Mike Frysinger <vapier@gentoo.org>.
49745
49746 2009-01-24  Bruno Haible  <bruno@clisp.org>
49747
49748         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
49749         (%.dvi): New rule.
49750
49751 2009-01-24  Bruno Haible  <bruno@clisp.org>
49752
49753         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
49754         Reported by Eric Blake.
49755
49756 2009-01-24  Bruno Haible  <bruno@clisp.org>
49757
49758         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
49759         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
49760         Reported by Gary V. Vaughan <gary@gnu.org>.
49761
49762 2009-01-24  Bruno Haible  <bruno@clisp.org>
49763
49764         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
49765
49766 2009-01-23  Bruno Haible  <bruno@clisp.org>
49767
49768         Make c-strtod, c-strtold usable in libraries.
49769         * lib/c-strtod.c: Include string.h instead of xalloc.h.
49770         (C_STRTOD): Call strdup instead of xstrdup.
49771         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
49772         * modules/c-strtold (Depends-on): Likewise.
49773         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
49774         * NEWS: Mention the change.
49775         Reported by Michael Gold <mgold@ncf.ca>.
49776
49777 2009-01-23  Jim Meyering  <meyering@redhat.com>
49778
49779         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
49780         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
49781         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
49782
49783 2009-01-23  Simon Josefsson  <simon@josefsson.org>
49784
49785         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
49786         GNU CoreUtils.
49787         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
49788         * modules/version-etc (Description): Update.
49789
49790 2009-01-22  Bruno Haible  <bruno@clisp.org>
49791
49792         Cache the C locale object.
49793         * lib/c-strtod.c (c_locale_cache): New variable.
49794         (c_locale): New function.
49795         (C_STRTOD): Use it, and don't call freelocale.
49796         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
49797         Suggested by Paolo Bonzini.
49798
49799 2009-01-21  Bruno Haible  <bruno@clisp.org>
49800
49801         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
49802         conditions other than overflow.
49803
49804 2009-01-21  Bruno Haible  <bruno@clisp.org>
49805
49806         * lib/c-strtod.c: Include errno.h.
49807         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
49808         value from STRTOD_L and STRTOD.
49809
49810 2009-01-21  Bruno Haible  <bruno@clisp.org>
49811         and Jim Meyering  <meyering@redhat.com>
49812
49813         nanosleep: skip configure test (fail it) for apple universal builds
49814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
49815         universal builds, assume that nanosleep does not work.
49816         * modules/nanosleep (Depends-on): Add multiarch.
49817
49818         mktime: skip configure test (fail it) for apple universal builds
49819         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
49820         universal builds, assume that mktime does not work.
49821         * modules/mktime (Depends-on): Add multiarch.
49822
49823 2009-01-21  Eric Blake  <ebb9@byu.net>
49824
49825         multiarch: avoid expand-before-require warning
49826         * modules/multiarch (configure.ac): Require, rather than expand,
49827         gl_MULTIARCH.
49828         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
49829         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
49830         enforce that all clients require it.  Partial reversion of
49831         2008-12-29 patch.
49832
49833         error: avoid expand-before-require warning
49834         * modules/errno (configure.ac): Require, rather than expand,
49835         gl_HEADER_ERRNO_H.
49836         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
49837         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
49838         enforce that all clients require it.
49839
49840         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
49841         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
49842         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
49843         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
49844
49845 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
49846
49847         Revert:
49848         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49849
49850         regex: do not depend on obsolete modules.
49851         * modules/regex: Remove memcmp and memmove.
49852
49853 2009-01-20  Bruno Haible  <bruno@clisp.org>
49854
49855         Make the 'link' module link on Windows NT 4.
49856         * lib/link.c (_WIN32_WINNT): Don't define.
49857         (CreateHardLinkFuncType): New type.
49858         (CreateHardLinkFunc, initialized): New variables.
49859         (initialize): New function.
49860         (link): Invoke CreateHardLink indirectly through the function pointer.
49861
49862 2009-01-20  Bruno Haible  <bruno@clisp.org>
49863
49864         Fix compilation failure on mingw.
49865         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
49866
49867 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
49868
49869         * doc/c-strtod.texi: Mention a couple of restrictions.
49870
49871 2009-01-20  Jim Meyering  <meyering@redhat.com>
49872
49873         gettimeofday: move more declarations out of functions
49874         * lib/gettimeofday.c: Move extern declarations of tzset and
49875         gmtime out of containing functions.  Prompted by Bruno Haible.
49876
49877 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49878
49879         regex: do not depend on obsolete modules.
49880         * modules/regex: Remove memcmp and memmove.
49881
49882 2009-01-19  Bruno Haible  <bruno@clisp.org>
49883
49884         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49885         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
49886         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49887         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
49888         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
49889
49890 2009-01-19  Bruno Haible  <bruno@clisp.org>
49891
49892         * tests/test-link.c: Include <errno.h>.
49893         (main): Exit with code 77 when a hard link cannot be created due to
49894         the file system.
49895         * tests/test-link.sh: Skip test when a hard link cannot be created due
49896         to the file system.
49897         Suggested by Eric Blake.
49898
49899 2009-01-19  Martin Lambers  <marlam@marlam.de>
49900
49901         * modules/link-tests: New file.
49902         * tests/test-link.sh: New file.
49903         * tests/test-link.c: New file.
49904
49905 2009-01-19  Eric Blake  <ebb9@byu.net>
49906
49907         doc: mention another function added in cygwin 1.7.0
49908         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
49909         Another new function in cygwin 1.7.
49910
49911 2009-01-19  Bruno Haible  <bruno@clisp.org>
49912
49913         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49914         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
49915         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
49916         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49917         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
49918         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
49919         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49920         * m4/md4.m4 (gl_MD4): Likewise.
49921         * m4/md5.m4 (gl_MD5): Likewise.
49922         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
49923         * m4/sha1.m4 (gl_SHA1): Likewise.
49924         * m4/sha256.m4 (gl_SHA256): Likewise.
49925         * m4/sha512.m4 (gl_SHA512): Likewise.
49926
49927 2009-01-19  Bruno Haible  <bruno@clisp.org>
49928
49929         * modules/uniname/uniname-tests (Depends-on): Add progname.
49930         * tests/uniname/test-uninames.c: Include progname.h.
49931         (main): Call set_program_name.
49932
49933         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
49934         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
49935         (main): Call set_program_name.
49936
49937         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
49938         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
49939         (main): Call set_program_name.
49940
49941         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
49942         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49943         (main): Call set_program_name.
49944
49945         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49946         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49947         (main): Call set_program_name.
49948
49949         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49950         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49951         (main): Call set_program_name.
49952
49953         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49954         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49955         (main): Call set_program_name.
49956
49957         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49958         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49959         (main): Call set_program_name.
49960
49961         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49962         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49963         (main): Call set_program_name.
49964
49965 2009-01-19  Eric Blake  <ebb9@byu.net>
49966
49967         test-unistd: test previous patch
49968         * tests/test-unistd.c: Test *_FILENO macros.
49969
49970         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49971         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49972         Guarantee a definition.
49973         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49974         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49975         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49976         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49977         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49978         Likewise.
49979         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49980         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49981         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49982         Likewise.
49983         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49984         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49985         (STDERR_FILENO): Likewise.
49986         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49987         (STDERR_FILENO): Likewise.
49988         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49989         (STDERR_FILENO): Likewise.
49990         Reported by Elbert Pol.
49991
49992 2009-01-19  Eric Blake  <ebb9@byu.net>
49993
49994         doc: mention more functions added in cygwin 1.7.0
49995         * doc/posix-functions/abort.texi (abort): Update wording related
49996         to cygwin.
49997         * doc/posix-functions/daylight.texi (daylight): Likewise.
49998         * doc/posix-functions/optarg.texi (optarg): Likewise.
49999         * doc/posix-functions/optarg.texi (opterr): Likewise.
50000         * doc/posix-functions/optarg.texi (optind): Likewise.
50001         * doc/posix-functions/optarg.texi (optopt): Likewise.
50002         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
50003         worked in 1.5.x, and was withdrawn in 1.7.
50004         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
50005         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
50006         cygwin versions.
50007         * doc/posix-functions/perror.texi (perror): Likewise.
50008         * doc/posix-functions/printf.texi (printf): Likewise.
50009         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
50010         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
50011         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
50012         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
50013         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50014         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
50015         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50016         Likewise.
50017         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50018         Likewise.
50019         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
50020         this function.
50021         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
50022         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
50023         Likewise.
50024         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
50025         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
50026         * doc/posix-functions/confstr.texi (confstr): Likewise.
50027         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
50028         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
50029         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
50030         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
50031         * doc/posix-functions/fputws.texi (fputws): Likewise.
50032         * doc/posix-functions/fwide.texi (fwide): Likewise.
50033         * doc/posix-functions/getwc.texi (getwc): Likewise.
50034         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
50035         * doc/posix-functions/putwc.texi (putwc): Likewise.
50036         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
50037         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
50038         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
50039         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
50040         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
50041         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
50042         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
50043         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
50044         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
50045         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
50046         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
50047
50048 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
50049
50050         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
50051         * lib/ioctl.c: Include <sys/ioctl.h>.
50052
50053 2009-01-19  Simon Josefsson  <simon@josefsson.org>
50054
50055         * modules/getdate-tests (Depends-on): Add progname.
50056         * tests/test-getdate.c: Use progname module, to avoid link errors
50057         on non-glibc systems.
50058
50059 2009-01-18  Simon Josefsson  <simon@josefsson.org>
50060
50061         * modules/filenamecat-tests (Depends-on): Add progname.
50062         * modules/fstrcmp-tests (Depends-on): Likewise.
50063
50064         * tests/test-filenamecat.c: Use progname module, to avoid link
50065         errors on non-glibc systems.
50066         * tests/test-fstrcmp.c: Likewise.
50067
50068 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
50069
50070         gettimeofday: avoid warning: nested extern declaration of 'localtime'
50071         * lib/gettimeofday.c: Move extern declaration out of function.
50072
50073 2009-01-18  Bruno Haible  <bruno@clisp.org>
50074
50075         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
50076         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
50077         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
50078
50079 2009-01-18  Bruno Haible  <bruno@clisp.org>
50080
50081         * lib/strftime.c (MEMPCPY): Remove unused macro.
50082         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
50083
50084 2009-01-18  Martin Lambers  <marlam@marlam.de>
50085
50086         New module 'link'.
50087         * lib/unistd.in.h (link): New declaration.
50088         * lib/link.c: New file.
50089         * m4/link.m4: New file.
50090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
50091         HAVE_LINK.
50092         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
50093         * modules/link: New file.
50094         * doc/posix-functions/link.texi: Mention the new module.
50095
50096 2009-01-18  Bruno Haible  <bruno@clisp.org>
50097
50098         * tests/test-avltree_list.c (main): Call set_program_name.
50099         * tests/test-avltree_oset.c (main): Likewise.
50100         * tests/test-obstack-printf.c: Include progname.h.
50101         (main): Call set_program_name.
50102         * tests/test-quotearg.c: Include progname.h.
50103         (main): Call set_program_name.
50104         * tests/test-xmemdup0.c: Include progname.h.
50105         (main): Call set_program_name.
50106
50107 2009-01-18  Bruno Haible  <bruno@clisp.org>
50108
50109         New module 'alphasort'.
50110         * lib/dirent.in.h (alphasort): New declaration.
50111         * lib/alphasort.c: New file, from glibc with modifications.
50112         * m4/alphasort.m4: New file.
50113         * modules/alphasort: New file.
50114         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
50115         HAVE_ALPHASORT.
50116         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
50117         HAVE_ALPHASORT.
50118         * doc/posix-functions/alphasort.texi: Mention the new module and the
50119         portability problems.
50120
50121 2009-01-18  Bruno Haible  <bruno@clisp.org>
50122
50123         New module 'scandir'.
50124         * lib/dirent.in.h (scandir): New declaration.
50125         * lib/scandir.c: New file, from glibc with modifications.
50126         * m4/scandir.m4: New file.
50127         * modules/scandir: New file.
50128         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
50129         HAVE_SCANDIR.
50130         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
50131         HAVE_SCANDIR.
50132         * doc/posix-functions/scandir.texi: Mention the new module and the
50133         portability problems.
50134
50135 2009-01-17  Bruno Haible  <bruno@clisp.org>
50136
50137         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
50138         Update documentation.
50139         (func_remove_suffix): Escape all dots in the suffix. Update
50140         documentation.
50141         (func_filter_filelist): Update documentation.
50142         Reported by Ralf Wildenhues.
50143
50144 2009-01-17  Bruno Haible  <bruno@clisp.org>
50145
50146         * modules/dprintf-posix-tests: New file.
50147         * tests/test-dprintf-posix.sh: New file.
50148         * tests/test-dprintf-posix.c: New file.
50149
50150         New modules 'dprintf', 'dprintf-posix'.
50151         * lib/stdio.in.h (dprintf): New declaration.
50152         * lib/dprintf.c: New file.
50153         * m4/dprintf.m4: New file.
50154         * m4/dprintf-posix.m4: New file.
50155         * modules/dprintf: New file.
50156         * modules/dprintf-posix: New file.
50157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
50158         HAVE_DPRINTF, REPLACE_DPRINTF.
50159         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
50160         HAVE_DPRINTF, REPLACE_DPRINTF.
50161         * doc/posix-functions/dprintf.texi: Mention the new modules.
50162
50163 2009-01-17  Bruno Haible  <bruno@clisp.org>
50164
50165         * modules/vdprintf-posix-tests: New file.
50166         * tests/test-vdprintf-posix.sh: New file.
50167         * tests/test-vdprintf-posix.c: New file.
50168
50169         New modules 'vdprintf', 'vdprintf-posix'.
50170         * lib/stdio.in.h (vdprintf): New declaration.
50171         * lib/vdprintf.c: New file.
50172         * m4/vdprintf.m4: New file.
50173         * m4/vdprintf-posix.m4: New file.
50174         * modules/vdprintf: New file.
50175         * modules/vdprintf-posix: New file.
50176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
50177         HAVE_VDPRINTF, REPLACE_VDPRINTF.
50178         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
50179         HAVE_VDPRINTF, REPLACE_VDPRINTF.
50180         * doc/posix-functions/vdprintf.texi: Mention the new modules.
50181
50182 2009-01-17  Bruno Haible  <bruno@clisp.org>
50183
50184         Fix replacement of fopen on mingw.
50185         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
50186         mingw.
50187
50188 2009-01-17  Bruno Haible  <bruno@clisp.org>
50189
50190         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
50191         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
50192
50193 2009-01-17  Bruno Haible  <bruno@clisp.org>
50194
50195         Avoid test-fflush2.sh failure on mingw.
50196         * tests/test-fflush2.c: Include binary-io.h.
50197         (main): Put standard input into binary mode.
50198         * modules/fflush-tests (Depends-on): Add binary-io.
50199
50200 2009-01-17  Bruno Haible  <bruno@clisp.org>
50201
50202         * lib/wchar.in.h: In another particular situation, include only the
50203         system's <wchar.h> file.
50204         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
50205         Reported by Albert Chin-A-Young <china@thewrittenword.com>
50206         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
50207
50208 2009-01-17  Bruno Haible  <bruno@clisp.org>
50209
50210         Support for stripping executables in --enable-relocatable.
50211         * build-aux/install-reloc: Expect one more argument, or an environment
50212         variable RELOC_STRIP_PROG. If set, strip the destination program and
50213         its wrapper.
50214         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
50215         RELOC_STRIP_PROG.
50216         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
50217         to set RELOCATABLE_STRIP.
50218         * NEWS: Mention the new Makefile requirement.
50219
50220 2009-01-17  Bruno Haible  <bruno@clisp.org>
50221
50222         * build-aux/install-reloc: Remove debugging information left over by
50223         C compiler on MacOS X.
50224
50225 2009-01-17  Bruno Haible  <bruno@clisp.org>
50226
50227         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
50228         * lib/progreloc.c (find_executable): Fix type of pointer passed to
50229         _NSGetExecutablePath.
50230
50231 2009-01-16  Jim Meyering  <meyering@redhat.com>
50232
50233         strerror: avoid warnings about discarding "const"
50234         * lib/strerror.c (rpl_strerror): Instead of returning a const
50235         string from each and every "case", use a variable, and add a single
50236         cast after the switch.
50237
50238 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
50239
50240         * lib/arpa_inet.in.h: Add extern "C" block for C++.
50241
50242 2009-01-16  Bruno Haible  <bruno@clisp.org>
50243
50244         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
50245         array initializer syntax that also works in C++ mode.
50246         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50247
50248 2009-01-16  Jim Meyering  <meyering@redhat.com>
50249
50250         poll: suppress a warning
50251         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
50252         to ignore "...unsigned expression < 0 is always false" warnings.
50253
50254 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
50255
50256         poll: remove declarations of unused variables
50257         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
50258         sockbuf and optlen.
50259
50260 2009-01-15  Bruno Haible  <bruno@clisp.org>
50261
50262         Make fflush-after-ungetc POSIX compliant on BSD systems.
50263         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
50264         (clear_ungetc_buffer): Implement also for other systems.
50265         (rpl_fflush): On glibc systems, invoke
50266         clear_ungetc_buffer_preserving_position. Otherwise, invoke
50267         clear_ungetc_buffer after fetching the stream's position, not before.
50268
50269 2009-01-15  Bruno Haible  <bruno@clisp.org>
50270
50271         Make fflush-after-ungetc POSIX compliant on glibc systems.
50272         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
50273         after ungetc.
50274         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
50275         (rpl_fflush): On glibc systems, simply call the system's fflush
50276         function after clearing the ungetc buffer.
50277         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
50278         Instead, lseek only to the end of file, then use the system's fseeko
50279         for the rest. On glibc systems, reset the EOF indicator bit.
50280
50281 2009-01-15  Jim Meyering  <meyering@redhat.com>
50282
50283         openmp.m4: revert quote-adding change, for portability to older autoconf
50284         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
50285         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
50286         Simon Josefsson noticed the problem when using autoconf-2.61.
50287
50288 2009-01-15  Bruno Haible  <bruno@clisp.org>
50289
50290         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
50291         * tests/test-fflush2.c (ASSERT): Always fail.
50292         (main): Add two tests for fflush() after ungetc(), taking into account
50293         the Austin Group's clarification.
50294         Suggested by Eric Blake.
50295
50296 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
50297
50298         mktime.m4: remove K&R-style function prototypes
50299         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
50300         for the Sun C++ compiler.
50301
50302 2009-01-14  Bruno Haible  <bruno@clisp.org>
50303
50304         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
50305         while including <wchar.h>.
50306         * lib/wchar.in.h: In two particular situations on HP-UX, include only
50307         the system's <wchar.h> file.
50308         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50309
50310 2009-01-14  Bruno Haible  <bruno@clisp.org>
50311
50312         * m4/csharp.m4: Don't mention gettext on the serial number line.
50313         * m4/csharpexec.m4: Likewise.
50314         * m4/eaccess.m4: Likewise.
50315         * m4/javaexec.m4: Likewise.
50316         * m4/sig_atomic_t.m4: Likewise.
50317         * m4/tmpdir.m4: Likewise.
50318         * m4/intldir.m4: Bump gettext version.
50319         * m4/lib-ld.m4: Likewise.
50320
50321 2009-01-14  Bruno Haible  <bruno@clisp.org>
50322
50323         * lib/progname.c (set_program_name): Add more comments.
50324         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
50325
50326 2009-01-14  Simon Josefsson  <simon@josefsson.org>
50327
50328         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
50329         were sys/stat.h does not define it.
50330
50331 2009-01-14  Jim Meyering  <meyering@redhat.com>
50332
50333         many *.m4 files: improve m4 quoting
50334         99% of this change was performed by running the following commands:
50335         git ls-files | grep '\.m4$' | xargs perl -pi \
50336           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
50337           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
50338           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
50339           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
50340         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
50341         The remainder were to add Copyright dates, increment serial numbers,
50342         undo some changes in comments, exclude m4/intl.m4, and add quotes
50343         around the "1" in ",1" where the unusual spacing prohibited the
50344         above regexps from doing the job.  For more details, see
50345         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
50346         * m4/acl.m4: Modified.
50347         * m4/afs.m4: Likewise.
50348         * m4/alloca.m4: Likewise.
50349         * m4/argp.m4: Likewise.
50350         * m4/argz.m4: Likewise.
50351         * m4/atexit.m4: Likewise.
50352         * m4/bison-i18n.m4: Likewise.
50353         * m4/bison.m4: Likewise.
50354         * m4/byteswap.m4: Likewise.
50355         * m4/c-stack.m4: Likewise.
50356         * m4/c-strtod.m4: Likewise.
50357         * m4/calloc.m4: Likewise.
50358         * m4/canonicalize-lgpl.m4: Likewise.
50359         * m4/chown.m4: Likewise.
50360         * m4/clock_time.m4: Likewise.
50361         * m4/codeset.m4: Likewise.
50362         * m4/copy-file.m4: Likewise.
50363         * m4/csharp.m4: Likewise.
50364         * m4/csharpcomp.m4: Likewise.
50365         * m4/csharpexec.m4: Likewise.
50366         * m4/d-ino.m4: Likewise.
50367         * m4/d-type.m4: Likewise.
50368         * m4/dirfd.m4: Likewise.
50369         * m4/double-slash-root.m4: Likewise.
50370         * m4/eaccess.m4: Likewise.
50371         * m4/eealloc.m4: Likewise.
50372         * m4/environ.m4: Likewise.
50373         * m4/errno_h.m4: Likewise.
50374         * m4/euidaccess.m4: Likewise.
50375         * m4/execute.m4: Likewise.
50376         * m4/fatal-signal.m4: Likewise.
50377         * m4/fchdir.m4: Likewise.
50378         * m4/fcntl_h.m4: Likewise.
50379         * m4/fileblocks.m4: Likewise.
50380         * m4/filenamecat.m4: Likewise.
50381         * m4/findprog.m4: Likewise.
50382         * m4/flexmember.m4: Likewise.
50383         * m4/fnmatch.m4: Likewise.
50384         * m4/fopen.m4: Likewise.
50385         * m4/fpending.m4: Likewise.
50386         * m4/fprintf-posix.m4: Likewise.
50387         * m4/free.m4: Likewise.
50388         * m4/frexp.m4: Likewise.
50389         * m4/frexpl.m4: Likewise.
50390         * m4/fsusage.m4: Likewise.
50391         * m4/ftruncate.m4: Likewise.
50392         * m4/gc-camellia.m4: Likewise.
50393         * m4/gc-random.m4: Likewise.
50394         * m4/gc.m4: Likewise.
50395         * m4/getaddrinfo.m4: Likewise.
50396         * m4/getcwd-abort-bug.m4: Likewise.
50397         * m4/getcwd-path-max.m4: Likewise.
50398         * m4/getdate.m4: Likewise.
50399         * m4/getdomainname.m4: Likewise.
50400         * m4/getgroups.m4: Likewise.
50401         * m4/gethostname.m4: Likewise.
50402         * m4/gethrxtime.m4: Likewise.
50403         * m4/getline.m4: Likewise.
50404         * m4/getloadavg.m4: Likewise.
50405         * m4/getndelim2.m4: Likewise.
50406         * m4/getpass.m4: Likewise.
50407         * m4/gettext.m4: Likewise.
50408         * m4/gettime.m4: Likewise.
50409         * m4/gettimeofday.m4: Likewise.
50410         * m4/gnulib-common.m4: Likewise.
50411         * m4/group-member.m4: Likewise.
50412         * m4/host-os.m4: Likewise.
50413         * m4/iconv.m4: Likewise.
50414         * m4/iconv_open.m4: Likewise.
50415         * m4/inet_ntop.m4: Likewise.
50416         * m4/inet_pton.m4: Likewise.
50417         * m4/inline.m4: Likewise.
50418         * m4/intldir.m4: Likewise.
50419         * m4/intlmacosx.m4: Likewise.
50420         * m4/intmax.m4: Likewise.
50421         * m4/intmax_t.m4: Likewise.
50422         * m4/inttypes.m4: Likewise.
50423         * m4/inttypes_h.m4: Likewise.
50424         * m4/inttypes-pri.m4: Likewise.
50425         * m4/isapipe.m4: Likewise.
50426         * m4/isnand.m4: Likewise.
50427         * m4/isnanf.m4: Likewise.
50428         * m4/isnanl.m4: Likewise.
50429         * m4/javacomp.m4: Likewise.
50430         * m4/javaexec.m4: Likewise.
50431         * m4/jm-winsz1.m4: Likewise.
50432         * m4/jm-winsz2.m4: Likewise.
50433         * m4/lchown.m4: Likewise.
50434         * m4/lcmessage.m4: Likewise.
50435         * m4/ldexpl.m4: Likewise.
50436         * m4/lib-ld.m4: Likewise.
50437         * m4/lib-link.m4: Likewise.
50438         * m4/libsigsegv.m4: Likewise.
50439         * m4/link-follow.m4: Likewise.
50440         * m4/localcharset.m4: Likewise.
50441         * m4/locale-fr.m4: Likewise.
50442         * m4/locale-ja.m4: Likewise.
50443         * m4/locale-tr.m4: Likewise.
50444         * m4/locale-zh.m4: Likewise.
50445         * m4/lock.m4: Likewise.
50446         * m4/longlong.m4: Likewise.
50447         * m4/ls-mntd-fs.m4: Likewise.
50448         * m4/lstat.m4: Likewise.
50449         * m4/malloc.m4: Likewise.
50450         * m4/mathl.m4: Likewise.
50451         * m4/mbrtowc.m4: Likewise.
50452         * m4/mbstate_t.m4: Likewise.
50453         * m4/mbswidth.m4: Likewise.
50454         * m4/memchr.m4: Likewise.
50455         * m4/memcmp.m4: Likewise.
50456         * m4/memcpy.m4: Likewise.
50457         * m4/memmem.m4: Likewise.
50458         * m4/memmove.m4: Likewise.
50459         * m4/mempcpy.m4: Likewise.
50460         * m4/memrchr.m4: Likewise.
50461         * m4/memset.m4: Likewise.
50462         * m4/minmax.m4: Likewise.
50463         * m4/mkdir-slash.m4: Likewise.
50464         * m4/mkdtemp.m4: Likewise.
50465         * m4/mktime.m4: Likewise.
50466         * m4/mmap-anon.m4: Likewise.
50467         * m4/mountlist.m4: Likewise.
50468         * m4/nanosleep.m4: Likewise.
50469         * m4/nls.m4: Likewise.
50470         * m4/nocrash.m4: Likewise.
50471         * m4/open.m4: Likewise.
50472         * m4/openat.m4: Likewise.
50473         * m4/openmp.m4: Likewise.
50474         * m4/pathmax.m4: Likewise.
50475         * m4/perl.m4: Likewise.
50476         * m4/physmem.m4: Likewise.
50477         * m4/pipe.m4: Likewise.
50478         * m4/po.m4: Likewise.
50479         * m4/poll.m4: Likewise.
50480         * m4/posixtm.m4: Likewise.
50481         * m4/posixver.m4: Likewise.
50482         * m4/printf-frexp.m4: Likewise.
50483         * m4/printf-frexpl.m4: Likewise.
50484         * m4/printf-posix.m4: Likewise.
50485         * m4/printf-posix-rpl.m4: Likewise.
50486         * m4/printf.m4: Likewise.
50487         * m4/progtest.m4: Likewise.
50488         * m4/putenv.m4: Likewise.
50489         * m4/readline.m4: Likewise.
50490         * m4/readlink.m4: Likewise.
50491         * m4/readutmp.m4: Likewise.
50492         * m4/realloc.m4: Likewise.
50493         * m4/regex.m4: Likewise.
50494         * m4/relocatable.m4: Likewise.
50495         * m4/relocatable-lib.m4: Likewise.
50496         * m4/rename-dest-slash.m4: Likewise.
50497         * m4/rename.m4: Likewise.
50498         * m4/rmdir-errno.m4: Likewise.
50499         * m4/rmdir.m4: Likewise.
50500         * m4/roundf.m4: Likewise.
50501         * m4/roundl.m4: Likewise.
50502         * m4/rpmatch.m4: Likewise.
50503         * m4/save-cwd.m4: Likewise.
50504         * m4/selinux-selinux-h.m4: Likewise.
50505         * m4/setenv.m4: Likewise.
50506         * m4/settime.m4: Likewise.
50507         * m4/sig2str.m4: Likewise.
50508         * m4/sig_atomic_t.m4: Likewise.
50509         * m4/signalblocking.m4: Likewise.
50510         * m4/signbit.m4: Likewise.
50511         * m4/sigpipe.m4: Likewise.
50512         * m4/sockets.m4: Likewise.
50513         * m4/sockpfaf.m4: Likewise.
50514         * m4/st_dm_mode.m4: Likewise.
50515         * m4/stat-time.m4: Likewise.
50516         * m4/stdbool.m4: Likewise.
50517         * m4/stdint.m4: Likewise.
50518         * m4/stdint_h.m4: Likewise.
50519         * m4/stpcpy.m4: Likewise.
50520         * m4/stpncpy.m4: Likewise.
50521         * m4/strcase.m4: Likewise.
50522         * m4/strchrnul.m4: Likewise.
50523         * m4/strcspn.m4: Likewise.
50524         * m4/strdup.m4: Likewise.
50525         * m4/strftime.m4: Likewise.
50526         * m4/strndup.m4: Likewise.
50527         * m4/strnlen.m4: Likewise.
50528         * m4/strpbrk.m4: Likewise.
50529         * m4/strptime.m4: Likewise.
50530         * m4/strsep.m4: Likewise.
50531         * m4/strtod.m4: Likewise.
50532         * m4/strtoimax.m4: Likewise.
50533         * m4/strtok_r.m4: Likewise.
50534         * m4/strtol.m4: Likewise.
50535         * m4/strtoll.m4: Likewise.
50536         * m4/strtoul.m4: Likewise.
50537         * m4/strtoull.m4: Likewise.
50538         * m4/strtoumax.m4: Likewise.
50539         * m4/strverscmp.m4: Likewise.
50540         * m4/threadlib.m4: Likewise.
50541         * m4/timegm.m4: Likewise.
50542         * m4/tm_gmtoff.m4: Likewise.
50543         * m4/tmpdir.m4: Likewise.
50544         * m4/tmpfile.m4: Likewise.
50545         * m4/tzset.m4: Likewise.
50546         * m4/uintmax_t.m4: Likewise.
50547         * m4/unlinkdir.m4: Likewise.
50548         * m4/unlocked-io.m4: Likewise.
50549         * m4/uptime.m4: Likewise.
50550         * m4/userspec.m4: Likewise.
50551         * m4/utimbuf.m4: Likewise.
50552         * m4/utime.m4: Likewise.
50553         * m4/utimes-null.m4: Likewise.
50554         * m4/utimes.m4: Likewise.
50555         * m4/vararrays.m4: Likewise.
50556         * m4/vasnprintf.m4: Likewise.
50557         * m4/vfprintf-posix.m4: Likewise.
50558         * m4/vprintf-posix.m4: Likewise.
50559         * m4/wait-process.m4: Likewise.
50560         * m4/wchar_t.m4: Likewise.
50561         * m4/wint_t.m4: Likewise.
50562         * m4/write-any-file.m4: Likewise.
50563         * m4/yield.m4: Likewise.
50564
50565 2009-01-13  Bruno Haible  <bruno@clisp.org>
50566
50567         Avoid test-copy-file.sh failures when ACL support insufficient.
50568         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
50569         TESTS_ENVIRONMENT.
50570         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
50571         Reported by Jim Meyering.
50572
50573 2009-01-13  Bruno Haible  <bruno@clisp.org>
50574
50575         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
50576         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
50577         * modules/unistdio/u8-printf-parse (Files): Likewise.
50578         * modules/unistdio/u32-printf-parse (Files): Likewise.
50579         * modules/unistdio/ulc-printf-parse (Files): Likewise.
50580
50581 2009-01-13  Simon Josefsson  <simon@josefsson.org>
50582
50583         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
50584         and m4/inttypes_h.m4 too.
50585
50586 2009-01-12  Eric Blake  <ebb9@byu.net>
50587
50588         tests: IRIX 6.2 cc can't compile -0.0 into .data
50589         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
50590         rather than at compile-time.
50591         * tests/test-floorl.c (minus_zero): Likewise.
50592         * tests/test-frexpl.c (minus_zero): Likewise.
50593         * tests/test-isnan.c (minus_zerol): Likewise.
50594         * tests/test-isnanl.h (minus_zero): Likewise.
50595         * tests/test-ldexpl.c (minus_zero): Likewise.
50596         * tests/test-roundl.c (minus_zero): Likewise.
50597         * tests/test-signbit.c (minus_zerol): Likewise.
50598         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50599         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50600         * tests/test-truncl.c (minus_zero): Likewise.
50601         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50602         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50603         Reported by Tom G. Christensen and Nelson H. F. Beebe.
50604
50605 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50606
50607         regex: fix glibc bug 9697
50608         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
50609         handling.
50610
50611 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50612
50613         regex: fix glibc bug 697
50614         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
50615         being NULL also if there are no backreferences.
50616
50617 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50618
50619         regex: merge glibc changes
50620         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
50621         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
50622         re_string_skip_chars, re_string_reconstruct): Likewise.
50623         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
50624
50625 2009-01-07  Jim Meyering  <meyering@redhat.com>
50626
50627         poll: filter through cppi
50628         * lib/poll.c: Indent cpp directives to reflect nesting.
50629
50630 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
50631
50632         poll: don't return uninitialized
50633         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
50634
50635 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
50636
50637         avoid compile failure on AIX 6.1
50638         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
50639         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
50640
50641 2009-01-04  Jim Meyering  <meyering@redhat.com>
50642
50643         remove duplicate inclusion of <stdio.h>
50644         * tests/test-fprintf-posix.c: Likewise.
50645         * tests/test-printf-posix.c: Likewise.
50646         * tests/test-snprintf-posix.c: Likewise.
50647         * tests/test-sprintf-posix.c: Likewise.
50648         * tests/test-vasprintf-posix.c: Likewise.
50649         * tests/test-vfprintf-posix.c: Likewise.
50650         * tests/test-vprintf-posix.c: Likewise.
50651         * tests/test-vsnprintf-posix.c: Likewise.
50652         * tests/test-vsprintf-posix.c: Likewise.
50653
50654 2009-01-03  Jim Meyering  <meyering@redhat.com>
50655
50656         gnulib-tool: fix sed-based filtering
50657         * gnulib-tool (func_filter_filelist): Remove extra backslash
50658         in sed_fff_filter definition.
50659
50660 2009-01-02  Jim Meyering  <meyering@redhat.com>
50661
50662         strftime: avoid compilation failure on Solaris 2.6
50663         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
50664         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
50665         Don't #define mbrlen or mbsinit, since now they're guaranteed to
50666         be available.  Reported by Tom G. Christensen.  Details in
50667         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
50668
50669 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50670             Bruno Haible  <bruno@clisp.org>
50671
50672         Speed up gnulib-tool by doing more string processing through shell
50673         built-ins.
50674         * gnulib-tool (fast_func_append): New variable.
50675         (func_remove_prefix, func_remove_suffix): New functions.
50676         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
50677         (func_filter_filelist): New function.
50678         (func_get_dependencies): Use func_remove_suffix instead of sed.
50679         (func_get_automake_snippet): Use func_filter_filelist instead of a
50680         subshell and sed invocation.
50681
50682 2009-01-01  Bruno Haible  <bruno@clisp.org>
50683
50684         Fix a security bug.
50685         * gnulib-tool (func_import, import, update): Don't allow the characters
50686         '"', '$', '`', '\' in macro arguments that become part of commands that
50687         are evaluated.
50688
50689 2009-01-01  Bruno Haible  <bruno@clisp.org>
50690
50691         * gnulib-tool (func_reset_sigpipe): Add more comments.
50692
50693 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50694
50695         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
50696         func_emit_tests_Makefile_am, func_import): Abort loops early if we
50697         already know the answer.
50698
50699 2009-01-01  Jim Meyering  <meyering@redhat.com>
50700
50701         * lib/version-etc.c (version_etc_va): Update copyright year.
50702
50703 2008-12-30  Bruno Haible  <bruno@clisp.org>
50704
50705         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
50706         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
50707         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
50708
50709 2008-12-29  Eric Blake  <ebb9@byu.net>
50710
50711         multiarch: avoid autoconf AC_REQUIRE bug
50712         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
50713         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
50714         2.63 and older.
50715         Reported by Bruno Haible, and analyzed in
50716         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
50717
50718 2008-12-29  Bruno Haible  <bruno@clisp.org>
50719
50720         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
50721         files in subdirectories correctly.
50722         Reported by Ralf Wildenhues.
50723
50724 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50725
50726         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
50727         rather than 'join FILE -', for Solaris join.
50728
50729 2008-12-29  Bruno Haible  <bruno@clisp.org>
50730
50731         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
50732         quoting.
50733         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50734         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
50735         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
50736         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
50737         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
50738         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
50739         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
50740         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
50741         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50742         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
50743         * m4/nls.m4 (AM_NLS): Likewise.
50744         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
50745         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
50746         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50747         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
50748         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
50749         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
50750         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
50751         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
50752         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
50753         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50754         * m4/xsize.m4 (gl_XSIZE): Likewise.
50755         Suggested by Jim Meyering.
50756
50757 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50758
50759         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
50760         * lib/parse-duration.c: use a switch instead of cascading if's.
50761
50762 2008-12-29  Eric Blake  <ebb9@byu.net>
50763
50764         wchar.h: supply WEOF on Irix 5.3
50765         * lib/wchar.in.h (wint_t): Also supply WEOF.
50766         * lib/wctype.in.h (wint_t): Likewise.
50767         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
50768         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
50769         Reported by Tom G. Christensen.
50770
50771 2008-12-26  Bruno Haible  <bruno@clisp.org>
50772
50773         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
50774         i486, i586, i686.
50775
50776 2008-12-26  Bruno Haible  <bruno@clisp.org>
50777
50778         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
50779
50780 2008-12-26  Bruno Haible  <bruno@clisp.org>
50781
50782         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
50783         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
50784         not __STDC_CONSTANT_MACROS.
50785         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50786
50787 2008-12-25  Bruno Haible  <bruno@clisp.org>
50788
50789         Add support for universal builds to vasnprintf.
50790         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
50791         universal builds, guess no.
50792         * modules/vasnprintf-posix (Depends-on): Add multiarch.
50793         * modules/vasprintf-posix (Depends-on): Likewise.
50794         * modules/fprintf-posix (Depends-on): Likewise.
50795         * modules/vfprintf-posix (Depends-on): Likewise.
50796         * modules/snprintf-posix (Depends-on): Likewise.
50797         * modules/vsnprintf-posix (Depends-on): Likewise.
50798         * modules/sprintf-posix (Depends-on): Likewise.
50799         * modules/vsprintf-posix (Depends-on): Likewise.
50800         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50801         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50802         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50803         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50804         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50805         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50806         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50807
50808         Add support for universal builds to <inttypes.h>.
50809         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
50810         _SCNu64_PREFIX): In Apple
50811         universal builds, define directly, using _LP64.
50812         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
50813         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
50814         * modules/inttypes (Depends-on): Add multiarch.
50815         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50816
50817         Add support for universal builds to <stdint.h>.
50818         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
50819         universal builds, define directly, using _LP64.
50820         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
50821         Apple universal builds, don't test for the size and suffix of ptrdiff_t
50822         and size_t.
50823         * modules/stdint (Depends-on): Add multiarch.
50824         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50825
50826         New module 'multiarch'.
50827         * modules/multiarch: New file.
50828         * m4/multiarch.m4: New file.
50829
50830 2008-12-25  Bruno Haible  <bruno@clisp.org>
50831
50832         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
50833
50834 2008-12-25  Bruno Haible  <bruno@clisp.org>
50835
50836         * modules/btowc (License): Relicense under LGPLv2+.
50837         * modules/mbsinit (License): Likewise.
50838         * modules/mbrtowc (License): Likewise.
50839         * modules/wcrtomb (License): Likewise.
50840         * modules/streq (License): Likewise.
50841         Reported by David Lutterkort <lutter@redhat.com>.
50842
50843 2008-12-23  Bruno Haible  <bruno@clisp.org>
50844
50845         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
50846
50847 2008-12-23  Bruno Haible  <bruno@clisp.org>
50848
50849         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
50850         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
50851         GETADDRINFO_LIB, not in LIBS.
50852         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
50853         * modules/canon-host (Link): Likewise.
50854         * NEWS: Mention the change.
50855         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
50856         GETADDRINFO_LIB.
50857
50858 2008-12-22  Bruno Haible  <bruno@clisp.org>
50859
50860         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
50861         * doc/posix-functions/iswalpha_l.texi: Likewise.
50862         * doc/posix-functions/iswblank_l.texi: Likewise.
50863         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50864         * doc/posix-functions/iswctype_l.texi: Likewise.
50865         * doc/posix-functions/iswdigit_l.texi: Likewise.
50866         * doc/posix-functions/iswgraph_l.texi: Likewise.
50867         * doc/posix-functions/iswlower_l.texi: Likewise.
50868         * doc/posix-functions/iswprint_l.texi: Likewise.
50869         * doc/posix-functions/iswpunct_l.texi: Likewise.
50870         * doc/posix-functions/iswspace_l.texi: Likewise.
50871         * doc/posix-functions/iswupper_l.texi: Likewise.
50872         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50873         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
50874         * doc/posix-functions/open_wmemstream.texi: Likewise.
50875         * doc/posix-functions/swscanf.texi: Likewise.
50876         * doc/posix-functions/towctrans_l.texi: Likewise.
50877         * doc/posix-functions/towlower.texi: Likewise.
50878         * doc/posix-functions/towlower_l.texi: Likewise.
50879         * doc/posix-functions/towupper.texi: Likewise.
50880         * doc/posix-functions/towupper_l.texi: Likewise.
50881         * doc/posix-functions/vfwprintf.texi: Likewise.
50882         * doc/posix-functions/vfwscanf.texi: Likewise.
50883         * doc/posix-functions/vswscanf.texi: Likewise.
50884         * doc/posix-functions/vwprintf.texi: Likewise.
50885         * doc/posix-functions/vwscanf.texi: Likewise.
50886         * doc/posix-functions/wcpcpy.texi: Likewise.
50887         * doc/posix-functions/wcpncpy.texi: Likewise.
50888         * doc/posix-functions/wcscasecmp.texi: Likewise.
50889         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
50890         * doc/posix-functions/wcscoll_l.texi: Likewise.
50891         * doc/posix-functions/wcsdup.texi: Likewise.
50892         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50893         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
50894         * doc/posix-functions/wcsnlen.texi: Likewise.
50895         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50896         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50897         * doc/posix-functions/wctrans_l.texi: Likewise.
50898         * doc/posix-functions/wctype_l.texi: Likewise.
50899         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
50900         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
50901         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
50902         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
50903         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
50904         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
50905         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
50906         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
50907         * doc/glibc-functions/wcschrnul.texi: Likewise.
50908         * doc/glibc-functions/wcsftime_l.texi: Likewise.
50909         * doc/glibc-functions/wcstod_l.texi: Likewise.
50910         * doc/glibc-functions/wcstof_l.texi: Likewise.
50911         * doc/glibc-functions/wcstol_l.texi: Likewise.
50912         * doc/glibc-functions/wcstold_l.texi: Likewise.
50913         * doc/glibc-functions/wcstoll_l.texi: Likewise.
50914         * doc/glibc-functions/wcstoq.texi: Likewise.
50915         * doc/glibc-functions/wcstoul_l.texi: Likewise.
50916         * doc/glibc-functions/wcstoull_l.texi: Likewise.
50917         * doc/glibc-functions/wcstouq.texi: Likewise.
50918         * doc/glibc-functions/wmempcpy.texi: Likewise.
50919
50920 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
50921             Eric Blake  <ebb9@byu.net>
50922             Paolo Bonzini  <bonzini@gnu.org>
50923             Bruno Haible  <bruno@clisp.org>
50924
50925         Make c-stack work on Haiku.
50926         * lib/c-stack.c (SA_ONSTACK): Define fallback.
50927         (c_stack_action): Use SA_ONSTACK flag.
50928
50929 2008-12-22  Bruno Haible  <bruno@clisp.org>
50930
50931         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
50932
50933 2008-12-22  Bruno Haible  <bruno@clisp.org>
50934
50935         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
50936         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
50937         being overridden.
50938         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
50939         New macros.
50940         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
50941         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
50942         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50943         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50944
50945 2008-12-22  Bruno Haible  <bruno@clisp.org>
50946
50947         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50948         from test code.
50949
50950 2008-12-22  Eric Blake  <ebb9@byu.net>
50951
50952         Avoid gcc warnings on cygwin.
50953         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50954         Avoid unused variable.
50955         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50956         Likewise.
50957
50958 2008-12-22  Bruno Haible  <bruno@clisp.org>
50959
50960         Remove HAVE_MBRTOWC conditionals.
50961         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50962         (mbscasecmp): Assume mbrtowc function.
50963         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50964         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50965         * lib/mbschr.c: Include mbuiter.h unconditionally.
50966         (mbschr): Assume mbrtowc function.
50967         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50968         (mbscspn): Assume mbrtowc function.
50969         * lib/mbslen.c: Include mbuiter.h unconditionally.
50970         (mbslen): Assume mbrtowc function.
50971         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50972         (mbsncasecmp): Assume mbrtowc function.
50973         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50974         (mbsnlen): Assume mbrtowc function.
50975         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50976         (mbspbrk): Assume mbrtowc function.
50977         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50978         (mbspcasecmp): Assume mbrtowc function.
50979         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50980         (mbsrchr): Assume mbrtowc function.
50981         * lib/mbssep.c: Include mbuiter.h unconditionally.
50982         (mbssep): Assume mbrtowc function.
50983         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50984         (mbsspn): Assume mbrtowc function.
50985         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50986         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50987         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50988         (mbstok_r): Assume mbrtowc function.
50989         * lib/propername.c: Include mbuiter.h unconditionally.
50990         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50991         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50992         (trim2): Assume mbrtowc function.
50993         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50994         (mbsnwidth): Assume mbrtowc function.
50995         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50996         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50997         fallback definitions.
50998         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50999
51000 2008-12-22  Bruno Haible  <bruno@clisp.org>
51001
51002         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
51003
51004 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
51005
51006         * modules/regex: Request emulations for the mb*/wc* functions we need.
51007         * m4/regex.m4: Don't look for those functions here.
51008         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
51009
51010 2008-12-22  Bruno Haible  <bruno@clisp.org>
51011
51012         * modules/fnmatch (Depends-on): Remove duplicated dependency.
51013
51014 2008-12-21  Bruno Haible  <bruno@clisp.org>
51015
51016         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
51017         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
51018         (Include): Remove conditionalization.
51019         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
51020         (Include): Remove conditionalization.
51021         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
51022         (Include): Remove conditionalization.
51023         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
51024         * m4/mbfile.m4 (gl_MBFILE): Likewise.
51025         * NEWS: Mention the change.
51026         Reported by Alan Hourihane <alanh@fairlite.co.uk>
51027         via Sergey Poznyakoff <gray@gnu.org.ua>.
51028
51029 2008-12-21  Bruno Haible  <bruno@clisp.org>
51030
51031         * MODULES.html.sh (Extended multibyte and wide character utilities
51032         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
51033         wcrtomb, wcsrtombs.
51034         (Support for systems lacking POSIX:2008): Add accept, bind, close,
51035         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
51036         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
51037         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
51038
51039 2008-12-21  Bruno Haible  <bruno@clisp.org>
51040
51041         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
51042
51043 2008-12-21  Bruno Haible  <bruno@clisp.org>
51044
51045         * modules/wcsnrtombs-tests: New file.
51046         * tests/test-wcsnrtombs1.sh: New file.
51047         * tests/test-wcsnrtombs2.sh: New file.
51048         * tests/test-wcsnrtombs3.sh: New file.
51049         * tests/test-wcsnrtombs4.sh: New file.
51050         * tests/test-wcsnrtombs.c: New file.
51051
51052         New module 'wcsnrtombs'.
51053         * lib/wchar.in.h (wcsnrtombs): New declaration.
51054         * lib/wcsnrtombs.c: New file.
51055         * lib/wcsrtombs-state.c: New file.
51056         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
51057         (internal_state): Remove variable.
51058         * m4/wcsnrtombs.m4: New file.
51059         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
51060         compilation units.
51061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
51062         HAVE_WCSNRTOMBS.
51063         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
51064         HAVE_WCSNRTOMBS.
51065         * modules/wcsnrtombs: New file.
51066         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
51067         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
51068
51069 2008-12-21  Bruno Haible  <bruno@clisp.org>
51070
51071         * modules/wcsrtombs-tests: New file.
51072         * tests/test-wcsrtombs1.sh: New file.
51073         * tests/test-wcsrtombs2.sh: New file.
51074         * tests/test-wcsrtombs3.sh: New file.
51075         * tests/test-wcsrtombs4.sh: New file.
51076         * tests/test-wcsrtombs.c: New file.
51077
51078         New module 'wcsrtombs'.
51079         * lib/wchar.in.h (wcsrtombs): New declaration.
51080         * lib/wcsrtombs.c: New file.
51081         * m4/wcsrtombs.m4: New file.
51082         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
51083         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
51084         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
51085         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
51086         * modules/wcsrtombs: New file.
51087         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
51088         bugs.
51089
51090 2008-12-21  Bruno Haible  <bruno@clisp.org>
51091
51092         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
51093         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
51094         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
51095         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
51096         if not correct.
51097         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
51098         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
51099         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51100         m4/locale-zh.m4, m4/codeset.m4.
51101         * doc/posix-functions/wcrtomb.texi: Document the bug.
51102
51103 2008-12-21  Bruno Haible  <bruno@clisp.org>
51104
51105         Work around a btowc() bug on IRIX 6.5.
51106         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
51107         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
51108         REPLACE_WTOBC if not.
51109         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
51110         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
51111         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
51112
51113 2008-12-21  Bruno Haible  <bruno@clisp.org>
51114
51115         * modules/wcrtomb-tests: New file.
51116         * tests/test-wcrtomb.sh: New file.
51117         * tests/test-wcrtomb.c: New file.
51118
51119         New module 'wcrtomb'.
51120         * lib/wchar.in.h (wcrtomb): New declaration.
51121         * lib/wcrtomb.c: New file.
51122         * m4/wcrtomb.m4: New file.
51123         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
51124         HAVE_WCRTOMB.
51125         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
51126         HAVE_WCRTOMB.
51127         * modules/wcrtomb: New file.
51128         * doc/posix-functions/wcrtomb.texi: Mention the new module.
51129
51130 2008-12-21  Bruno Haible  <bruno@clisp.org>
51131
51132         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
51133         * modules/mbsrtowcs (Files): Likewise.
51134         * modules/wctob (Files): Likewise.
51135         * modules/c-strcase-tests (Files): Likewise.
51136         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
51137         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
51138         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
51139         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
51140         * modules/vasnprintf-posix-tests (Files): Likewise.
51141
51142 2008-12-21  William Pursell  <bill.pursell@gmail.com>
51143
51144         gitlog-to-changelog: pass all command-line arguments to git-log
51145         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
51146         it is sometimes convenient to filter the commits in various ways.
51147         gitlog-to-changelog only allows --since to specify a start date,
51148         but git-log itself supports many other filtering mechanisms.
51149         At the moment, I want to filter by branch name.  Rather than
51150         adding a --branch option to gitlog-to-changelog, it seems more
51151         flexible to simply pass all options directly to git-log and let
51152         git do the work.  Notice that this effectively makes --since a
51153         redundant option for gitlog-to-changelog, but removing it would
51154         require current usage to change since calls would then require
51155         an additional '--'.
51156
51157 2008-12-21  Bruno Haible  <bruno@clisp.org>
51158
51159         * modules/mbsnrtowcs-tests: New file.
51160         * tests/test-mbsnrtowcs1.sh: New file.
51161         * tests/test-mbsnrtowcs2.sh: New file.
51162         * tests/test-mbsnrtowcs3.sh: New file.
51163         * tests/test-mbsnrtowcs4.sh: New file.
51164         * tests/test-mbsnrtowcs.c: New file.
51165
51166         New module 'mbsnrtowcs'.
51167         * lib/wchar.in.h (mbsnrtowcs): New declaration.
51168         * lib/mbsnrtowcs.c: New file.
51169         * lib/mbsrtowcs-state.c: New file.
51170         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
51171         (internal_state): Remove variable.
51172         * m4/mbsnrtowcs.m4: New file.
51173         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
51174         compilation units.
51175         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
51176         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
51177         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
51178         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
51179         * modules/mbsnrtowcs: New file.
51180         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
51181         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
51182         portability problem.
51183
51184 2008-12-21  Bruno Haible  <bruno@clisp.org>
51185
51186         Work around mbsrtowcs bug.
51187         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
51188         (gl_FUNC_MBSRTOWCS): Invoke it.
51189         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51190         m4/locale-zh.m4.
51191         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
51192
51193 2008-12-21  Bruno Haible  <bruno@clisp.org>
51194
51195         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
51196
51197 2008-12-21  Bruno Haible  <bruno@clisp.org>
51198
51199         Update doc for AIX.
51200         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
51201         16-bit wchar_t type.
51202         * doc/posix-functions/btowc.texi: Likewise.
51203         * doc/posix-functions/fgetwc.texi: Likewise.
51204         * doc/posix-functions/fgetws.texi: Likewise.
51205         * doc/posix-functions/fputwc.texi: Likewise.
51206         * doc/posix-functions/fputws.texi: Likewise.
51207         * doc/posix-functions/fwide.texi: Likewise.
51208         * doc/posix-functions/fwprintf.texi: Likewise.
51209         * doc/posix-functions/fwscanf.texi: Likewise.
51210         * doc/posix-functions/getwchar.texi: Likewise.
51211         * doc/posix-functions/getwc.texi: Likewise.
51212         * doc/posix-functions/iswalnum.texi: Likewise.
51213         * doc/posix-functions/iswalpha.texi: Likewise.
51214         * doc/posix-functions/iswblank.texi: Likewise.
51215         * doc/posix-functions/iswcntrl.texi: Likewise.
51216         * doc/posix-functions/iswctype.texi: Likewise.
51217         * doc/posix-functions/iswdigit.texi: Likewise.
51218         * doc/posix-functions/iswgraph.texi: Likewise.
51219         * doc/posix-functions/iswlower.texi: Likewise.
51220         * doc/posix-functions/iswprint.texi: Likewise.
51221         * doc/posix-functions/iswpunct.texi: Likewise.
51222         * doc/posix-functions/iswspace.texi: Likewise.
51223         * doc/posix-functions/iswupper.texi: Likewise.
51224         * doc/posix-functions/iswxdigit.texi: Likewise.
51225         * doc/posix-functions/mbrtowc.texi: Likewise.
51226         * doc/posix-functions/mbsrtowcs.texi: Likewise.
51227         * doc/posix-functions/mbstowcs.texi: Likewise.
51228         * doc/posix-functions/mbtowc.texi: Likewise.
51229         * doc/posix-functions/putwchar.texi: Likewise.
51230         * doc/posix-functions/putwc.texi: Likewise.
51231         * doc/posix-functions/swprintf.texi: Likewise.
51232         * doc/posix-functions/tolower.texi: Likewise.
51233         * doc/posix-functions/toupper.texi: Likewise.
51234         * doc/posix-functions/towctrans.texi: Likewise.
51235         * doc/posix-functions/ungetwc.texi: Likewise.
51236         * doc/posix-functions/vswprintf.texi: Likewise.
51237         * doc/posix-functions/wcrtomb.texi: Likewise.
51238         * doc/posix-functions/wcscat.texi: Likewise.
51239         * doc/posix-functions/wcschr.texi: Likewise.
51240         * doc/posix-functions/wcscmp.texi: Likewise.
51241         * doc/posix-functions/wcscoll.texi: Likewise.
51242         * doc/posix-functions/wcscpy.texi: Likewise.
51243         * doc/posix-functions/wcscspn.texi: Likewise.
51244         * doc/posix-functions/wcsftime.texi: Likewise.
51245         * doc/posix-functions/wcslen.texi: Likewise.
51246         * doc/posix-functions/wcsncat.texi: Likewise.
51247         * doc/posix-functions/wcsncmp.texi: Likewise.
51248         * doc/posix-functions/wcsncpy.texi: Likewise.
51249         * doc/posix-functions/wcspbrk.texi: Likewise.
51250         * doc/posix-functions/wcsrchr.texi: Likewise.
51251         * doc/posix-functions/wcsrtombs.texi: Likewise.
51252         * doc/posix-functions/wcsspn.texi: Likewise.
51253         * doc/posix-functions/wcsstr.texi: Likewise.
51254         * doc/posix-functions/wcstod.texi: Likewise.
51255         * doc/posix-functions/wcstof.texi: Likewise.
51256         * doc/posix-functions/wcstoimax.texi: Likewise.
51257         * doc/posix-functions/wcstok.texi: Likewise.
51258         * doc/posix-functions/wcstold.texi: Likewise.
51259         * doc/posix-functions/wcstoll.texi: Likewise.
51260         * doc/posix-functions/wcstol.texi: Likewise.
51261         * doc/posix-functions/wcstombs.texi: Likewise.
51262         * doc/posix-functions/wcstoull.texi: Likewise.
51263         * doc/posix-functions/wcstoul.texi: Likewise.
51264         * doc/posix-functions/wcstoumax.texi: Likewise.
51265         * doc/posix-functions/wcswidth.texi: Likewise.
51266         * doc/posix-functions/wcsxfrm.texi: Likewise.
51267         * doc/posix-functions/wctob.texi: Likewise.
51268         * doc/posix-functions/wctomb.texi: Likewise.
51269         * doc/posix-functions/wctrans.texi: Likewise.
51270         * doc/posix-functions/wctype.texi: Likewise.
51271         * doc/posix-functions/wcwidth.texi: Likewise.
51272         * doc/posix-functions/wmemchr.texi: Likewise.
51273         * doc/posix-functions/wmemcmp.texi: Likewise.
51274         * doc/posix-functions/wmemcpy.texi: Likewise.
51275         * doc/posix-functions/wmemmove.texi: Likewise.
51276         * doc/posix-functions/wmemset.texi: Likewise.
51277         * doc/posix-functions/wprintf.texi: Likewise.
51278         * doc/posix-functions/wscanf.texi: Likewise.
51279
51280 2008-12-21  Bruno Haible  <bruno@clisp.org>
51281
51282         Update doc for HP-UX 11.11.
51283         * doc/posix-functions/btowc.texi: Clarify that the function is missing
51284         in HP-UX version 11.00, not in all versions of HP-UX 11.
51285         * doc/posix-functions/fwide.texi: Likewise.
51286         * doc/posix-functions/fwprintf.texi: Likewise.
51287         * doc/posix-functions/fwscanf.texi: Likewise.
51288         * doc/posix-functions/inet_ntop.texi: Likewise.
51289         * doc/posix-functions/inet_pton.texi: Likewise.
51290         * doc/posix-functions/mbrlen.texi: Likewise.
51291         * doc/posix-functions/mbrtowc.texi: Likewise.
51292         * doc/posix-functions/mbsinit.texi: Likewise.
51293         * doc/posix-functions/mbsrtowcs.texi: Likewise.
51294         * doc/posix-functions/swprintf.texi: Likewise.
51295         * doc/posix-functions/swscanf.texi: Likewise.
51296         * doc/posix-functions/towctrans.texi: Likewise.
51297         * doc/posix-functions/vfwprintf.texi: Likewise.
51298         * doc/posix-functions/vswprintf.texi: Likewise.
51299         * doc/posix-functions/vwprintf.texi: Likewise.
51300         * doc/posix-functions/wcrtomb.texi: Likewise.
51301         * doc/posix-functions/wcsrtombs.texi: Likewise.
51302         * doc/posix-functions/wcsstr.texi: Likewise.
51303         * doc/posix-functions/wctob.texi: Likewise.
51304         * doc/posix-functions/wctrans.texi: Likewise.
51305         * doc/posix-functions/wmemchr.texi: Likewise.
51306         * doc/posix-functions/wmemcmp.texi: Likewise.
51307         * doc/posix-functions/wmemcpy.texi: Likewise.
51308         * doc/posix-functions/wmemmove.texi: Likewise.
51309         * doc/posix-functions/wmemset.texi: Likewise.
51310         * doc/posix-functions/wprintf.texi: Likewise.
51311         * doc/posix-functions/wscanf.texi: Likewise.
51312
51313 2008-12-21  Bruno Haible  <bruno@clisp.org>
51314
51315         Work around a portability problem.
51316         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
51317         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
51318
51319 2008-12-20  Bruno Haible  <bruno@clisp.org>
51320
51321         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
51322         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
51323         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
51324         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
51325         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
51326
51327         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
51328         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
51329         set.
51330         (GNULIB_defined_mbstate_t): New macro.
51331         (mbsinit): Redefine if REPLACE_MBSINIT is set.
51332         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
51333         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
51334         reuses the system's mbrtowc function but works around the bugs.
51335         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
51336         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
51337         macros.
51338         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
51339         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
51340         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
51341         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
51342         REPLACE_MBSINIT if mbsinit needs to be overridden.
51343         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
51344         REPLACE_MBSINIT, REPLACE_MBRTOWC.
51345         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
51346         REPLACE_MBSINIT, REPLACE_MBRTOWC.
51347         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51348         m4/locale-zh.m4.
51349         (Depends): Add mbsinit.
51350         * modules/mbsinit (Depends): Add mbrtowc.
51351         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
51352
51353 2008-12-20  Bruno Haible  <bruno@clisp.org>
51354
51355         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
51356         so that there are no conversion errors on AIX.
51357         * tests/test-mbsrtowcs.c (main): LIkewise.
51358
51359 2008-12-20  Bruno Haible  <bruno@clisp.org>
51360
51361         Work around wctob bug on Solaris <= 9.
51362         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
51363         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
51364         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
51365         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
51366         * modules/wctob (Files): Add m4/locale-fr.m4.
51367         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
51368
51369 2008-12-20  Bruno Haible  <bruno@clisp.org>
51370
51371         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
51372         /dev/null.
51373         * tests/test-select-in.sh: Likewise.
51374         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51375
51376 2008-12-20  Bruno Haible  <bruno@clisp.org>
51377
51378         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
51379         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
51380         Cygwin 1.5.x.
51381
51382 2008-12-20  Bruno Haible  <bruno@clisp.org>
51383
51384         Ensure mbstate_t is defined on HP-UX 11.11.
51385         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
51386         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
51387         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
51388         AC_USE_SYSTEM_EXTENSIONS.
51389         * modules/fnmatch (Depends-on): Add extensions.
51390         * modules/mbrlen (Depends-on): Likewise.
51391         * modules/mbrtowc (Depends-on): Likewise.
51392         * modules/mbsinit (Depends-on): Likewise.
51393         * modules/mbsrtowcs (Depends-on): Likewise.
51394         * modules/mbswidth (Depends-on): Likewise.
51395         * modules/quotearg (Depends-on): Likewise.
51396         * modules/strftime (Depends-on): Likewise.
51397
51398 2008-12-20  Bruno Haible  <bruno@clisp.org>
51399
51400         Ensure wctob is declared on IRIX 6.5.
51401         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
51402         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
51403         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
51404         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
51405         of HAVE_WCTOB.
51406         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
51407         HAVE_WCTOB.
51408         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
51409
51410 2008-12-19  Bruno Haible  <bruno@clisp.org>
51411
51412         * modules/mbsrtowcs-tests: New file.
51413         * tests/test-mbsrtowcs1.sh: New file.
51414         * tests/test-mbsrtowcs2.sh: New file.
51415         * tests/test-mbsrtowcs3.sh: New file.
51416         * tests/test-mbsrtowcs4.sh: New file.
51417         * tests/test-mbsrtowcs.c: New file.
51418
51419         New module 'mbsrtowcs'.
51420         * lib/wchar.in.h (mbsrtowcs): New declaration.
51421         * lib/mbsrtowcs.c: New file.
51422         * m4/mbsrtowcs.m4: New file.
51423         * modules/mbsrtowcs: New file.
51424         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
51425         HAVE_MBSRTOWCS.
51426         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
51427         HAVE_MBSRTOWCS.
51428         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
51429
51430 2008-12-19  Bruno Haible  <bruno@clisp.org>
51431
51432         New module 'mbrlen'.
51433         * lib/wchar.in.h (mbrlen): New declaration.
51434         * lib/mbrlen.c: New file.
51435         * m4/mbrlen.m4: New file.
51436         * modules/mbrlen: New file.
51437         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
51438         HAVE_MBRLEN.
51439         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
51440         HAVE_MBRLEN.
51441         * doc/posix-functions/mbrlen.texi: Document the new module.
51442
51443 2008-12-19  Bruno Haible  <bruno@clisp.org>
51444
51445         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
51446         * modules/mbrtowc (Depends-on): Add verify.
51447         Suggested by Paul Eggert.
51448
51449 2008-12-18  Bruno Haible  <bruno@clisp.org>
51450
51451         * modules/mbsinit-tests: New file.
51452         * tests/test-mbsinit.sh: New file.
51453         * tests/test-mbsinit.c: New file.
51454
51455 2008-12-18  Bruno Haible  <bruno@clisp.org>
51456
51457         * modules/mbrtowc-tests: New file.
51458         * tests/test-mbrtowc1.sh: New file.
51459         * tests/test-mbrtowc2.sh: New file.
51460         * tests/test-mbrtowc3.sh: New file.
51461         * tests/test-mbrtowc4.sh: New file.
51462         * tests/test-mbrtowc.c: New file.
51463
51464         New module 'mbrtowc'.
51465         * lib/wchar.in.h (mbstate_t): Override when the system does not have
51466         mbsinit and mbrtowc.
51467         (mbrtowc): New declaration.
51468         * lib/mbrtowc.c: New file.
51469         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
51470         * modules/mbrtowc: New file.
51471         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
51472         HAVE_MBRTOWC.
51473         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
51474         HAVE_MBRTOWC.
51475         * doc/posix-functions/mbrtowc.texi: Document the new module.
51476
51477 2008-12-18  Bruno Haible  <bruno@clisp.org>
51478
51479         New module 'wctob'.
51480         * lib/wchar.in.h (wctob): New declaration.
51481         * lib/wctob.c: New file.
51482         * m4/wctob.m4: New file.
51483         * modules/wctob: New file.
51484         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
51485         HAVE_WCTOB.
51486         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
51487         * doc/posix-functions/wctob.texi: Document the new module.
51488
51489 2008-12-18  Bruno Haible  <bruno@clisp.org>
51490
51491         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
51492         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
51493
51494 2008-12-18  Simon Josefsson  <simon@josefsson.org>
51495
51496         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
51497         G. Christensen" <tgc@jupiterrise.com>.
51498
51499         * lib/flock.c: Need to include errno.h.  Reported by "Tom
51500         G. Christensen" <tgc@jupiterrise.com>.
51501
51502         * lib/flock.c: Need to include string.h.  Reported by "Tom
51503         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
51504         <ebb9@byu.net>.
51505
51506 2008-12-18  Bruno Haible  <bruno@clisp.org>
51507
51508         * m4/locale-ja.m4: New file, from GNU gettext.
51509
51510 2008-12-17  Bruno Haible  <bruno@clisp.org>
51511
51512         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
51513         Suggested by Eric Blake.
51514
51515 2008-12-17  Bruno Haible  <bruno@clisp.org>
51516
51517         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
51518
51519 2008-12-17  Bruno Haible  <bruno@clisp.org>
51520
51521         * lib/mbsinit.c: Include verify.h. Verify an assumption.
51522         * modules/mbsinit (Depends-on): Add verify.
51523         Suggested by Paul Eggert.
51524
51525 2008-12-17  Bruno Haible  <bruno@clisp.org>
51526
51527         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
51528         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
51529         gl_FUNC_MBRTOWC.
51530         * m4/mbiter.m4 (gl_MBITER): LIkewise.
51531         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
51532         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
51533         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
51534         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
51535         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
51536         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
51537         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
51538         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
51539         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
51540         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
51541         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
51542         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
51543         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
51544         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
51545         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51546         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
51547         * modules/trim (configure.ac): Likewise.
51548
51549 2008-12-17  Bruno Haible  <bruno@clisp.org>
51550
51551         * modules/btowc-tests: New file.
51552         * tests/test-btowc1.sh: New file.
51553         * tests/test-btowc2.sh: New file.
51554         * tests/test-btowc.c: New file.
51555
51556         New module 'btowc'.
51557         * lib/wchar.in.h (btowc): New declaration.
51558         * lib/btowc.c: New file.
51559         * m4/btowc.m4: New file.
51560         * modules/btowc: New file.
51561         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
51562         HAVE_BTOWC.
51563         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
51564         * doc/posix-functions/btowc.texi: Document the new module.
51565
51566 2008-12-17  Bruno Haible  <bruno@clisp.org>
51567
51568         New module 'mbsinit'.
51569         * lib/wchar.in.h (mbsinit): New declaration.
51570         * lib/mbsinit.c: New file.
51571         * m4/mbsinit.m4: New file.
51572         * modules/mbsinit: New file.
51573         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
51574         HAVE_MBSINIT.
51575         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
51576         HAVE_MBSINIT.
51577         * doc/posix-functions/mbsinit.texi: Document the new module.
51578
51579 2008-12-16  Bruno Haible  <bruno@clisp.org>
51580
51581         * lib/unistd.in.h: Add comment.
51582         * tests/test-environ.c: Don't include <stdlib.h>.
51583
51584 2008-12-16  Bruno Haible  <bruno@clisp.org>
51585
51586         * lib/parse-duration.h (parse_duration): Document return value
51587         convention.
51588         * lib/parse-duration.c: Include specification header first. Add
51589         comments.
51590         (_): Remove macro.
51591         (parse_year_month_day, parse_hour_minute_second): Move side effects
51592         outside of strchr call.
51593         (parse_non_iso8601): Move side effects outside of isspace call.
51594         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
51595         call.
51596
51597 2008-12-16  Bruno Haible  <bruno@clisp.org>
51598
51599         * tests/test-parse-duration.sh: Produce no output when the test
51600         succeeds.
51601
51602 2008-12-16  Bruno Haible  <bruno@clisp.org>
51603
51604         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
51605         expressions.
51606
51607 2008-12-15  Bruno Haible  <bruno@clisp.org>
51608
51609         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
51610         * doc/glibc-functions/flistxattr.texi: Likewise.
51611         * doc/glibc-functions/fopencookie.texi: Likewise.
51612         * doc/glibc-functions/fremovexattr.texi: Likewise.
51613         * doc/glibc-functions/fsetxattr.texi: Likewise.
51614         * doc/glibc-functions/getxattr.texi: Likewise.
51615         * doc/glibc-functions/lgetxattr.texi: Likewise.
51616         * doc/glibc-functions/listxattr.texi: Likewise.
51617         * doc/glibc-functions/llistxattr.texi: Likewise.
51618         * doc/glibc-functions/lremovexattr.texi: Likewise.
51619         * doc/glibc-functions/lsetxattr.texi: Likewise.
51620         * doc/glibc-functions/removexattr.texi: Likewise.
51621         * doc/glibc-functions/setxattr.texi: Likewise.
51622         * doc/posix-functions/open_memstream.texi: Likewise.
51623
51624 2008-12-15  Eric Blake  <ebb9@byu.net>
51625
51626         Update doc for cygwin 1.7.
51627         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
51628         functions.
51629         * doc/posix-functions/fchmodat.texi: Likewise.
51630         * doc/posix-functions/fchownat.texi: Likewise.
51631         * doc/posix-functions/fdopendir.texi: Likewise.
51632         * doc/posix-functions/fmemopen.texi: Likewise.
51633         * doc/posix-functions/freeaddrinfo.texi: Likewise.
51634         * doc/posix-functions/fstatat.texi: Likewise.
51635         * doc/posix-functions/futimens.texi: Likewise.
51636         * doc/posix-functions/gai_strerror.texi: Likewise.
51637         * doc/posix-functions/getaddrinfo.texi: Likewise.
51638         * doc/posix-functions/getnameinfo.texi: Likewise.
51639         * doc/posix-functions/if_freenameindex.texi: Likewise.
51640         * doc/posix-functions/if_indextoname.texi: Likewise.
51641         * doc/posix-functions/if_nameindex.texi: Likewise.
51642         * doc/posix-functions/if_nametoindex.texi: Likewise.
51643         * doc/posix-functions/insque.texi: Likewise.
51644         * doc/posix-functions/linkat.texi: Likewise.
51645         * doc/posix-functions/llrint.texi: Likewise.
51646         * doc/posix-functions/llrintf.texi: Likewise.
51647         * doc/posix-functions/llrintl.texi: Likewise.
51648         * doc/posix-functions/lockf.texi: Likewise.
51649         * doc/posix-functions/lrintl.texi: Likewise.
51650         * doc/posix-functions/mkdirat.texi: Likewise.
51651         * doc/posix-functions/mkfifoat.texi: Likewise.
51652         * doc/posix-functions/mknodat.texi: Likewise.
51653         * doc/posix-functions/mq_close.texi: Likewise.
51654         * doc/posix-functions/mq_getattr.texi: Likewise.
51655         * doc/posix-functions/mq_notify.texi: Likewise.
51656         * doc/posix-functions/mq_open.texi: Likewise.
51657         * doc/posix-functions/mq_receive.texi: Likewise.
51658         * doc/posix-functions/mq_send.texi: Likewise.
51659         * doc/posix-functions/mq_setattr.texi: Likewise.
51660         * doc/posix-functions/mq_timedreceive.texi: Likewise.
51661         * doc/posix-functions/mq_timedsend.texi: Likewise.
51662         * doc/posix-functions/mq_unlink.texi: Likewise.
51663         * doc/posix-functions/open_memstream.texi: Likewise.
51664         * doc/posix-functions/openat.texi: Likewise.
51665         * doc/posix-functions/posix_fadvise.texi: Likewise.
51666         * doc/posix-functions/posix_fallocate.texi: Likewise.
51667         * doc/posix-functions/posix_madvise.texi: Likewise.
51668         * doc/posix-functions/posix_memalign.texi: Likewise.
51669         * doc/posix-functions/posix_openpt.texi: Likewise.
51670         * doc/posix-functions/readlinkat.texi: Likewise.
51671         * doc/posix-functions/remque.texi: Likewise.
51672         * doc/posix-functions/renameat.texi: Likewise.
51673         * doc/posix-functions/rintl.texi: Likewise.
51674         * doc/posix-functions/sem_unlink.texi: Likewise.
51675         * doc/posix-functions/shm_open.texi: Likewise.
51676         * doc/posix-functions/shm_unlink.texi: Likewise.
51677         * doc/posix-functions/signgam.texi: Likewise.
51678         * doc/posix-functions/sigset.texi: Likewise.
51679         * doc/posix-functions/stpcpy.texi: Likewise.
51680         * doc/posix-functions/stpncpy.texi: Likewise.
51681         * doc/posix-functions/strerror.texi: Likewise.
51682         * doc/posix-functions/strtod.texi: Likewise.
51683         * doc/posix-functions/symlinkat.texi: Likewise.
51684         * doc/posix-functions/unlinkat.texi: Likewise.
51685         * doc/posix-functions/utimensat.texi: Likewise.
51686         * doc/glibc-functions/bindresvport.texi: Likewise.
51687         * doc/glibc-functions/dn_expand.texi: Likewise.
51688         * doc/glibc-functions/exp10.texi: Likewise.
51689         * doc/glibc-functions/exp10f.texi: Likewise.
51690         * doc/glibc-functions/fgetxattr.texi: Likewise.
51691         * doc/glibc-functions/flistxattr.texi: Likewise.
51692         * doc/glibc-functions/fopencookie.texi: Likewise.
51693         * doc/glibc-functions/freeifaddrs.texi: Likewise.
51694         * doc/glibc-functions/fremovexattr.texi: Likewise.
51695         * doc/glibc-functions/fsetxattr.texi: Likewise.
51696         * doc/glibc-functions/getifaddrs.texi: Likewise.
51697         * doc/glibc-functions/getxattr.texi: Likewise.
51698         * doc/glibc-functions/lgetxattr.texi: Likewise.
51699         * doc/glibc-functions/listxattr.texi: Likewise.
51700         * doc/glibc-functions/llistxattr.texi: Likewise.
51701         * doc/glibc-functions/lremovexattr.texi: Likewise.
51702         * doc/glibc-functions/lsetxattr.texi: Likewise.
51703         * doc/glibc-functions/pow10.texi: Likewise.
51704         * doc/glibc-functions/pow10f.texi: Likewise.
51705         * doc/glibc-functions/rcmd_af.texi: Likewise.
51706         * doc/glibc-functions/removexattr.texi: Likewise.
51707         * doc/glibc-functions/res_init.texi: Likewise.
51708         * doc/glibc-functions/res_mkquery.texi: Likewise.
51709         * doc/glibc-functions/res_query.texi: Likewise.
51710         * doc/glibc-functions/res_querydomain.texi: Likewise.
51711         * doc/glibc-functions/res_send.texi: Likewise.
51712         * doc/glibc-functions/rresvport_af.texi: Likewise.
51713         * doc/glibc-functions/setxattr.texi: Likewise.
51714         * doc/glibc-functions/strcasestr.texi: Likewise.
51715
51716 2008-12-15  Bruno Haible  <bruno@clisp.org>
51717
51718         Fix compilation error on OSF/1 4.0.
51719         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
51720         <sys/time.h>, simply delegate to the system header.
51721         Reported by Daniel Richard G. <oss@teragram.com>.
51722
51723 2008-12-15  Bruno Haible  <bruno@clisp.org>
51724
51725         * doc/posix-functions/openat.texi: Mention the 'openat' module.
51726         * doc/posix-functions/fchmodat.texi: Likewise.
51727         * doc/posix-functions/fchownat.texi: Likewise.
51728         * doc/posix-functions/fdopendir.texi: Likewise.
51729         * doc/posix-functions/fstatat.texi: Likewise.
51730         * doc/posix-functions/mkdirat.texi: Likewise.
51731         * doc/posix-functions/unlinkat.texi: Likewise.
51732
51733 2008-12-14  Bruno Haible  <bruno@clisp.org>
51734
51735         Update doc for POSIX:2008.
51736         * doc/posix-functions/faccessat.texi: New file.
51737         * doc/posix-functions/fchmodat.texi: New file.
51738         * doc/posix-functions/fchownat.texi: New file.
51739         * doc/posix-functions/fdopendir.texi: New file.
51740         * doc/posix-functions/fstatat.texi: New file.
51741         * doc/posix-functions/futimens.texi: New file.
51742         * doc/posix-functions/linkat.texi: New file.
51743         * doc/posix-functions/mkdirat.texi: New file.
51744         * doc/posix-functions/mkfifoat.texi: New file.
51745         * doc/posix-functions/mknodat.texi: New file.
51746         * doc/posix-functions/open_wmemstream.texi: New file.
51747         * doc/posix-functions/openat.texi: New file.
51748         * doc/posix-functions/psiginfo.texi: New file.
51749         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
51750         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
51751         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
51752         * doc/posix-functions/readlinkat.texi: New file.
51753         * doc/posix-functions/renameat.texi: New file.
51754         * doc/posix-functions/strerror_l.texi: New file.
51755         * doc/posix-functions/symlinkat.texi: New file.
51756         * doc/posix-functions/unlinkat.texi: New file.
51757         * doc/posix-functions/utimensat.texi: New file.
51758         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51759
51760 2008-12-14  Bruno Haible  <bruno@clisp.org>
51761
51762         Update doc for POSIX:2008.
51763         * doc/posix-functions/alphasort.texi: Renamed from
51764         doc/glibc-functions/alphasort.texi.
51765         * doc/posix-functions/dirfd.texi: Renamed from
51766         doc/glibc-functions/dirfd.texi.
51767         * doc/posix-functions/dprintf.texi: Renamed from
51768         doc/glibc-functions/dprintf.texi.
51769         * doc/posix-functions/duplocale.texi: Renamed from
51770         doc/glibc-functions/duplocale.texi.
51771         * doc/posix-functions/fexecve.texi: Renamed from
51772         doc/glibc-functions/fexecve.texi.
51773         * doc/posix-functions/fmemopen.texi: Renamed from
51774         doc/glibc-functions/fmemopen.texi.
51775         * doc/posix-functions/freelocale.texi: Renamed from
51776         doc/glibc-functions/freelocale.texi.
51777         * doc/posix-functions/getdate_err.texi: Renamed from
51778         doc/glibc-functions/getdate_err.texi.
51779         * doc/posix-functions/isalnum_l.texi: Renamed from
51780         doc/glibc-functions/isalnum_l.texi.
51781         * doc/posix-functions/isalpha_l.texi: Renamed from
51782         doc/glibc-functions/isalpha_l.texi.
51783         * doc/posix-functions/isblank_l.texi: Renamed from
51784         doc/glibc-functions/isblank_l.texi.
51785         * doc/posix-functions/iscntrl_l.texi: Renamed from
51786         doc/glibc-functions/iscntrl_l.texi.
51787         * doc/posix-functions/isdigit_l.texi: Renamed from
51788         doc/glibc-functions/isdigit_l.texi.
51789         * doc/posix-functions/isgraph_l.texi: Renamed from
51790         doc/glibc-functions/isgraph_l.texi.
51791         * doc/posix-functions/islower_l.texi: Renamed from
51792         doc/glibc-functions/islower_l.texi.
51793         * doc/posix-functions/isprint_l.texi: Renamed from
51794         doc/glibc-functions/isprint_l.texi.
51795         * doc/posix-functions/ispunct_l.texi: Renamed from
51796         doc/glibc-functions/ispunct_l.texi.
51797         * doc/posix-functions/isspace_l.texi: Renamed from
51798         doc/glibc-functions/isspace_l.texi.
51799         * doc/posix-functions/isupper_l.texi: Renamed from
51800         doc/glibc-functions/isupper_l.texi.
51801         * doc/posix-functions/iswalnum_l.texi: Renamed from
51802         doc/glibc-functions/iswalnum_l.texi.
51803         * doc/posix-functions/iswalpha_l.texi: Renamed from
51804         doc/glibc-functions/iswalpha_l.texi.
51805         * doc/posix-functions/iswblank_l.texi: Renamed from
51806         doc/glibc-functions/iswblank_l.texi.
51807         * doc/posix-functions/iswcntrl_l.texi: Renamed from
51808         doc/glibc-functions/iswcntrl_l.texi.
51809         * doc/posix-functions/iswctype_l.texi: Renamed from
51810         doc/glibc-functions/iswctype_l.texi.
51811         * doc/posix-functions/iswdigit_l.texi: Renamed from
51812         doc/glibc-functions/iswdigit_l.texi.
51813         * doc/posix-functions/iswgraph_l.texi: Renamed from
51814         doc/glibc-functions/iswgraph_l.texi.
51815         * doc/posix-functions/iswlower_l.texi: Renamed from
51816         doc/glibc-functions/iswlower_l.texi.
51817         * doc/posix-functions/iswprint_l.texi: Renamed from
51818         doc/glibc-functions/iswprint_l.texi.
51819         * doc/posix-functions/iswpunct_l.texi: Renamed from
51820         doc/glibc-functions/iswpunct_l.texi.
51821         * doc/posix-functions/iswspace_l.texi: Renamed from
51822         doc/glibc-functions/iswspace_l.texi.
51823         * doc/posix-functions/iswupper_l.texi: Renamed from
51824         doc/glibc-functions/iswupper_l.texi.
51825         * doc/posix-functions/iswxdigit_l.texi: Renamed from
51826         doc/glibc-functions/iswxdigit_l.texi.
51827         * doc/posix-functions/isxdigit_l.texi: Renamed from
51828         doc/glibc-functions/isxdigit_l.texi.
51829         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
51830         doc/glibc-functions/mbsnrtowcs.texi.
51831         * doc/posix-functions/mkdtemp.texi: Renamed from
51832         doc/glibc-functions/mkdtemp.texi.
51833         * doc/posix-functions/newlocale.texi: Renamed from
51834         doc/glibc-functions/newlocale.texi.
51835         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
51836         doc/glibc-functions/nl_langinfo_l.texi.
51837         * doc/posix-functions/open_memstream.texi: Renamed from
51838         doc/glibc-functions/open_memstream.texi.
51839         * doc/posix-functions/opterr.texi: Renamed from
51840         doc/glibc-functions/opterr.texi.
51841         * doc/posix-functions/optind.texi: Renamed from
51842         doc/glibc-functions/optind.texi.
51843         * doc/posix-functions/optopt.texi: Renamed from
51844         doc/glibc-functions/optopt.texi.
51845         * doc/posix-functions/psignal.texi: Renamed from
51846         doc/glibc-functions/psignal.texi.
51847         * doc/posix-functions/scandir.texi: Renamed from
51848         doc/glibc-functions/scandir.texi.
51849         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
51850         doc/glibc-functions/sched_get_priority_min.texi.
51851         * doc/posix-functions/signgam.texi: Renamed from
51852         doc/glibc-functions/signgam.texi.
51853         * doc/posix-functions/stpcpy.texi: Renamed from
51854         doc/glibc-functions/stpcpy.texi.
51855         * doc/posix-functions/stpncpy.texi: Renamed from
51856         doc/glibc-functions/stpncpy.texi.
51857         * doc/posix-functions/strcasecmp_l.texi: Renamed from
51858         doc/glibc-functions/strcasecmp_l.texi.
51859         * doc/posix-functions/strcoll_l.texi: Renamed from
51860         doc/glibc-functions/strcoll_l.texi.
51861         * doc/posix-functions/strfmon_l.texi: Renamed from
51862         doc/glibc-functions/strfmon_l.texi.
51863         * doc/posix-functions/strftime_l.texi: Renamed from
51864         doc/glibc-functions/strftime_l.texi.
51865         * doc/posix-functions/strncasecmp_l.texi: Renamed from
51866         doc/glibc-functions/strncasecmp_l.texi.
51867         * doc/posix-functions/strndup.texi: Renamed from
51868         doc/glibc-functions/strndup.texi.
51869         * doc/posix-functions/strnlen.texi: Renamed from
51870         doc/glibc-functions/strnlen.texi.
51871         * doc/posix-functions/strsignal.texi: Renamed from
51872         doc/glibc-functions/strsignal.texi.
51873         * doc/posix-functions/strxfrm_l.texi: Renamed from
51874         doc/glibc-functions/strxfrm_l.texi.
51875         * doc/posix-functions/timer_gettime.texi: Renamed from
51876         doc/glibc-functions/timer_gettime.texi.
51877         * doc/posix-functions/tolower_l.texi: Renamed from
51878         doc/glibc-functions/tolower_l.texi.
51879         * doc/posix-functions/toupper_l.texi: Renamed from
51880         doc/glibc-functions/toupper_l.texi.
51881         * doc/posix-functions/towctrans_l.texi: Renamed from
51882         doc/glibc-functions/towctrans_l.texi.
51883         * doc/posix-functions/towlower_l.texi: Renamed from
51884         doc/glibc-functions/towlower_l.texi.
51885         * doc/posix-functions/towupper_l.texi: Renamed from
51886         doc/glibc-functions/towupper_l.texi.
51887         * doc/posix-functions/uselocale.texi: Renamed from
51888         doc/glibc-functions/uselocale.texi.
51889         * doc/posix-functions/vdprintf.texi: Renamed from
51890         doc/glibc-functions/vdprintf.texi.
51891         * doc/posix-functions/wcpcpy.texi:
51892         Renamed from doc/glibc-functions/wcpcpy.texi.
51893         * doc/posix-functions/wcpncpy.texi: Renamed from
51894         doc/glibc-functions/wcpncpy.texi.
51895         * doc/posix-functions/wcscasecmp.texi: Renamed from
51896         doc/glibc-functions/wcscasecmp.texi.
51897         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
51898         doc/glibc-functions/wcscasecmp_l.texi.
51899         * doc/posix-functions/wcscoll_l.texi: Renamed from
51900         doc/glibc-functions/wcscoll_l.texi.
51901         * doc/posix-functions/wcsdup.texi: Renamed from
51902         doc/glibc-functions/wcsdup.texi.
51903         * doc/posix-functions/wcsncasecmp.texi: Renamed from
51904         doc/glibc-functions/wcsncasecmp.texi.
51905         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
51906         doc/glibc-functions/wcsncasecmp_l.texi.
51907         * doc/posix-functions/wcsnlen.texi: Renamed from
51908         doc/glibc-functions/wcsnlen.texi.
51909         * doc/posix-functions/wcsnrtombs.texi: Renamed from
51910         doc/glibc-functions/wcsnrtombs.texi.
51911         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
51912         doc/glibc-functions/wcsxfrm_l.texi.
51913         * doc/posix-functions/wctrans_l.texi: Renamed from
51914         doc/glibc-functions/wctrans_l.texi.
51915         * doc/posix-functions/wctype_l.texi: Renamed from
51916         doc/glibc-functions/wctype_l.texi.
51917         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51918         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
51919         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
51920         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
51921         these subsections.
51922         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
51923         Remove sections.
51924
51925 2008-12-14  Bruno Haible  <bruno@clisp.org>
51926
51927         Update doc for POSIX:2008.
51928         * doc/posix-functions/*.texi: Update URL of POSIX specification.
51929
51930 2008-12-14  Bruno Haible  <bruno@clisp.org>
51931
51932         Update doc for POSIX:2008.
51933         * doc/pastposix-functions/bcmp.texi: Renamed from
51934         doc/posix-functions/bcmp.texi.
51935         * doc/pastposix-functions/bcopy.texi: Renamed from
51936         doc/posix-functions/bcopy.texi.
51937         * doc/pastposix-functions/bsd_signal.texi: Renamed from
51938         doc/posix-functions/bsd_signal.texi.
51939         * doc/pastposix-functions/bzero.texi: Renamed from
51940         doc/posix-functions/bzero.texi.
51941         * doc/pastposix-functions/ecvt.texi: Renamed from
51942         doc/posix-functions/ecvt.texi.
51943         * doc/pastposix-functions/fcvt.texi: Renamed from
51944         doc/posix-functions/fcvt.texi.
51945         * doc/pastposix-functions/ftime.texi: Renamed from
51946         doc/posix-functions/ftime.texi.
51947         * doc/pastposix-functions/gcvt.texi: Renamed from
51948         doc/posix-functions/gcvt.texi.
51949         * doc/pastposix-functions/getcontext.texi: Renamed from
51950         doc/posix-functions/getcontext.texi.
51951         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51952         doc/posix-functions/gethostbyaddr.texi.
51953         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51954         doc/posix-functions/gethostbyname.texi.
51955         * doc/pastposix-functions/getwd.texi: Renamed from
51956         doc/posix-functions/getwd.texi.
51957         * doc/pastposix-functions/h_errno.texi: Renamed from
51958         doc/posix-functions/h_errno.texi.
51959         * doc/pastposix-functions/index.texi: Renamed from
51960         doc/posix-functions/index.texi.
51961         * doc/pastposix-functions/makecontext.texi: Renamed from
51962         doc/posix-functions/makecontext.texi.
51963         * doc/pastposix-functions/mktemp.texi: Renamed from
51964         doc/posix-functions/mktemp.texi.
51965         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51966         doc/posix-functions/pthread_attr_getstackaddr.texi.
51967         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51968         doc/posix-functions/pthread_attr_setstackaddr.texi.
51969         * doc/pastposix-functions/rindex.texi: Renamed from
51970         doc/posix-functions/rindex.texi.
51971         * doc/pastposix-functions/scalb.texi: Renamed from
51972         doc/posix-functions/scalb.texi.
51973         * doc/pastposix-functions/setcontext.texi: Renamed from
51974         doc/posix-functions/setcontext.texi.
51975         * doc/pastposix-functions/swapcontext.texi: Renamed from
51976         doc/posix-functions/swapcontext.texi.
51977         * doc/pastposix-functions/ualarm.texi: Renamed from
51978         doc/posix-functions/ualarm.texi.
51979         * doc/pastposix-functions/usleep.texi: Renamed from
51980         doc/posix-functions/usleep.texi.
51981         * doc/pastposix-functions/vfork.texi: Renamed from
51982         doc/posix-functions/vfork.texi.
51983         * doc/pastposix-functions/wcswcs.texi: Renamed from
51984         doc/posix-functions/wcswcs.texi.
51985         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51986         (Function Substitutes): Update.
51987
51988 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51989
51990         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51991         m4/strerror.m4.
51992
51993 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51994             Bruno Haible  <bruno@clisp.org>
51995
51996         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51997
51998 2008-12-13  Bruno Haible  <bruno@clisp.org>
51999
52000         * modules/strtoull (Depends-on): Remove unistd.
52001
52002 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52003
52004         * modules/strtoull (Depends-on): Add stdlib.
52005
52006 2008-12-11  Simon Josefsson  <simon@josefsson.org>
52007
52008         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
52009
52010 2008-12-10  Jim Meyering  <meyering@redhat.com>
52011
52012         gl_ASSERT: don't say assertions are disabled when they're not
52013         * m4/assert.m4 (gl_ASSERT): Do not make configure report
52014         "checking whether to enable assertions... no", when they are in
52015         fact enabled.  This is solely a bug in the output of configure.
52016         In spite of saying "no", NDEBUG was not defined in that case.
52017         Also, as noted by Eric Blake, leave assertions enabled upon
52018         --enable-assert=INVALID.
52019
52020 2008-12-10  Bruno Haible  <bruno@clisp.org>
52021
52022         Change MODULES.html to refer to POSIX:2008 where possible.
52023         * MODULES.html.sh (POSIX2008_URL): New variable.
52024         (posix_headers): Remove sys/timeb, ucontext.
52025         (posix2001_headers): New variable.
52026         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
52027         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
52028         index, makecontext, mktemp, pthread_attr_getstackaddr,
52029         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
52030         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
52031         (posix2001_functions): New variable.
52032         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
52033         otherwise.
52034
52035 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52036
52037         add missing include to parse-duration.c
52038         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
52039         * modules/parse-duration (Depends-on): Add xalloc.
52040
52041         fix sed script reading maint.mk
52042         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
52043         (syntax-check-rules): Use it.
52044
52045 2008-12-09  Bruno Haible  <bruno@clisp.org>
52046
52047         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
52048         MacOS X 10.4/PowerPC.
52049         Reported by Simon Josefsson.
52050
52051 2008-12-08  Jim Meyering  <meyering@redhat.com>
52052
52053         work around mingw's lack of some S_IF definitions
52054         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
52055         Reported by Simon Josefsson.
52056
52057 2008-12-08  Bruno Haible  <bruno@clisp.org>
52058
52059         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
52060         applied to variables. Needed on MacOS X 10.4/PowerPC.
52061         Reported by Simon Josefsson.
52062
52063 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
52064         and Eric Blake  <ebb9@byu.net>
52065
52066         assert: honor --enable-assert
52067         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
52068         order to honor --enable-assert, rather than treating it as a
52069         synonym for --disable-assert.
52070
52071 2008-12-08  Jim Meyering  <meyering@redhat.com>
52072
52073         * lib/posixtm.c: Remove now-useless declaration of mktime.
52074
52075         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
52076
52077 2008-12-07  Bruno Haible  <bruno@clisp.org>
52078
52079         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
52080         test_once): Mark functions as static.
52081         * tests/test-tls.c (test_tls): Likewise.
52082
52083 2008-12-07  Bruno Haible  <bruno@clisp.org>
52084
52085         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
52086         iconv_register_autodetect.
52087
52088 2008-12-07  Jim Meyering  <meyering@redhat.com>
52089
52090         posixtm.c: avoid a warning
52091         * lib/posixtm.c (posixtime): Don't initialize tm0.
52092         It's no longer needed to placate gcc4's -Wuninitialized,
52093         and the attempt to placate would elicit a new warning.
52094
52095         unicodeio.c: mark unused parameters
52096         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
52097         (fallback_failure_callback): Likewise.
52098
52099 2008-12-07  Bruno Haible  <bruno@clisp.org>
52100
52101         * gnulib-tool (func_create_testdir): When building the tests
52102         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
52103         Reported by Simon Josefsson.
52104
52105 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52106
52107         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
52108
52109 2008-12-06  Bruno Haible  <bruno@clisp.org>
52110
52111         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
52112         Suggested by Eric Blake.
52113
52114 2008-12-06  Bruno Haible  <bruno@clisp.org>
52115
52116         Fix a c-stack test failure on MacOS X.
52117         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
52118         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
52119         handler for SIGBUS as well.
52120         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
52121         install a signal handler for SIGBUS as well.
52122         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
52123
52124 2008-12-06  Bruno Haible  <bruno@clisp.org>
52125
52126         Advocacy documentation.
52127         * doc/gnulib-intro.texi (Benefits): New section.
52128         * doc/gnulib.texi: Update.
52129
52130 2008-12-06  Bruno Haible  <bruno@clisp.org>
52131
52132         Document the 'manywarnings' module.
52133         * doc/manywarnings.texi: New file.
52134         * doc/gnulib.texi: Include it.
52135
52136 2008-12-05  Eric Blake  <ebb9@byu.net>
52137
52138         tests: silence some gcc warnings
52139         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
52140         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
52141         type mismatches.
52142
52143 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52144             Bruno Haible  <bruno@clisp.org>
52145
52146         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
52147
52148 2008-11-29  Jim Meyering  <meyering@redhat.com>
52149
52150         unicodeio.c: mark unused parameters
52151         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
52152         (fallback_failure_callback): Likewise.
52153
52154         fts: fix a thinko
52155         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
52156         (set_stat_type): Return S_IF*-valued "type" directly.
52157         Prompted by James Youngman's spotting a related bug.
52158         Confirmed by further testing through find.
52159
52160         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
52161         * lib/fts.c (D_TYPE): Define.
52162         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
52163         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
52164         (s_ifmt_shift_bits): New function.
52165         (set_stat_type): New function.
52166         (fts_build): When not calling fts_stat, call set_stat_type
52167         to propagate dirent.d_type info to fts_read caller.
52168         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
52169         fts_statp->st_mode type information may be valid.
52170
52171 2008-11-28  Simon Josefsson  <simon@josefsson.org>
52172
52173         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
52174         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
52175         <sds@gnu.org>.
52176
52177 2008-11-20  Bruno Haible  <bruno@clisp.org>
52178
52179         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
52180         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
52181         INCLUDE_NEXT.
52182         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
52183         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
52184         * modules/math (Makefile.am): Substitute
52185         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
52186         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52187
52188 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
52189             Bruno Haible  <bruno@clisp.org>
52190
52191         * lib/stdint.in.h: Define all type macros so that their expansion is
52192         a single typedef'ed token. Fixes a compilation failure in Boost which
52193         does "using ::int8_t;".
52194
52195 2008-11-18  Simon Josefsson  <simon@josefsson.org>
52196
52197         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
52198         gl_MANYWARN_ALL_GCC.
52199         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
52200         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
52201         * modules/manywarnings: New file.
52202         * MODULES.html.sh: Mention manywarnings module.
52203
52204 2008-11-18  Bruno Haible  <bruno@clisp.org>
52205
52206         * doc/gnulib-tool.texi (Unit tests): New section.
52207
52208 2008-11-18  Simon Josefsson  <simon@josefsson.org>
52209
52210         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
52211         paths like 'lib/po/foo.po'.
52212
52213 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52214
52215         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
52216         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
52217
52218 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52219
52220         * m4/warnings.m4: Use CPPFLAGS to really check whether the
52221         parameter works.
52222
52223 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52224
52225         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
52226
52227 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52228
52229         * modules/parse-duration-tests: New file.
52230         * tests/test-parse-duration.sh: New file.
52231         * tests/test-parse-duration.c: New file.
52232
52233         New module 'parse-duration'.
52234         * lib/parse-duration.h: New file.
52235         * lib/parse-duration.c: New file.
52236         * modules/parse-duration: New file.
52237
52238 2008-11-17  Bruno Haible  <bruno@clisp.org>
52239
52240         * tests/test-select-out.sh: Comment out the first pipe test.
52241         Reported by Simon Josefsson.
52242
52243 2008-11-17  Bruno Haible  <bruno@clisp.org>
52244
52245         * modules/getaddrinfo (Depends-on): Add servent, hostent.
52246         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
52247         gl_HOSTENT.
52248
52249 2008-11-17  Bruno Haible  <bruno@clisp.org>
52250
52251         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
52252         -lnetwork and -lnet. Needed for Haiku and BeOS.
52253
52254 2008-11-16  Bruno Haible  <bruno@clisp.org>
52255
52256         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
52257
52258 2008-11-16  Bruno Haible  <bruno@clisp.org>
52259
52260         Avoid test failure on Haiku.
52261         * tests/test-fsync.c: Include <errno.h>.
52262         (main): Don't require that fsync (0) fails.
52263
52264 2008-11-15  Bruno Haible  <bruno@clisp.org>
52265
52266         New module 'hostent'.
52267         * modules/hostent: New file.
52268         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
52269
52270 2008-11-15  Bruno Haible  <bruno@clisp.org>
52271
52272         New module 'servent'.
52273         * modules/servent: New file.
52274         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
52275
52276 2008-11-15  Bruno Haible  <bruno@clisp.org>
52277
52278         Avoid generating same test program with two different rules.
52279         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
52280         test-frexp to test-frexp-nolibm.
52281         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
52282         test-frexpl to test-frexpl-nolibm.
52283
52284 2008-11-15  Bruno Haible  <bruno@clisp.org>
52285
52286         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
52287         $(FREXPL_LIBM).
52288
52289 2008-11-15  Bruno Haible  <bruno@clisp.org>
52290
52291         * lib/netdb.in.h: Activate the definitions also when the system's
52292         <netdb.h> has 'struct addrinfo'.
52293         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
52294         EAI_OVERFLOW or AI_NUMERICSERV.
52295         * doc/posix-headers/netdb.texi: Document the problem.
52296
52297 2008-11-15  Bruno Haible  <bruno@clisp.org>
52298
52299         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
52300
52301         Make the 'sched' module work on platforms where <sched.h> exists but
52302         is incomplete (such as Haiku).
52303         * lib/sched.in.h; Include the system's <sched.h> if it exists.
52304         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
52305         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
52306         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
52307         HAVE_STRUCT_SCHED_PARAM.
52308         * modules/sched (Depends-on): Add include_next.
52309         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
52310         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
52311         * doc/posix-headers/sched.texi: Document the issue.
52312
52313 2008-11-13  Jim Meyering  <meyering@redhat.com>
52314
52315         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
52316         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
52317         test would fail due to the difference in the Report bugs to ...
52318         line.  The expected address is empty, "<>", while the actual
52319         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
52320
52321 2008-11-12  Bruno Haible  <bruno@clisp.org>
52322
52323         lstat: don't compile lstat.c on systems lacking lstat
52324         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
52325         which don't have lstat; this is handled by lib/sys_stat.in.h already.
52326         Reported by Daniel P. Berrange via Jim Meyering.
52327
52328 2008-11-12  Jim Meyering  <meyering@redhat.com>
52329
52330         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
52331
52332 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52333
52334         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
52335         instead.
52336
52337 2008-11-12  Bruno Haible  <bruno@clisp.org>
52338
52339         * lib/unicodeio.c: Include unistr.h.
52340         (utf8_wctomb): Remove function.
52341         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
52342
52343 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52344
52345         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
52346         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
52347         <bruno@clisp.org>.
52348         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
52349
52350 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52351
52352         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
52353         * doc/gnulib.texi: Add section for warnings.
52354
52355 2008-11-11  Bruno Haible  <bruno@clisp.org>
52356
52357         * lib/sockets.h: Add a comment.
52358
52359 2008-11-11  Karl Berry  <karl@gnu.org>
52360
52361         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
52362
52363 2008-11-11  Eric Blake  <ebb9@byu.net>
52364
52365         fdl.texi: avoid git symlinks
52366         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
52367
52368 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52369
52370         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
52371
52372 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52373
52374         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
52375         (gl_WARN_ADD): Substitute $2 if literal.
52376
52377 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52378
52379         * m4/warning.m4: Remove.
52380
52381 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52382
52383         * m4/warnings.m4: Almost complete rewrite. :-)
52384
52385 2008-11-10  Simon Josefsson  <simon@josefsson.org>
52386
52387         * modules/warnings: New module.
52388         * m4/warnings.m4: New file.
52389         * MODULES.html.sh: Mention warnings module.
52390         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
52391         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52392
52393 2008-11-10  Eric Blake  <ebb9@byu.net>
52394
52395         fdl.texi: make a symlink to the latest version
52396         * doc/standards.texi: Revert today's earlier change.
52397         * doc/fdl-1.2.texi: Rename from old fdl.texi...
52398         * doc/fdl.texi: ...and replace this with a symlink to the newer
52399         fdl-1.3.texi.
52400
52401 2008-11-10  Bruno Haible  <bruno@clisp.org>
52402
52403         * tests/test-select-fd.c (main): Accept the result file name as fourth
52404         argument.
52405         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
52406         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
52407
52408 2008-11-10  Bruno Haible  <bruno@clisp.org>
52409
52410         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
52411         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
52412         as autoconf-substituted macros.
52413         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
52414         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
52415         gl_NETDB_H_DEFAULTS. Set these variables.
52416         * modules/netdb (Makefile.am): Substitute these variables.
52417
52418 2008-11-10  Eric Blake  <ebb9@byu.net>
52419
52420         standards.texi: include correct file for FDL 1.3
52421         * doc/standards.texi (GNU Free Documentation License): Change
52422         include file to pull in FDL 1.3, not 1.2.
52423
52424         fdl.texi: revert accidental change to license
52425         * doc/fdl.texi: This is FDL 1.2, not 1.3.
52426
52427 2008-11-10  Bruno Haible  <bruno@clisp.org>
52428
52429         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
52430         cross-compiling guesses also when the native compile gives no result.
52431
52432 2008-11-10  Bruno Haible  <bruno@clisp.org>
52433
52434         * lib/spawni.c (__spawni): Force variable into the stack.
52435
52436 2008-11-10  Bruno Haible  <bruno@clisp.org>
52437
52438         Add support for Haiku.
52439         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
52440         glibc and BeOS, but also on Haiku.
52441         * lib/fpurge.c (fpurge): Likewise.
52442         * lib/freadable.c (freadable): Likewise.
52443         * lib/freadahead.c (freadahead): Likewise.
52444         * lib/freading.c (freading): Likewise.
52445         * lib/freadptr.c (freadptr): Likewise.
52446         * lib/freadseek.c (freadptrinc): Likewise.
52447         * lib/fseeko.c (rpl_fseeko): Likewise.
52448         * lib/fseterr.c (fseterr): Likewise.
52449         * lib/fwritable.c (fwritable): Likewise.
52450         * lib/fwriting.c (fwriting): Likewise.
52451         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
52452
52453 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
52454
52455         * lib/config.charset: Treat Haiku like BeOS.
52456
52457 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
52458
52459         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
52460         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
52461
52462 2008-11-08  Bruno Haible  <bruno@clisp.org>
52463
52464         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
52465         AC_CACHE_CHECK.
52466
52467 2008-11-08  Bruno Haible  <bruno@clisp.org>
52468
52469         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
52470
52471 2008-11-08  Bruno Haible  <bruno@clisp.org>
52472
52473         * tests/test-select-fd.c: New file.
52474         * tests/test-select-in.sh: New file.
52475         * tests/test-select-out.sh: New file.
52476         * tests/test-select-stdin.c: New file.
52477         * modules/select-tests (Files): Add the new files.
52478         (Depends-on): Add gettimeofday.
52479         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
52480         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
52481         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
52482
52483 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
52484             Bruno Haible  <bruno@clisp.org>
52485
52486         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
52487
52488 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
52489
52490         * build-aux/pmccabe2html: Added support for C++ source files.
52491
52492 2008-11-05  Ben Pfaff  <blp@gnu.org>
52493
52494         Fix lib/close.c build on Windows.
52495         * modules/close (Files): Add lib/w32sock.h.
52496
52497 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
52498
52499         Accept Bison's NEWS format.
52500         * build-aux/announce-gen (print_news_deltas): Tweak
52501         $re_prefix.
52502
52503 2008-11-04  Bruno Haible  <bruno@clisp.org>
52504
52505         * modules/random_r (Maintainer): Add glibc.
52506
52507 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52508
52509         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
52510         by karl@freefriends.org (Karl Berry).
52511         * doc/alloca.texi: Likewise.
52512         * doc/c-ctype.texi: Likewise.
52513         * doc/c-strcase.texi: Likewise.
52514         * doc/c-strcaseeq.texi: Likewise.
52515         * doc/c-strcasestr.texi: Likewise.
52516         * doc/c-strstr.texi: Likewise.
52517         * doc/c-strtod.texi: Likewise.
52518         * doc/c-strtold.texi: Likewise.
52519         * doc/ctime.texi: Likewise.
52520         * doc/error.texi: Likewise.
52521         * doc/fdl.texi: Likewise.
52522         * doc/gcd.texi: Likewise.
52523         * doc/getdate.texi: Likewise.
52524         * doc/gnulib-intro.texi: Likewise.
52525         * doc/gnulib-tool.texi: Likewise.
52526         * doc/gnulib.texi: Likewise.
52527         * doc/inet_ntoa.texi: Likewise.
52528         * doc/maintain.texi: Likewise.
52529         * doc/make-stds.texi: Likewise.
52530         * doc/quote.texi: Likewise.
52531         * doc/regexprops-generic.texi: Likewise.
52532         * doc/standards.texi: Likewise.
52533         * doc/verify.texi: Likewise.
52534         * doc/visibility.texi: Likewise.
52535         * doc/gnulib.texi (GNU Free Documentation License): Include
52536         fdl-1.3.texi instead of fdl.texi.
52537
52538 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52539
52540         * doc/fdl-1.3.texi: New file, from
52541         <http://www.gnu.org/licenses/fdl-1.3.texi>.
52542         * modules/fdl-1.3: Add.
52543         * MODULES.html.sh: Add fdl-1.3.
52544
52545 2008-11-03  Bruno Haible  <bruno@clisp.org>
52546
52547         Make determination of absolute name of header file work with AIX xlc.
52548         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
52549         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
52550         preprocessing.
52551         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52552         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52553
52554 2008-11-03  Simon Josefsson  <simon@josefsson.org>
52555
52556         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
52557         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
52558         <ludo@gnu.org>.
52559
52560 2008-11-02  Bruno Haible  <bruno@clisp.org>
52561
52562         Mark 'strpbrk' obsolete.
52563         * modules/strpbrk (Status, Notice): New sections.
52564         * modules/strtok_r (Depends-on): Add strpbrk.
52565
52566 2008-11-02  Bruno Haible  <bruno@clisp.org>
52567
52568         Mark 'strdup' obsolete.
52569         * modules/strdup (Status, Notice): New sections.
52570         * modules/findprog (Depends-on): Add strdup.
52571         * modules/getaddrinfo (Depends-on): Likewise.
52572         * modules/localename (Depends-on): Likewise.
52573         * modules/relocatable-lib (Depends-on): Likewise.
52574         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
52575         * modules/relocatable-prog (Depends-on): Likewise.
52576         * modules/trim (Depends-on): Likewise.
52577         * modules/unictype/gen-ctype (Depends-on): Likewise.
52578         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52579
52580 2008-11-02  Bruno Haible  <bruno@clisp.org>
52581
52582         Mark 'strcspn' obsolete.
52583         * modules/strcspn (Status, Notice): New sections.
52584
52585 2008-11-02  Bruno Haible  <bruno@clisp.org>
52586
52587         Mark 'rmdir' obsolete.
52588         * modules/rmdir (Status, Notice): New sections.
52589         * modules/clean-temp (Depends-on): Add rmdir.
52590         * modules/openat (Depends-on): Likewise.
52591
52592 2008-11-02  Bruno Haible  <bruno@clisp.org>
52593
52594         Mark 'raise' obsolete.
52595         * modules/raise (Status, Notice): New sections.
52596         (Include): Specify <signal.h>.
52597         * modules/stdio (Depends-on): Add raise.
52598         * modules/write (Depends-on): Likewise.
52599
52600 2008-11-02  Bruno Haible  <bruno@clisp.org>
52601
52602         Mark 'memset' obsolete.
52603         * modules/memset (Status, Notice): New sections.
52604
52605 2008-11-02  Bruno Haible  <bruno@clisp.org>
52606
52607         Mark 'memmove' obsolete.
52608         * modules/memmove (Status, Notice): New sections.
52609         * modules/argp (Depends-on): Add memmove.
52610         * modules/argz (Depends-on): Likewise.
52611         * modules/canonicalize (Depends-on): Likewise.
52612         * modules/canonicalize-lgpl (Depends-on): Likewise.
52613         * modules/fts (Depends-on): Likewise.
52614         * modules/getcwd (Depends-on): Likewise.
52615         * modules/human (Depends-on): Likewise.
52616         * modules/regex (Depends-on): Likewise.
52617         * modules/striconveh (Depends-on): Likewise.
52618         * modules/trim (Depends-on): Likewise.
52619         * modules/unistr/u8-move (Depends-on): Likewise.
52620         * modules/unistr/u16-move (Depends-on): Likewise.
52621         * modules/unistr/u32-move (Depends-on): Likewise.
52622
52623 2008-11-02  Bruno Haible  <bruno@clisp.org>
52624
52625         Mark 'memcpy' obsolete.
52626         * modules/memcpy (Status, Notice): New sections.
52627
52628 2008-11-02  Bruno Haible  <bruno@clisp.org>
52629
52630         Mark 'memcmp' obsolete.
52631         * modules/memcmp (Status, Notice): New sections.
52632         * modules/argmatch (Depends-on): Add memchr.
52633         * modules/backupfile (Depends-on): Likewise.
52634         * modules/c-strcasestr (Depends-on): Likewise.
52635         * modules/crypto/des (Depends-on): Likewise.
52636         * modules/csharpcomp (Depends-on): Likewise.
52637         * modules/fnmatch (Depends-on): Likewise.
52638         * modules/git-merge-changelog (Depends-on): Likewise.
52639         * modules/isnand (Depends-on): Likewise.
52640         * modules/isnand-nolibm (Depends-on): Likewise.
52641         * modules/isnanf (Depends-on): Likewise.
52642         * modules/isnanf-nolibm (Depends-on): Likewise.
52643         * modules/isnanl (Depends-on): Likewise.
52644         * modules/isnanl-nolibm (Depends-on): Likewise.
52645         * modules/mbchar (Depends-on): Likewise.
52646         * modules/memcoll (Depends-on): Likewise.
52647         * modules/quotearg (Depends-on): Likewise.
52648         * modules/regex (Depends-on): Likewise.
52649         * modules/relocatable-prog (Depends-on): Likewise.
52650         * modules/same (Depends-on): Likewise.
52651         * modules/signbit (Depends-on): Likewise.
52652         * modules/strcasestr-simple (Depends-on): Likewise.
52653         * modules/unictype/gen-ctype (Depends-on): Likewise.
52654         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52655         * modules/uniname/uniname (Depends-on): Likewise.
52656         * modules/unistr/u8-cmp (Depends-on): Likewise.
52657
52658 2008-11-02  Bruno Haible  <bruno@clisp.org>
52659
52660         Mark 'memchr' obsolete.
52661         * modules/memchr (Status, Notice): New sections.
52662         * modules/argp (Depends-on): Add memchr.
52663         * modules/base64 (Depends-on): Likewise.
52664         * modules/c-strcasestr (Depends-on): Likewise.
52665         * modules/chdir-long (Depends-on): Likewise.
52666         * modules/fnmatch (Depends-on): Likewise.
52667         * modules/getsubopt (Depends-on): Likewise.
52668         * modules/git-merge-changelog (Depends-on): Likewise.
52669         * modules/glob (Depends-on): Likewise.
52670         * modules/strcasestr-simple (Depends-on): Likewise.
52671         * modules/strnlen (Depends-on): Likewise.
52672
52673 2008-11-02  Bruno Haible  <bruno@clisp.org>
52674
52675         Mark 'atexit' obsolete.
52676         * modules/atexit (Status, Notice): New sections.
52677         * modules/chdir-long (Depends-on): Add atexit.
52678         * modules/wait-process (Depends-on): Likewise.
52679
52680 2008-11-02  Bruno Haible  <bruno@clisp.org>
52681
52682         * gnulib-tool: New option --with-obsolete.
52683         (func_usage): Document it.
52684         (func_modules_transitive_closure): Drop obsolete dependencies if
52685         incobsolete is not true.
52686         (func_import): Read and save the incobsolete variable to the cache.
52687
52688 2008-11-02  Bruno Haible  <bruno@clisp.org>
52689
52690         * modules/TEMPLATE-EXTENDED: New field 'Status'.
52691         * gnulib-tool: New option --extract-status.
52692         (func_usage): Document it.
52693         (sed_extract_prog): Recognize it.
52694         (func_get_status): New function.
52695
52696 2008-10-30  Simon Josefsson  <simon@josefsson.org>
52697
52698         * modules/sockets (License): Change from LGPL to LGPLv2+.
52699
52700 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52701
52702         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
52703
52704 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52705
52706         * MODULES.html.sh (Support for systems lacking POSIX:2001):
52707         Mention times and sys_times.
52708         * modules/sys_times, modules/sys_times-tests: New modules.
52709         * modules/times, modules/times-tests: Likewise
52710         * m4/sys_times_h.m4: New file.
52711         * lib/sys_times.in.h: Likewise
52712         * lib/times.c: Likewise.
52713         * tests/test-sys_times.c: Likewise.
52714         * tests/test-times.c: Likewise.
52715         * doc/posix-headers/sys_times.texi: Update.
52716         * doc/posix-functions/times.texi: Update.
52717
52718 2008-10-28  Jim Meyering  <meyering@redhat.com>
52719
52720         * modules/tempname (Depends-on): Add lstat.
52721
52722         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
52723
52724 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52725
52726         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
52727         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
52728         using idiom used elsewhere in gnulib.
52729
52730 2008-10-27  Jim Meyering  <meyering@redhat.com>
52731
52732         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
52733
52734 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52735
52736         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
52737         TESTS_ENVIRONMENT, for shell scripts that needs to call built
52738         programs.
52739         * tests/test-argp-2.sh: Use $EXEEXT when needed.
52740
52741 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52742
52743         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
52744
52745 2008-10-27  Bruno Haible  <bruno@clisp.org>
52746
52747         * tests/test-lstat.c: Include <stdio.h>.
52748
52749 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52750
52751         * modules/lstat-tests: New module.
52752         * tests/test-lstat.c: New file.
52753
52754 2008-10-26  Jim Meyering  <meyering@redhat.com>
52755
52756         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
52757
52758 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52759             Bruno Haible  <bruno@clisp.org>
52760
52761         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
52762         * modules/configmake (Include): Add a note that the include must come
52763         after all system headers.
52764         * lib/javaversion.c: Include configmake.h after all other includes.
52765
52766 2008-10-26  Bruno Haible  <bruno@clisp.org>
52767
52768         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
52769         HAVE_STRUCT_RANDOM_DATA to 1.
52770         (gl_STDLIB_H): Simplify.
52771
52772 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52773
52774         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
52775         substitute HAVE_STRUCT_RANDOM_DATA.
52776         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
52777         random_data.
52778         * modules/stdlib (Makefile.am): Substitute
52779         HAVE_STRUCT_RANDOM_DATA.
52780
52781 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52782
52783         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
52784         * doc/gnulib-intro.texi (Copyright): Likewise.
52785
52786 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52787
52788         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
52789         findings.
52790
52791 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
52792             Bruno Haible  <bruno@clisp.org>
52793
52794         * lib/unistd.in.h: Include <winsock2.h>.
52795         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
52796         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
52797         Provide dummy declarations.
52798         (gethostname): Override.
52799         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
52800         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
52801         gl_PREREQ_SYS_H_WINSOCK2.
52802         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
52803         * doc/posix-functions/gethostname.texi: More details.
52804
52805 2008-10-25  Bruno Haible  <bruno@clisp.org>
52806
52807         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52808         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
52809         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
52810
52811         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
52812         here ...
52813         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
52814         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
52815         gl_UNISTD_H_DEFAULTS.
52816
52817 2008-10-25  Eric Blake  <ebb9@byu.net>
52818
52819         signbit: avoid spurious compiler failure
52820         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
52821         declarations inside function.
52822
52823 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52824             Bruno Haible  <bruno@clisp.org>
52825
52826         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
52827         * modules/random_r (Depends-on): Add stdint.
52828
52829 2008-10-24  Bruno Haible  <bruno@clisp.org>
52830
52831         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
52832         Eggert.
52833         * modules/strerror (License): Likewise.
52834
52835 2008-10-24  Jim Meyering  <meyering@redhat.com>
52836
52837         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
52838         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
52839
52840 2008-10-24  Eric Blake  <ebb9@byu.net>
52841
52842         getgroups: fix compilation when getgroups is available
52843         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
52844         but with <config.h> override of getgroups disabled.
52845
52846 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52847
52848         * doc/gnulib.texi (Header files): Add note about C++ problems.
52849         Explained by Bruno Haible <bruno@clisp.org>.
52850
52851 2008-10-23  Bruno Haible  <bruno@clisp.org>
52852
52853         Define a dummy SA_NODEFER macro on Interix.
52854         * lib/signal.in.h (SA_NODEFER): Define fallback.
52855         Reported by Aleksey Cheusov <cheusov@tut.by> via
52856         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
52857
52858 2008-10-23  Bruno Haible  <bruno@clisp.org>
52859
52860         * modules/freadahead (License): Change to LGPLv2+.
52861         Suggested by Simon Josefsson.
52862
52863 2008-10-23  Jim Meyering  <meyering@redhat.com>
52864
52865         random_r: new module
52866         * modules/random_r: New file.
52867         * m4/random_r.m4: New file.
52868         * lib/random_r.c: New file, from glibc.
52869         * modules/random_r-tests: New file.
52870         * tests/test-random_r.c: New file.
52871         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
52872          Declare.
52873         (RAND_MAX): Define.
52874         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
52875         * modules/stdlib: Substitute them, too.
52876         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
52877         * doc/glibc-functions/initstate_r.texi: Mention the new module.
52878         * doc/glibc-functions/random_r.texi: Likewise.
52879         * doc/glibc-functions/setstate_r.texi: Likewise.
52880         * doc/glibc-functions/srandom_r.texi: Likewise.
52881         * config/srclist.txt: Mention it.
52882
52883 2008-10-23  David Lutterkort  <lutter@redhat.com>
52884
52885         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
52886         link requirement
52887
52888 2008-10-23  Jim Meyering  <meyering@redhat.com>
52889
52890         selinux-h: mark parameters of stub functions as intentionally unused
52891         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
52892         * lib/se-context.in.h: Likewise.
52893
52894 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52895
52896         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
52897
52898 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52899
52900         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
52901
52902 2008-10-22  Eric Blake  <ebb9@byu.net>
52903
52904         glthread/thread: avoid compiler warning
52905         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
52906         Add unreachable abort to silence compiler.
52907
52908 2008-10-22  Eric Blake  <ebb9@byu.net>
52909
52910         netdb: also supply struct addrinfo for cygwin 1.5.x
52911         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
52912         older cygwin.
52913         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
52914         cygwin.
52915         * doc/posix-headers/netdb.texi (netdb.h): Document this.
52916
52917 2008-10-22  Bruno Haible  <bruno@clisp.org>
52918
52919         * users.txt: Update entry about pspp.
52920
52921 2008-10-21  Bruno Haible  <bruno@clisp.org>
52922
52923         Simplification.
52924         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
52925         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
52926
52927         Simplification.
52928         * lib/ioctl.c (ioctl): Don't undefine.
52929         * lib/socket.c (socket): Don't undefine.
52930
52931         Remove unused module indicator macros.
52932         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
52933         GNULIB_$1 as a C macro.
52934
52935         * doc/posix-functions/close.texi: Undo last change.
52936         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
52937         Windows platforms.
52938
52939 2008-10-21  Bruno Haible  <bruno@clisp.org>
52940
52941         Add gethostname() declaration to <unistd.h>.
52942         * lib/unistd.in.h (gethostname): New declaration.
52943         * lib/gethostname.c: Include <unistd.h>.
52944         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52945         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52947         and HAVE_GETHOSTNAME.
52948         * modules/gethostname (Depends-on): Add unistd.
52949         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52950         (Include): Specify <unistd.h>.
52951         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52952         HAVE_GETHOSTNAME.
52953         * tests/test-gethostname.c: Include <unistd.h> first.
52954
52955 2008-10-21  Bruno Haible  <bruno@clisp.org>
52956
52957         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52958         * modules/select-tests (Depends-on): Likewise.
52959         Reported by Simon Josefsson.
52960
52961 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52962
52963         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52964         * lib/accept.c: New file, based on winsock.c.
52965         * lib/bind.c: New file, based on winsock.c.
52966         * lib/connect.c: New file, based on winsock.c.
52967         * lib/getpeername.c: New file, based on winsock.c.
52968         * lib/getsockname.c: New file, based on winsock.c.
52969         * lib/getsockopt.c: New file, based on winsock.c.
52970         * lib/ioctl.c: New file, based on winsock.c.
52971         * lib/listen.c: New file, based on winsock.c.
52972         * lib/recv.c: New file, based on winsock.c.
52973         * lib/recvfrom.c: New file, based on winsock.c.
52974         * lib/send.c: New file, based on winsock.c.
52975         * lib/sendto.c: New file, based on winsock.c.
52976         * lib/setsockopt.c: New file, based on winsock.c.
52977         * lib/shutdown.c: New file, based on winsock.c.
52978         * lib/socket.c: New file, based on winsock.c.
52979         * lib/w32sock.h: New file, based on winsock.c.
52980         * lib/winsock.c: Remove file.
52981         * modules/accept: Likewise.
52982         * modules/bind: Likewise.
52983         * modules/connect: Likewise.
52984         * modules/getpeername: Likewise.
52985         * modules/getsockname: Likewise.
52986         * modules/getsockopt: Likewise.
52987         * modules/ioctl: Likewise.
52988         * modules/listen: Likewise.
52989         * modules/recv: Likewise.
52990         * modules/recvfrom: Likewise.
52991         * modules/send: Likewise.
52992         * modules/sendto: Likewise.
52993         * modules/setsockopt: Likewise.
52994         * modules/shutdown: Likewise.
52995         * modules/socket: Use socket.c instead of winsock.c.
52996         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52997         * doc/posix-functions/accept.texi: Doc fix.
52998         * doc/posix-functions/bind.texi: Doc fix.
52999         * doc/posix-functions/close.texi: Doc fix.
53000         * doc/posix-functions/connect.texi: Doc fix.
53001         * doc/posix-functions/getpeername.texi: Doc fix.
53002         * doc/posix-functions/getsockname.texi: Doc fix.
53003         * doc/posix-functions/getsockopt.texi: Doc fix.
53004         * doc/posix-functions/ioctl.texi: Doc fix.
53005         * doc/posix-functions/listen.texi: Doc fix.
53006         * doc/posix-functions/recv.texi: Doc fix.
53007         * doc/posix-functions/recvfrom.texi: Doc fix.
53008         * doc/posix-functions/send.texi: Doc fix.
53009         * doc/posix-functions/sendto.texi: Doc fix.
53010         * doc/posix-functions/setsockopt.texi: Doc fix.
53011         * doc/posix-functions/shutdown.texi: Doc fix.
53012         * doc/posix-functions/socket.texi: Doc fix.
53013
53014 2008-10-20  Bruno Haible  <bruno@clisp.org>
53015
53016         Take into account the role of SIGABRT_COMPAT on Windows 2008.
53017         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
53018         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
53019         as an alias for SIGABRT.
53020         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
53021         (sigaction): Map it to SIGABRT.
53022         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
53023
53024 2008-10-20  Bruno Haible  <bruno@clisp.org>
53025
53026         * lib/fts.c: Don't include lstat.h.
53027         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
53028
53029         Move the lstat() declaration to <sys/stat.h>.
53030         * lib/lstat.h: Remove file.
53031         * lib/sys_stat.in.h: Add special invocation convention.
53032         (lstat): New declaration.
53033         * lib/lstat.c (orig_lstat): New function.
53034         (rpl_lstat): Use orig_lstat instead of lstat.
53035         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
53036         AC_C_INLINE. Set REPLACE_LSTAT.
53037         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
53038         and REPLACE_LSTAT.
53039         * modules/lstat (Files): Remove lib/lstat.h.
53040         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
53041         (Include): Specify <sys/stat.h> instead of lstat.h.
53042         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
53043         REPLACE_LSTAT.
53044         * NEWS: Mention the change.
53045
53046 2008-10-20  Bruno Haible  <bruno@clisp.org>
53047
53048         * modules/posix_spawn-tests: New file.
53049         * tests/test-posix_spawn3.c: New file.
53050
53051 2008-10-20  Bruno Haible  <bruno@clisp.org>
53052
53053         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
53054         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
53055         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
53056         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
53057         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
53058
53059 2008-10-20  Bruno Haible  <bruno@clisp.org>
53060
53061         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
53062         of posix_spawn on AIX 5.3.
53063
53064 2008-10-20  Bruno Haible  <bruno@clisp.org>
53065
53066         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
53067
53068 2008-10-20  Bruno Haible  <bruno@clisp.org>
53069
53070         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
53071         of AC_LANG_PROGRAM.
53072
53073 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53074
53075         * lib/netdb.in.h: Don't define GNU specific constants until they
53076         are supported or needed.  Reported by Bruno Haible
53077         <bruno@clisp.org>.
53078
53079 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53080
53081         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
53082
53083 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53084
53085         * lib/getaddrinfo.h: Remove file.
53086         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
53087         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
53088         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
53089         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
53090         * modules/netdb: Substitute GNULIB_GETADDRINFO.
53091         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
53092         * tests/test-getaddrinfo.c: Likewise.
53093         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
53094         * NEWS: Mention change.
53095
53096 2008-10-19  Bruno Haible  <bruno@clisp.org>
53097
53098         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
53099
53100 2008-10-19  Bruno Haible  <bruno@clisp.org>
53101
53102         * lib/wait-process.c: Include simply <sys/wait.h>.
53103         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
53104         WIFSTOPPED): Remove fallback definitions.
53105         * modules/wait-process (Depends-on): Add sys_wait.
53106
53107         New module 'sys_wait'.
53108         * modules/sys_wait: New file.
53109         * lib/sys_wait.in.h: New file, partially copied from
53110         lib/wait-process.c.
53111         * m4/sys_wait_h.m4: New file.
53112         * doc/posix-headers/sys_wait.texi: Mention the new module.
53113
53114 2008-10-19  Bruno Haible  <bruno@clisp.org>
53115
53116         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
53117
53118 2008-10-19  Bruno Haible  <bruno@clisp.org>
53119
53120         Assume that waitpid() fills an 'int' status, not a 'union wait'.
53121         * lib/wait-process.c (WAIT_T): Remove type.
53122         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
53123         (wait_subprocess): Update.
53124
53125 2008-10-19  Bruno Haible  <bruno@clisp.org>
53126
53127         New module 'atoll'.
53128         * modules/atoll: New file.
53129         * lib/stdlib.in.h (atoll): New declaration.
53130         * lib/atoll.c: New file, from glibc with modifications.
53131         * m4/atoll.m4: New file.
53132         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
53133         HAVE_ATOLL.
53134         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
53135         * doc/posix-functions/atoll.texi: Mention the new module.
53136
53137 2008-10-19  Bruno Haible  <bruno@clisp.org>
53138
53139         Add strtoull() declaration to <stdlib.h>.
53140         * lib/stdlib.in.h (strtoull): New declaration.
53141         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
53142         Set HAVE_STRTOULL.
53143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
53144         HAVE_STRTOULL.
53145         * modules/strtoull (Depends-on): Add stdlib.
53146         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53147         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
53148         HAVE_STRTOULL.
53149
53150 2008-10-19  Bruno Haible  <bruno@clisp.org>
53151
53152         Add strtoll() declaration to <stdlib.h>.
53153         * lib/stdlib.in.h (strtoll): New declaration.
53154         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
53155         Set HAVE_STRTOLL.
53156         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
53157         HAVE_STRTOLL.
53158         * modules/strtoll (Depends-on): Add stdlib.
53159         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53160         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
53161
53162 2008-10-19  Bruno Haible  <bruno@clisp.org>
53163
53164         * modules/bcopy (Depends-on): Add strings.
53165         (Include): Specify <strings.h>.
53166
53167 2008-10-19  Bruno Haible  <bruno@clisp.org>
53168
53169         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
53170
53171 2008-10-19  Bruno Haible  <bruno@clisp.org>
53172
53173         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
53174         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
53175         mingw.
53176
53177 2008-10-19  Bruno Haible  <bruno@clisp.org>
53178
53179         * lib/atanl.c: Don't include isnanl.h.
53180         * lib/cosl.c: Likewise.
53181         * lib/ldexpl.c: Likewise.
53182         * lib/logl.c: Likewise.
53183         * lib/sinl.c: Likewise.
53184         * lib/sqrtl.c: Likewise.
53185         * lib/tanl.c: Likewise.
53186
53187         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
53188         * lib/isnanf.h: Remove file.
53189         * lib/isnand.h: Remove file.
53190         * lib/isnanl.h: Remove file.
53191         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
53192         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
53193         macros.
53194         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
53195         HAVE_ISNANF, don't define it as a C macro.
53196         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
53197         HAVE_ISNAND, don't define it as a C macro.
53198         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
53199         HAVE_ISNANL, don't define it as a C macro.
53200         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
53201         HAVE_ISNAN[FDL].
53202         * modules/isnanf (Files): Remove lib/isnanf.h.
53203         (Depends-on): Add math.
53204         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53205         (Include): Specify <math.h> instead of isnanf.h.
53206         * modules/isnand (Files): Remove lib/isnand.h.
53207         (Depends-on): Add math.
53208         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53209         (Include): Specify <math.h> instead of isnand.h.
53210         * modules/isnanl (Files): Remove lib/isnanl.h.
53211         (Depends-on): Add math.
53212         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53213         (Include): Specify <math.h> instead of isnanl.h.
53214         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
53215         HAVE_ISNAN[FDL].
53216         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
53217         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
53218         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
53219         * NEWS: Mention the change.
53220
53221 2008-10-18  Bruno Haible  <bruno@clisp.org>
53222
53223         Add getusershell(), setusershell(), endusershell() declarations to
53224         <unistd.h>.
53225         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
53226         declarations.
53227         * lib/getusershell.c: Include unistd.h.
53228         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
53229         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
53230         HAVE_GETUSERSHELL.
53231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
53232         and HAVE_GETUSERSHELL.
53233         * modules/getusershell (Depends-on): Add unistd, extensions.
53234         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53235         (Include): Specify <unistd.h>.
53236         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
53237         HAVE_GETUSERSHELL.
53238
53239 2008-10-18  Bruno Haible  <bruno@clisp.org>
53240
53241         Add a getloadavg() declaration to <stdlib.h>.
53242         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
53243         getloadavg declaration.
53244         (getloadavg): New declaration.
53245         * lib/getloadavg.c: Include <stdlib.h> first.
53246         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
53247         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
53248         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
53249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
53250         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
53251         * modules/getloadavg (Depends-on): Add stdlib, extensions.
53252         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53253         (Include): Specify <stdlib.h>.
53254         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
53255         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
53256
53257 2008-10-18  Bruno Haible  <bruno@clisp.org>
53258
53259         * lib/dirchownmod.c: Don't include lchmod.h.
53260
53261         Move the lchmod() declaration to <sys/stat.h>.
53262         * lib/lchmod.h: Remove file.
53263         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
53264         (lchmod): New declaration, moved here from lib/lchown.h.
53265         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
53266         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
53267         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
53268         and HAVE_LCHMOD.
53269         * modules/lchmod (Files): Remove lib/lchmod.h.
53270         (Depends-on): Add sys_stat, extensions.
53271         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
53272         (Include): Specify <sys/stat.h> instead of lchmod.h.
53273         * modules/sys_stat (Depends-on): Add link-warning.
53274         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
53275         definition of GL_LINK_WARNING.
53276         * NEWS: Mention the change.
53277
53278 2008-10-18  Bruno Haible  <bruno@clisp.org>
53279
53280         * lib/fchdir.c: Don't include dirfd.h.
53281         * lib/fts.c: Likewise.
53282         * lib/getcwd.c: Likewise.
53283         * lib/glob.c: Likewise.
53284
53285         Move the dirfd() declaration to <dirent.h>.
53286         * lib/dirfd.h: Remove file.
53287         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
53288         (dirfd): New declaration.
53289         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
53290         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
53291         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
53292         HAVE_DECL_DIRFD.
53293         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
53294         HAVE_DECL_DIRFD.
53295         * modules/dirfd (Files): Remove lib/dirfd.h.
53296         (Depends-on): Add dirent, extensions.
53297         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
53298         (Include): Specify <dirent.h> instead of dirfd.h.
53299         * modules/dirent (Depends-on): Add link-warning.
53300         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
53301         definition of GL_LINK_WARNING.
53302         * NEWS: Mention the change.
53303
53304 2008-10-18  Bruno Haible  <bruno@clisp.org>
53305
53306         Move the euidaccess() declaration to <unistd.h>.
53307         * lib/euidaccess.h: Remove file.
53308         * lib/unistd.in.h (euidaccess): New declaration.
53309         * lib/euidaccess.c: Don't include euidaccess.h.
53310         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
53311         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
53312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
53313         and HAVE_EUIDACCESS.
53314         * modules/euidaccess (Files): Remove lib/euidaccess.h.
53315         (Depends-on): Add unistd.
53316         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53317         (Include): Specify <unistd.h> instead of euidaccess.h.
53318         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
53319         HAVE_EUIDACCESS.
53320         * NEWS: Mention the change.
53321
53322 2008-10-18  Bruno Haible  <bruno@clisp.org>
53323
53324         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
53325
53326         Move the getdomainname() declaration to <unistd.h>.
53327         * lib/getdomainname.h: Remove file.
53328         * lib/unistd.in.h (getdomainname): New declaration.
53329         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
53330         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
53331         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
53332         HAVE_GETDOMAINNAME.
53333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53334         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
53335         * modules/getdomainname (Files): Remove lib/getdomainname.h.
53336         (Depends-on): Add unistd, extensions.
53337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53338         (Includes): Specify <unistd.h> instead of getdomainname.h.
53339         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
53340         HAVE_GETDOMAINNAME.
53341         * NEWS: Mention the change.
53342
53343 2008-10-18  Bruno Haible  <bruno@clisp.org>
53344
53345         * modules/dirent: New file.
53346         * m4/dirent_h.m4: New file.
53347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
53348         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
53349         * modules/fchdir (Files): Remove lib/dirent.in.h.
53350         (Depends-on): Add dirent.
53351         (Makefile.am): Move rules to modules/dirent.
53352         * doc/posix-headers/dirent.texi: Mention the new module.
53353
53354 2008-10-18  Bruno Haible  <bruno@clisp.org>
53355
53356         Avoid -Wunused-parameter warnings in public gnulib header files.
53357         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
53358         macro.
53359         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
53360
53361 2008-10-18  Bruno Haible  <bruno@clisp.org>
53362
53363         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
53364         * doc/glibc-functions/error.texi: Mention the module 'error'.
53365         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
53366         * doc/glibc-functions/getdomainname.texi: Mention the module
53367         'getdomainname'.
53368         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
53369         * doc/glibc-functions/getpagesize.texi: Mention the module
53370         'getpagesize'.
53371         * doc/glibc-functions/getusershell.texi: Mention the module
53372         'getusershell'.
53373         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
53374         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
53375         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
53376         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
53377         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
53378         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
53379         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
53380         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
53381         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
53382         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
53383         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
53384         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
53385         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
53386         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
53387
53388 2008-10-17  Bruno Haible  <bruno@clisp.org>
53389
53390         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
53391         HP-UX and IRIX, use -0.0L.
53392         * tests/test-ceill.c (minus_zero): Likewise.
53393         * tests/test-floorl.c (minus_zero): Likewise.
53394         * tests/test-frexpl.c (minus_zero): Likewise.
53395         * tests/test-isnan.c (minus_zerol): Likewise.
53396         * tests/test-isnanl.h (minus_zero): Likewise.
53397         * tests/test-ldexpl.c (minus_zero): Likewise.
53398         * tests/test-roundl.c (minus_zero): Likewise.
53399         * tests/test-signbit.c (minus_zerol): Likewise.
53400         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
53401         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
53402         * tests/test-truncl.c (minus_zero): Likewise.
53403         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
53404         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
53405         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
53406         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53407
53408 2008-10-17  Bruno Haible  <bruno@clisp.org>
53409
53410         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
53411         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
53412         that it gets activated only for gcc >= 3.0.
53413         * lib/dirent.in.h: Likewise.
53414         * lib/errno.in.h: Likewise.
53415         * lib/fcntl.in.h: Likewise.
53416         * lib/float.in.h: Likewise.
53417         * lib/iconv.in.h: Likewise.
53418         * lib/inttypes.in.h: Likewise.
53419         * lib/locale.in.h: Likewise.
53420         * lib/math.in.h: Likewise.
53421         * lib/netdb.in.h: Likewise.
53422         * lib/netinet_in.in.h: Likewise.
53423         * lib/search.in.h: Likewise.
53424         * lib/signal.in.h: Likewise.
53425         * lib/spawn.in.h: Likewise.
53426         * lib/stdarg.in.h: Likewise.
53427         * lib/stdint.in.h: Likewise.
53428         * lib/stdio.in.h: Likewise.
53429         * lib/stdlib.in.h: Likewise.
53430         * lib/string.in.h: Likewise.
53431         * lib/strings.in.h: Likewise.
53432         * lib/sys_file.in.h: Likewise.
53433         * lib/sys_ioctl.in.h: Likewise.
53434         * lib/sys_select.in.h: Likewise.
53435         * lib/sys_socket.in.h: Likewise.
53436         * lib/sys_stat.in.h: Likewise.
53437         * lib/sys_time.in.h: Likewise.
53438         * lib/sysexits.in.h: Likewise.
53439         * lib/time.in.h: Likewise.
53440         * lib/unistd.in.h: Likewise.
53441         * lib/wchar.in.h: Likewise.
53442         * lib/wctype.in.h: Likewise.
53443         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53444
53445 2008-10-17  Jim Meyering  <meyering@redhat.com>
53446
53447         ignore-value: don't depend on inline module
53448         * modules/ignore-value (Depends-on): Remove 'inline'.
53449         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
53450         Suggestion from Bruno Haible.
53451
53452 2008-10-17  Bruno Haible  <bruno@clisp.org>
53453
53454         New implementation of condition variables for Win32.
53455         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
53456         (gl_linked_waitqueue_t): New type.
53457         (gl_cond_t): Use it.
53458         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
53459         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
53460         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
53461         (glthread_cond_init_func, glthread_cond_wait_func,
53462         glthread_cond_timedwait_func, glthread_cond_signal_func,
53463         glthread_cond_broadcast_func, glthread_cond_destroy_func):
53464         Reimplemented on the basis of gl_linked_waitqueue_t.
53465         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
53466         gl_waitqueue_t.
53467         (gl_rwlock_t): Update.
53468         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
53469
53470 2008-10-17  Simon Josefsson  <simon@josefsson.org>
53471
53472         * modules/recvfrom (Depends-on): Add dependency on getpeername.
53473         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53474
53475 2008-10-17  Jim Meyering  <meyering@redhat.com>
53476
53477         ignore-value: new module
53478         * modules/ignore-value: New file.
53479         * lib/ignore-value.h: New file.
53480         * MODULES.html.sh (Compiler warning management): New section,
53481         just for this module.  More to come.
53482
53483 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
53484
53485         open-safer.c: avoid 'signed and unsigned in conditional...' warning
53486         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
53487         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
53488
53489 2008-10-16  Jim Meyering  <meyering@redhat.com>
53490
53491         openat-die.c: avoid 'no previous prototype' warning
53492         * lib/openat-die.c: Include "openat.h".
53493         Reported by Reuben Thomas <rrt@sc3d.org>.
53494
53495 2008-10-16  Simon Josefsson  <simon@josefsson.org>
53496
53497         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
53498         * lib/netdb.in.h: Fix typo.
53499         Reported by Bruno Haible  <bruno@clisp.org>
53500
53501         * lib/netdb.in.h: Include sys/socket.h for platforms without
53502         netdb.h, to get structures like hostent on MinGW.
53503         * modules/netdb (Depends-on): Add sys_socket.
53504
53505 2008-10-15  Simon Josefsson  <simon@josefsson.org>
53506
53507         * modules/netdb, modules/netdb-tests: New file.
53508         * m4/netdb_h.m4: New file.
53509         * lib/netdb.in.h: Add, currently just an empty file pending
53510         definitions.
53511         * tests/test-netdb.c: New file.
53512         * doc/posix-headers/netdb.texi: Mention that we replace it if
53513         needed.
53514         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53515         netdb.
53516
53517 2008-10-15  Simon Josefsson  <simon@josefsson.org>
53518
53519         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
53520         with code.
53521
53522 2008-10-13  Bruno Haible  <bruno@clisp.org>
53523
53524         * lib/glthread/cond.c (glthread_cond_wait_func,
53525         glthread_cond_timedwait_func): Add a comment.
53526
53527 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53528
53529         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
53530         * tests/test-select.c: Likewise,
53531
53532 2008-10-13  Bruno Haible  <bruno@clisp.org>
53533
53534         * lib/glthread/cond.c (glthread_cond_wait_func,
53535         glthread_cond_timedwait_func): Fix variable name.
53536         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53537
53538 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
53539
53540         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
53541         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
53542         struct sockaddr.sa_len.
53543         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
53544
53545 2008-10-13  Simon Josefsson  <simon@josefsson.org>
53546
53547         * build-aux/pmccabe2html: Add css and css_url parameters.
53548
53549 2008-10-12  Bruno Haible  <bruno@clisp.org>
53550
53551         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
53552         calling aclx_get.
53553         Reported by Rainer Tammer <tammer@tammer.net>.
53554
53555 2008-10-12  Bruno Haible  <bruno@clisp.org>
53556
53557         Use msvcrt aware primitives for creation/termination of Win32 threads.
53558         * lib/glthread/thread.c: Include <process.h>.
53559         (glthread_create_func): Use _beginthreadex instead of CreateThread.
53560         (wrapper_func): Update signature.
53561         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
53562
53563 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53564             Bruno Haible  <bruno@clisp.org>
53565
53566         Provide a Win32 implementation of the 'cond' module.
53567         * lib/glthread/cond.h [USE_WIN32]: New implementation.
53568         * lib/glthread/cond.c (glthread_cond_init_func,
53569         glthread_cond_wait_func, glthread_cond_timedwait_func,
53570         glthread_cond_signal_func, glthread_cond_broadcast_func,
53571         glthread_cond_destroy_func) [USE_WIN32]: New functions.
53572         * modules/cond (Dependencies): Add gettimeofday.
53573
53574 2008-10-11  Bruno Haible  <bruno@clisp.org>
53575
53576         Make sleep work on older versions of mingw.
53577         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
53578         only whether it exists.
53579         * doc/posix-functions/sleep.texi: Mention the problem with older
53580         versions of mingw.
53581
53582 2008-10-11  Bruno Haible  <bruno@clisp.org>
53583
53584         New module 'shutdown'.
53585         * modules/shutdown: New file.
53586         * lib/sys_socket.in.h (shutdown): New declaration.
53587         * lib/winsock.c (shutdown): New function.
53588         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
53589         GNULIB_SHUTDOWN.
53590         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
53591         * doc/posix-functions/shutdown.texi: Document the new module.
53592
53593 2008-10-11  Jim Meyering  <meyering@redhat.com>
53594
53595         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
53596
53597 2008-10-11  Bruno Haible  <bruno@clisp.org>
53598
53599         New module 'fclose'.
53600         * modules/fclose: New file.
53601         * lib/stdio.in.h (fclose): New declaration.
53602         * lib/fclose.c: New file.
53603         * m4/fclose.m4: New file.
53604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
53605         REPLACE_FCLOSE.
53606         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
53607         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
53608         REPLACE_FCLOSE.
53609         * modules/close (Depends-on): fclose.
53610         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
53611
53612 2008-10-11  Bruno Haible  <bruno@clisp.org>
53613
53614         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
53615         set errno and don't call _close.
53616
53617 2008-10-10  Bruno Haible  <bruno@clisp.org>
53618
53619         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
53620         ACL, not afterwards. Fixes test failure on Cygwin.
53621
53622 2008-10-09  Ben Pfaff  <blp@gnu.org>
53623
53624         * build-aux/announce-gen: Fix gnulib version related part of usage
53625         message.  Die with a useful error message if no tarballs are
53626         found.
53627
53628 2008-10-10  Jim Meyering  <meyering@redhat.com>
53629
53630         bootstrap: use git's --depth=N option only if it's supported
53631         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
53632         recognize the --depth option.  Reported by Pádraig Brady.
53633
53634 2008-10-09  Bruno Haible  <bruno@clisp.org>
53635
53636         New module 'ioctl'.
53637         * modules/ioctl: New file.
53638         * lib/sys_socket.in.h (ioctl): Remove declaration.
53639         * lib/winsock.c: Include <sys/ioctl.h>.
53640         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
53641         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53642         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
53643         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
53644         * doc/posix-functions/ioctl.texi: Mention the new module.
53645
53646 2008-10-09  Bruno Haible  <bruno@clisp.org>
53647
53648         New module 'sys_ioctl'.
53649         * lib/sys_ioctl.in.h: New file.
53650         * m4/sys_ioctl_h.m4: New file.
53651         * modules/sys_ioctl: New file.
53652         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
53653
53654 2008-10-09  Bruno Haible  <bruno@clisp.org>
53655
53656         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
53657         * lib/winsock.c: Include <stdarg.h>.
53658         (rpl_ioctl): Change to second argument 'int' and then varargs.
53659
53660 2008-10-09  Bruno Haible  <bruno@clisp.org>
53661
53662         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
53663         when the sys_socket module is present and the system has <winsock2.h>.
53664
53665 2008-10-09  Bruno Haible  <bruno@clisp.org>
53666
53667         * doc/posix-functions/close.texi: Mention module 'close' instead of
53668         module 'sys_socket'.
53669
53670 2008-10-09  Bruno Haible  <bruno@clisp.org>
53671
53672         * doc/glibc-headers/sys_ioctl.texi: New file.
53673         * doc/gnulib.texi: Include it.
53674
53675 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53676             Bruno Haible  <bruno@clisp.org>
53677
53678         Combine the two replacements of 'close'.
53679         * lib/sys_socket.in.h (close): Define to a reminder to include
53680         <unistd.h>.
53681         (_gl_close_fd_maybe_socket): New declaration.
53682         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
53683         * lib/winsock.c (close): Remove undefinition.
53684         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
53685         needed for the gnulib module 'close'.
53686         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
53687         define to an error symbol or to a warning, if suitable.
53688         * lib/close.c: Include <sys/socket.h>.
53689         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
53690         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
53691         UNISTD_H_HAVE_WINSOCK2_H.
53692         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
53693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53694         UNISTD_H_HAVE_WINSOCK2_H.
53695         * modules/sys_socket (Files): Add m4/unistd_h.m4.
53696         (configure.ac): Set a module indicator.
53697         (Makefile.am): Substitute GNULIB_CLOSE.
53698         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
53699         * modules/poll-tests (Depends-on): Add close.
53700         * modules/select-tests (Depends-on): Likewise.
53701
53702 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53703             Bruno Haible  <bruno@clisp.org>
53704
53705         New module 'close'.
53706         * modules/close: New file.
53707         * lib/unistd.in.h (close): Move declaration out of the
53708         FCHDIR_REPLACEMENT scope.
53709         (_gl_unregister_fd): New declaration.
53710         * lib/close.c: New file.
53711         * lib/fchdir.c (rpl_close): Remove function.
53712         * m4/close.m4: New file.
53713         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53714         close.
53715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
53716         REPLACE_CLOSE.
53717         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
53718         REPLACE_CLOSE.
53719         * modules/fchdir (Depends-on): Add close.
53720
53721 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53722             Bruno Haible  <bruno@clisp.org>
53723
53724         * lib/fcntl.in.h (open): Simplify conditionals.
53725         (_gl_register_fd): New declaration.
53726         * lib/fchdir.c (rpl_open): Remove function.
53727         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
53728         also.
53729         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
53730         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53731         open.
53732
53733 2008-10-09  Jim Meyering  <meyering@redhat.com>
53734
53735         GNUmakefile: use the more name-space-friendly "_version"
53736         * top/GNUmakefile (_dummy): Update.
53737         (_version): Rename from "version".
53738
53739 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53740             Bruno Haible  <bruno@clisp.org>
53741
53742         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
53743         rpl_close.
53744         (_gl_register_fd): New function, extracted from rpl_open.
53745         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
53746         (rpl_open, rpl_opendir): Use _gl_register_fd.
53747
53748 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53749
53750         Fix organization of 'open' replacement.
53751         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
53752         (gl_FUNC_OPEN): Use it.
53753         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
53754
53755 2008-10-08  Bruno Haible  <bruno@clisp.org>
53756
53757         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
53758
53759 2008-10-08  Simon Josefsson  <simon@josefsson.org>
53760
53761         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
53762         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
53763         listen).
53764
53765 2008-10-08  Eric Blake  <ebb9@byu.net>
53766
53767         GNUmakefile: add 'make version' target
53768         * top/GNUmakefile (_curr-ver): Split version update rules...
53769         (version): ...into a target.
53770
53771 2008-10-07  Bruno Haible  <bruno@clisp.org>
53772
53773         Use a more portable replacement expression for -0.0L.
53774         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
53775         instead of -0.0L. Fix m4 quotation.
53776
53777         * tests/test-signbit.c: Include <float.h>.
53778         (minus_zero): New variable.
53779         (test_signbitl): Use minus_zero instead of -zero.
53780         * modules/signbit-tests (Depends-on): Add float.
53781
53782         * tests/test-ceill.c: Include <float.h>.
53783         (zero): Remove variable.
53784         (minus_zero): New variable.
53785         (main): Use minus_zero instead of -zero.
53786         * modules/ceill-tests (Depends-on): Add float.
53787
53788         * tests/test-floorl.c: Include <float.h>.
53789         (zero): Remove variable.
53790         (minus_zero): New variable.
53791         (main): Use minus_zero instead of -zero.
53792         * modules/floorl-tests (Depends-on): Add float.
53793
53794         * tests/test-roundl.c: Include <float.h>.
53795         (zero): Remove variable.
53796         (minus_zero): New variable.
53797         (main): Use minus_zero instead of -zero.
53798         * modules/roundl-tests (Depends-on): Add float.
53799
53800         * tests/test-truncl.c: Include <float.h>.
53801         (zero): Remove variable.
53802         (minus_zero): New variable.
53803         (main): Use minus_zero instead of -zero.
53804         * modules/truncl-tests (Depends-on): Add float.
53805
53806         * tests/test-frexpl.c (zero): Remove variable.
53807         (minus_zero): New variable.
53808         (main): Use minus_zero instead of -zero.
53809         * modules/frexpl-tests (Depends-on): Add float.
53810
53811         * tests/test-isnan.c (zerol): Remove variable.
53812         (minus_zerol): New variable.
53813         (test_long_double): Use minus_zerol instead of -zerol.
53814         * modules/isnan-tests (Depends-on): Add float.
53815
53816         * tests/test-isnanl.h (zero): Remove variable.
53817         (minus_zero): New variable.
53818         (main): Use minus_zero instead of -zero.
53819         * modules/isnanl-nolibm-tests (Depends-on): Add float.
53820         * modules/isnanl-tests (Depends-on): Add float.
53821
53822         * tests/test-ldexpl.c (zero): Remove variable.
53823         (minus_zero): New variable.
53824         (main): Use minus_zero instead of -zero.
53825         * modules/ldexpl-tests (Depends-on): Add float.
53826
53827         * tests/test-snprintf-posix.h (zerol): Remove variable.
53828         (minus_zerol): New variable.
53829         (test_function): Use minus_zerol instead of -zerol.
53830         * modules/snprintf-posix-tests (Depends-on): Add float.
53831         * modules/vsnprintf-posix-tests (Depends-on): Add float.
53832
53833         * tests/test-sprintf-posix.h (zerol): Remove variable.
53834         (minus_zerol): New variable.
53835         (test_function): Use minus_zerol instead of -zerol.
53836         * modules/sprintf-posix-tests (Depends-on): Add float.
53837         * modules/vsprintf-posix-tests (Depends-on): Add float.
53838
53839         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
53840         (minus_zerol): New variable.
53841         (test_function): Use minus_zerol instead of -zerol.
53842         * modules/vasnprintf-posix-tests (Depends-on): Add float.
53843
53844         * tests/test-vasprintf-posix.c (zerol): Remove variable.
53845         (minus_zerol): New variable.
53846         (test_function): Use minus_zerol instead of -zerol.
53847         * modules/vasprintf-posix-tests (Depends-on): Add float.
53848
53849 2008-10-07  Simon Josefsson  <simon@josefsson.org>
53850
53851         * MODULES.html.sh (Support for building documentation): Mention
53852         pmccabe2html.  Sort entries.
53853
53854         Add pmccabe2html module, from gnupdf.
53855         * build-aux/pmccabe.css: New file.
53856         * build-aux/pmccabe2html: New file.
53857         * m4/pmccabe2html.m4: New file.
53858         * modules/pmccabe2html: New file.
53859
53860 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
53861
53862         flock: new module
53863         * MODULES.html.sh: Add to list of modules.
53864         * lib/flock.c: flock implementation for Windows and Unix systems
53865         which have fcntl.
53866         * doc/glibc-functions/flock.texi: Update documentation.
53867         * lib/sys_file.in.h: <sys/file.h> header file.
53868         * m4/flock.m4: M4 macros.
53869         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
53870         * modules/flock: flock module.
53871         * modules/flock-tests: flock tests module.
53872         * modules/sys_file: sys/file.h module.
53873         * tests/test-flock.c: test suite for flock.
53874
53875 2008-10-06  Jim Meyering  <meyering@redhat.com>
53876
53877         bootstrap: check for LT_INIT more portably still ;-)
53878         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
53879         Spotted by Bruno Haible.
53880
53881 2008-10-06  Eric Blake  <ebb9@byu.net>
53882
53883         test-signbit: avoid tripping Irix cc bug on -0.0L
53884         * tests/test-signbit.c (minus_zerol): Delete, and replace with
53885         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
53886         entire testsuite consistent and avoids an Irix 6.2 bug.
53887
53888 2008-10-05  Bruno Haible  <bruno@clisp.org>
53889             Jim Meyering  <jim@meyering.net>
53890
53891         Add an option for ignoring EPIPE during close_stdout.
53892         * lib/closeout.h: Include <stdbool.h>.
53893         (close_stdout_set_ignore_EPIPE): New declaration.
53894         * lib/closeout.c: Include <stdbool.h>.
53895         (ignore_EPIPE): New variable.
53896         (close_stdout_set_ignore_EPIPE): New function.
53897         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
53898         * lib/close-stream.c (close_stream): Mention the possible EPIPE
53899         failure.
53900         * modules/closeout (Depends-on): Add stdbool.
53901
53902 2008-10-05  Bruno Haible  <bruno@clisp.org>
53903
53904         * modules/accept: New file.
53905         * modules/bind: New file.
53906         * modules/connect: New file.
53907         * modules/getpeername: New file.
53908         * modules/getsockname: New file.
53909         * modules/getsockopt: New file.
53910         * modules/listen: New file.
53911         * modules/recv: New file.
53912         * modules/recvfrom: New file.
53913         * modules/send: New file.
53914         * modules/sendto: New file.
53915         * modules/setsockopt: New file.
53916         * modules/socket: New file.
53917         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
53918         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53919         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
53920         the particular module is requested. Add a link warning when the
53921         particular module is not requested.
53922         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
53923         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
53924         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
53925         the particular module is requested.
53926         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
53927         gl_SYS_SOCKET_H_DEFAULTS): New macros.
53928         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
53929         * modules/sys_socket (Depends-on): Add link-warning.
53930         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
53931         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
53932         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
53933         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
53934         GL_LINK_WARNING.
53935         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
53936         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
53937         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
53938         * doc/posix-functions/getpeername.texi: Mention the new module
53939         'getpeername'.
53940         * doc/posix-functions/getsockname.texi: Mention the new module
53941         'getsockname'.
53942         * doc/posix-functions/getsockopt.texi: Mention the new module
53943         'getsockopt'.
53944         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53945         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53946         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53947         * doc/posix-functions/send.texi: Mention the new module 'send'.
53948         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53949         * doc/posix-functions/setsockopt.texi: Mention the new module
53950         'setsockopt'.
53951         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53952         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53953         listen, connect, accept.
53954         * modules/select-tests (Depends-on): Likewise.
53955
53956 2008-10-05  Bruno Haible  <bruno@clisp.org>
53957
53958         * lib/winsock.c (strerror): Remove unused #undef.
53959         (rpl_close): Remove unused local variable.
53960
53961         * modules/sys_socket (Depends-on); Add errno.
53962
53963 2008-10-05  Bruno Haible  <bruno@clisp.org>
53964
53965         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53966         (select): Add a link warning when the 'select' module is not used.
53967         * modules/sys_select (Depends-on): Add link-warning.
53968         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53969         Suggested by Paolo Bonzini.
53970
53971 2008-10-05  Jim Meyering  <meyering@redhat.com>
53972
53973         bootstrap: check for LT_INIT more portably
53974         * build-aux/bootstrap: Avoid using grep -E, since it's not
53975         portable enough.  Suggestion from Bruno Haible.
53976
53977 2008-10-05  Bruno Haible  <bruno@clisp.org>
53978
53979         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53980         as being fixed by gnulib.
53981
53982 2008-10-05  Bruno Haible  <bruno@clisp.org>
53983
53984         * modules/select-tests: New file, mostly copied from
53985         modules/sys_select-tests.
53986         * tests/test-select.c: New file, mostly copied from
53987         tests/test-sys_select.c.
53988         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53989         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53990         (Makefile.am): Remove test_sys_select_LDADD.
53991
53992         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53993         to an undefined symbol, for an error message.
53994         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53995         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53996         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53997         winsock-select.c here.
53998         * modules/sys_select (Files): Remove lib/winsock-select.c.
53999         (Depends-on): Remove alloca.
54000         (Makefile.am): Substitute GNULIB_SELECT.
54001         * modules/select: New file.
54002         * doc/posix-functions/select.texi: Update.
54003
54004 2008-10-05  Bruno Haible  <bruno@clisp.org>
54005
54006         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
54007         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
54008         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
54009         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
54010         getdtablesize.
54011         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
54012         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
54013
54014 2008-10-05  Bruno Haible  <bruno@clisp.org>
54015
54016         * modules/getdtablesize-tests: New file.
54017         * tests/test-getdtablesize.c: New file.
54018
54019         New module 'getdtablesize'.
54020         * lib/unistd.in.h (getdtablesize): New declaration.
54021         * lib/getdtablesize.c: New file.
54022         * m4/getdtablesize.m4: New file.
54023         * modules/getdtablesize: New file.
54024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54025         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
54026         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
54027         HAVE_GETDTABLESIZE.
54028         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
54029
54030 2008-10-05  Bruno Haible  <bruno@clisp.org>
54031
54032         * modules/sched (Makefile.am): Fix typo.
54033         Reported by Simon Josefsson.
54034
54035 2008-10-05  Jim Meyering  <meyering@redhat.com>
54036
54037         bootstrap: check for LT_INIT, too
54038         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
54039         are deprecated.  Suggestion from Ralf Wildenhues.
54040
54041 2008-10-05  Bruno Haible  <bruno@clisp.org>
54042
54043         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
54044         overriding them by ours.
54045         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
54046
54047 2008-10-05  Jim Meyering  <meyering@redhat.com>
54048
54049         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
54050         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
54051         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
54052
54053 2008-10-04  Bruno Haible  <bruno@clisp.org>
54054
54055         * modules/dup2 (License): Change to LGPLv2+.
54056         * modules/sleep (License): Likewise.
54057         * modules/perror (License): Likewise.
54058         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
54059         Blake.
54060         * modules/signal (License): Likewise.
54061         * modules/sigprocmask (License): Likewise.
54062         * modules/raise (License): Change to LGPLv2+, with approval by Jim
54063         Meyering.
54064
54065 2008-10-04  Bruno Haible  <bruno@clisp.org>
54066
54067         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
54068         Reported by Rainer Tammer <tammer@tammer.net>.
54069
54070 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
54071             Bruno Haible  <bruno@clisp.org>
54072
54073         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
54074         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
54075         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
54076
54077 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
54078
54079         filevercmp: new module
54080         * lib/filevercmp.h: New function filevercmp comparing version strings.
54081         * lib/filevercmp.c: Implementation of filevercmp function.
54082         * modules/filevercmp: Module metadata.
54083         * tests/test-filevercmp.c: Unit test for new module.
54084         * modules/filevercmp-tests: Unit test metadata.
54085         * MODULES.html.sh: Add filevercmp module.
54086
54087 2008-10-03  Bruno Haible  <bruno@clisp.org>
54088
54089         * lib/c-ctype.h: Add comment.
54090         Reported by Jim Meyering.
54091
54092 2008-10-02  Bruno Haible  <bruno@clisp.org>
54093
54094         * modules/posix_spawn-internal (Depends-on): Add 'open'.
54095
54096 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54097
54098         * build-aux/bootstrap: Allow renaming bootstrap, and change the
54099         name of bootstrap.conf accordingly.
54100
54101 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54102
54103         * build-aux/bootstrap: Install git-merge-changelog configuration
54104         items into .gitconfig if needed.
54105
54106 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54107
54108         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
54109         git repository, and initialize/update it accordingly.
54110
54111 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
54112
54113         * modules/fsync-tests: New file.
54114         * tests/test-fsync.c: New file.
54115
54116         New module 'fsync'.
54117         * lib/fsync.c: New file.
54118         * m4/fsync.m4: New file.
54119         * modules/fsync: New file.
54120         * lib/unistd.in.h (fsync): New declaration.
54121         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
54122         GNULIB_FSYNC and HAVE_FSYNC.
54123         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
54124         * MODULES.html.sh (posix_functions): Add fsync.
54125         * doc/posix-functions/fsync.texi: Mention the new module.
54126
54127 2008-10-02  Jim Meyering  <meyering@redhat.com>
54128
54129         fts.c: sync with similar code from coreutils' remove.c
54130         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
54131         Guard also with "#if defined __linux__", since for now at least,
54132         this code is Linux-kernel-specific.
54133
54134 2008-10-02  Jim Meyering  <meyering@redhat.com>
54135
54136         fts: bug fixes
54137         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
54138         Include <sys/vfs.h>, not <sys/statfs.h>.
54139
54140         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
54141         Include <sys/vfs.h>, not <sys/statfs.h>.
54142
54143 2008-10-01  Bruno Haible  <bruno@clisp.org>
54144
54145         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
54146         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
54147         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
54148         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
54149         * doc/posix-functions/posix_spawnp.texi: Likewise.
54150         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
54151         whether posix_spawn actually works.
54152         * m4/pipe.m4 (gl_PIPE): Likewise.
54153         * modules/execute (Files): Add m4/posix_spawn.m4.
54154         * modules/pipe (Files): Add m4/posix_spawn.m4.
54155         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
54156
54157 2008-10-01  Jim Meyering  <meyering@redhat.com>
54158
54159         remove trailing spaces
54160         * NEWS: Likewise.
54161         * lib/poll.c (poll): Likewise.
54162         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
54163         * lib/winsock.c (rpl_close): Likewise.
54164         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
54165         * modules/yield: Likewise.
54166         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
54167         * tests/test-sys_select.c (connect_to_socket): Likewise.
54168
54169         fts.c: adjust a new interface to be more generally useful
54170         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
54171         (fts_build): Adjust caller.
54172
54173 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54174
54175         * modules/cond-tests: New file.
54176         * tests/test-cond.c: New file.
54177
54178 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54179             Bruno Haible  <bruno@clisp.org>
54180
54181         * modules/cond (Dependencies): Add errno, time.
54182         * lib/glthread/cond.h: Include <time.h>.
54183         (gl_cond_define, gl_cond_define_initialized): Use the same definition
54184         across platforms.
54185
54186 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54187             Bruno Haible  <bruno@clisp.org>
54188
54189         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
54190
54191 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54192             Bruno Haible  <bruno@clisp.org>
54193
54194         * modules/tls-tests (Depends-on): Add thread, yield.
54195         (configure.ac): Remove all checks.
54196         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
54197         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
54198         gl_thread_self): Remove definitions. Include glthread/thread.h and
54199         glthread/yield.h instead.
54200         (test_tls): Pass an additional NULL argument to gl_thread_join.
54201
54202 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54203             Bruno Haible  <bruno@clisp.org>
54204
54205         * modules/lock-tests (Depends-on): Add thread, yield.
54206         (configure.ac): Remove all checks.
54207         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
54208         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
54209         gl_thread_self): Remove definitions. Include glthread/thread.h and
54210         glthread/yield.h instead.
54211         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
54212         additional NULL argument to gl_thread_join.
54213
54214 2008-09-30  Bruno Haible  <bruno@clisp.org>
54215
54216         Fix the Win32 implementation of the 'thread' module.
54217         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
54218         pointer type.
54219         (gl_thread_self): Invoke gl_thread_self_func.
54220         (gl_thread_self_func): New declaration.
54221         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
54222         (do_init_self_key, init_self_key): New functions.
54223         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
54224         Remove some fields.
54225         (running_threads, running_lock): Remove variables.
54226         (get_current_thread_handle): New function.
54227         (gl_thread_self_func, wrapper_func, glthread_create_func,
54228         glthread_join_func, gl_thread_exit_func): Largely rewritten and
54229         simplified.
54230
54231 2008-09-30  Bruno Haible  <bruno@clisp.org>
54232
54233         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
54234         files.
54235
54236 2008-09-30  Jim Meyering  <meyering@redhat.com>
54237
54238         fts.m4: correct the test for statfs.f_type
54239         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
54240         when checking for statfs.f_type.
54241
54242 2008-09-15  Simon Josefsson  <simon@josefsson.org>
54243
54244         tests: avoid some compiler warnings
54245         * tests/test-memchr.c (main): Pass NULL indirectly.
54246         * tests/test-getdate.c (main): Remove unused variable 'ret'.
54247
54248 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
54249
54250         getdate.y: disallow countable dayshifts like "4 yesterday ago"
54251         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
54252         exactly specified dayshifts.
54253         (dayshift): New rule.
54254         (rel): Add dayshift.
54255         (relative_time_table) [tomorrow, yesterday, today, now]:
54256         Use tDAY_SHIFT in place of tDAY_UNIT.
54257         * tests/test-getdate.c: Add tests for now-disallowed countable
54258         dayshifts, e.g., "4 yesterday ago".
54259
54260 2008-09-29  Bruno Haible  <bruno@clisp.org>
54261
54262         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
54263         * tests/test-posix_spawn1.in.sh: Renamed from
54264         tests/test-posix_spawn.in.sh.
54265         * tests/test-posix_spawn2.c: New file.
54266         * tests/test-posix_spawn2.in.sh: New file.
54267         * modules/posix_spawnp-tests (Files): Update.
54268         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
54269
54270 2008-09-29  Bruno Haible  <bruno@clisp.org>
54271
54272         Propagate effects of putenv/setenv/unsetenv to child processes.
54273         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
54274         * lib/pipe.c (create_pipe): Likewise.
54275
54276 2008-09-29  Bruno Haible  <bruno@clisp.org>
54277
54278         Enable use of shell scripts as executables in mingw.
54279         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
54280         run the program as a shell script.
54281         * lib/pipe.c (create_pipe): Likewise.
54282         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
54283         resulting array.
54284
54285 2008-09-29  Eric Blake  <ebb9@byu.net>
54286
54287         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
54288
54289 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
54290
54291         * doc/posix-functions/accept.texi: Update mingw problems.
54292         * doc/posix-functions/bind.texi: Update mingw problems.
54293         * doc/posix-functions/close.texi: Update mingw problems.
54294         * doc/posix-functions/connect.texi: Update mingw problems.
54295         * doc/posix-functions/getpeername.texi: Update mingw problems.
54296         * doc/posix-functions/getsockname.texi: Update mingw problems.
54297         * doc/posix-functions/getsockopt.texi: Update mingw problems.
54298         * doc/posix-functions/ioctl.texi: Update mingw problems.
54299         * doc/posix-functions/listen.texi: Update mingw problems.
54300         * doc/posix-functions/recv.texi: Update mingw problems.
54301         * doc/posix-functions/recvfrom.texi: Update mingw problems.
54302         * doc/posix-functions/select.texi: Update mingw problems.
54303         * doc/posix-functions/send.texi: Update mingw problems.
54304         * doc/posix-functions/sendto.texi: Update mingw problems.
54305         * doc/posix-functions/setsockopt.texi: Update mingw problems.
54306         * doc/posix-functions/socket.texi: Update mingw problems.
54307
54308 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
54309             Bruno Haible  <bruno@clisp.org>
54310
54311         * lib/sys_select.in.h: Include sys/time.h.
54312         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
54313         * modules/sys_select: Depend on sys_time.
54314         * tests/test-sys_select.c: Test that sys/select.h defines struct
54315         timeval fully.
54316
54317 2008-09-29  Bruno Haible  <bruno@clisp.org>
54318
54319         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
54320         * lib/sys_select.in.h: Likewise.
54321
54322 2008-09-29  Bruno Haible  <bruno@clisp.org>
54323
54324         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
54325
54326 2008-09-29  Bruno Haible  <bruno@clisp.org>
54327
54328         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
54329         Set LIBSOCKET instead of augmenting LIBS.
54330         * modules/sockets (Link): New section.
54331         * modules/sockets-tests (test_sockets_LDADD): New variable.
54332         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
54333         * modules/poll-tests (test_poll_LDADD): New variable.
54334         * NEWS: Document the change.
54335
54336 2008-09-29  Bruno Haible  <bruno@clisp.org>
54337
54338         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
54339         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
54340         ARPA_INET_H directly.
54341         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54342
54343 2008-09-28  Bruno Haible  <bruno@clisp.org>
54344
54345         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
54346         from gl_HEADER_SYS_SOCKET.
54347         (gl_HEADER_SYS_SOCKET): Invoke it.
54348         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54349
54350 2008-09-28  Bruno Haible  <bruno@clisp.org>
54351
54352         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
54353         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
54354         Needed on OSF/1 4.0.
54355
54356 2008-09-28  Bruno Haible  <bruno@clisp.org>
54357
54358         Override open more carefully.
54359         * lib/open.c (orig_open): New function.
54360         (rpl_open): Use orig_open instead of open.
54361         * lib/fcntl.in.h: Add special invocation convention.
54362         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
54363         (gl_FUNC_OPEN): Invoke it.
54364
54365         Override freopen more carefully.
54366         * lib/freopen.c (orig_freopen): New function.
54367         (rpl_freopen): Use orig_freopen instead of freopen.
54368         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
54369         (gl_FUNC_FREOPEN): Invoke it.
54370
54371         Override fopen more carefully.
54372         * lib/fopen.c (orig_fopen): New function.
54373         (rpl_fopen): Use orig_fopen instead of fopen.
54374         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
54375         (gl_FUNC_FOPEN): Invoke it.
54376         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
54377
54378 2008-09-28  Bruno Haible  <bruno@clisp.org>
54379
54380         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
54381         SIGPIPE.
54382
54383 2008-09-28  Bruno Haible  <bruno@clisp.org>
54384
54385         * tests/test-sigaction.c (handler, main): Disable the check whether
54386         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
54387         glibc systems with LinuxThreads.
54388
54389 2008-09-28  Bruno Haible  <bruno@clisp.org>
54390
54391         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
54392
54393         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
54394         with AIX xlc.
54395         * lib/fcntl.in.h (open): Likewise.
54396         Reported by Rainer Tammer <tammer@tammer.net>.
54397
54398 2008-09-28  Bruno Haible  <bruno@clisp.org>
54399
54400         * modules/posix_spawnp-tests: New file.
54401         * tests/test-posix_spawn.c: New file.
54402         * tests/test-posix_spawn.in.sh: New file.
54403
54404         New module 'posix_spawnp'.
54405         * modules/posix_spawnp: New file.
54406         * lib/spawnp.c: New file, from GNU libc with modifications.
54407         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
54408
54409         New module 'posix_spawn'.
54410         * modules/posix_spawn: New file.
54411         * lib/spawn.c: New file, from GNU libc with modifications.
54412         * doc/posix-functions/posix_spawn.texi: Mention the new module.
54413
54414         New module 'posix_spawnattr_destroy'.
54415         * modules/posix_spawnattr_destroy: New file.
54416         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
54417         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
54418         module.
54419
54420         New module 'posix_spawnattr_setsigmask'.
54421         * modules/posix_spawnattr_setsigmask: New file.
54422         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
54423         modifications.
54424         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
54425         new module.
54426
54427         New module 'posix_spawnattr_getsigmask'.
54428         * modules/posix_spawnattr_getsigmask: New file.
54429         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
54430         modifications.
54431         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
54432         new module.
54433
54434         New module 'posix_spawnattr_setsigdefault'.
54435         * modules/posix_spawnattr_setsigdefault: New file.
54436         * lib/spawnattr_setdefault.c: New file, from GNU libc with
54437         modifications.
54438         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
54439         new module.
54440
54441         New module 'posix_spawnattr_getsigdefault'.
54442         * modules/posix_spawnattr_getsigdefault: New file.
54443         * lib/spawnattr_getdefault.c: New file, from GNU libc with
54444         modifications.
54445         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
54446         new module.
54447
54448         New module 'posix_spawnattr_setschedpolicy'.
54449         * modules/posix_spawnattr_setschedpolicy: New file.
54450         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
54451         modifications.
54452         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
54453         new module.
54454
54455         New module 'posix_spawnattr_getschedpolicy'.
54456         * modules/posix_spawnattr_getschedpolicy: New file.
54457         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
54458         modifications.
54459         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
54460         new module.
54461
54462         New module 'posix_spawnattr_setschedparam'.
54463         * modules/posix_spawnattr_setschedparam: New file.
54464         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
54465         modifications.
54466         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
54467         new module.
54468
54469         New module 'posix_spawnattr_getschedparam'.
54470         * modules/posix_spawnattr_getschedparam: New file.
54471         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
54472         modifications.
54473         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
54474         new module.
54475
54476         New module 'posix_spawnattr_setpgroup'.
54477         * modules/posix_spawnattr_setpgroup: New file.
54478         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
54479         modifications.
54480         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
54481         module.
54482
54483         New module 'posix_spawnattr_getpgroup'.
54484         * modules/posix_spawnattr_getpgroup: New file.
54485         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
54486         modifications.
54487         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
54488         module.
54489
54490         New module 'posix_spawnattr_setflags'.
54491         * modules/posix_spawnattr_setflags: New file.
54492         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
54493         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
54494         module.
54495
54496         New module 'posix_spawnattr_getflags'.
54497         * modules/posix_spawnattr_getflags: New file.
54498         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
54499         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
54500         module.
54501
54502         New module 'posix_spawnattr_init'.
54503         * modules/posix_spawnattr_init: New file.
54504         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
54505         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
54506         module.
54507
54508         New module 'posix_spawn_file_actions_destroy'.
54509         * modules/posix_spawn_file_actions_destroy: New file.
54510         * lib/spawn_faction_destroy.c: New file, from GNU libc with
54511         modifications.
54512         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
54513         the new module.
54514
54515         New module 'posix_spawn_file_actions_addopen'.
54516         * modules/posix_spawn_file_actions_addopen: New file.
54517         * lib/spawn_faction_addopen.c: New file, from GNU libc with
54518         modifications.
54519         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
54520         the new module.
54521
54522         New module 'posix_spawn_file_actions_adddup2'.
54523         * modules/posix_spawn_file_actions_adddup2: New file.
54524         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
54525         modifications.
54526         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
54527         the new module.
54528
54529         New module 'posix_spawn_file_actions_addclose'.
54530         * modules/posix_spawn_file_actions_addclose: New file.
54531         * lib/spawn_faction_addclose.c: New file, from GNU libc with
54532         modifications.
54533         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
54534         the new module.
54535
54536         New module 'posix_spawn_file_actions_init'.
54537         * modules/posix_spawn_file_actions_init: New file.
54538         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
54539         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
54540         new module.
54541
54542         New module 'posix_spawn-internal'.
54543         * modules/posix_spawn-internal: New file.
54544         * lib/spawn_int.h: New file, from GNU libc with modifications.
54545         * lib/spawni.c: New file, from GNU libc with modifications.
54546         * m4/posix_spawn.m4: New file.
54547
54548         New module 'spawn'.
54549         * modules/spawn: New file.
54550         * lib/spawn.in.h: New file, from GNU libc with modifications.
54551         * m4/spawn_h.m4: New file.
54552         * doc/posix-headers/spawn.texi: Mention the new module.
54553
54554 2008-09-28  Bruno Haible  <bruno@clisp.org>
54555
54556         * modules/sched-tests: New file.
54557         * tests/test-sched.c: New file.
54558
54559         New module 'sched'.
54560         * modules/sched: New file.
54561         * lib/sched.in.h: New file.
54562         * m4/sched_h.m4: New file.
54563         * doc/posix-headers/sched.texi: Mention the new module.
54564
54565 2008-09-27  Eric Blake  <ebb9@byu.net>
54566
54567         Fix previous patch, and tweak references to $0.
54568         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
54569         (func_version, func_gnulib_dir): Don't call this program
54570         gnulib-tool.
54571         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
54572         with using $0 in function.
54573         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
54574         (func_fatal_error): Reuse the name the user invoked us with.
54575
54576 2008-09-27  Bruno Haible  <bruno@clisp.org>
54577
54578         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
54579         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
54580         (gl_ICONV_H): Not here.
54581         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54582         instead of assigning ICONV_H directly.
54583
54584         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
54585         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
54586         WCHAR_H directly.
54587
54588 2008-09-27  Bruno Haible  <bruno@clisp.org>
54589
54590         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
54591         * modules/arpa_inet (Depends-on): Add link-warning.
54592         (Makefile.am): Insert the definition of GL_LINK-WARNING.
54593         * modules/unistd (Makefile.am): Likewise.
54594
54595 2008-09-26  Bruno Haible  <bruno@clisp.org>
54596
54597         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
54598         variables.
54599         (func_version): Essentially copied from gnulib-tool.
54600         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
54601         func_readlink): Copied from gnulib-tool.
54602
54603 2008-09-26  Bruno Haible  <bruno@clisp.org>
54604
54605         * gnulib-tool (func_version): Change directory to $gnulib_dir before
54606         invoking git-version-gen.
54607
54608 2008-09-26  Bruno Haible  <bruno@clisp.org>
54609
54610         * posix-modules: Update to directory names changed on 2008-01-19.
54611         Remove commas in output before splitting into words. No more need to
54612         avoid 'ftruncate' since 2007-02-19.
54613
54614 2008-09-26  Bruno Haible  <bruno@clisp.org>
54615
54616         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
54617
54618 2008-09-26  Bruno Haible  <bruno@clisp.org>
54619
54620         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
54621         * modules/fwriteerror (Depends-on): Add errno.
54622
54623 2008-09-26  Bruno Haible  <bruno@clisp.org>
54624
54625         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
54626         * tests/test-vc-list-files-cvs.sh: Likewise.
54627
54628 2008-09-26  Bruno Haible  <bruno@clisp.org>
54629
54630         * doc/posix-headers/sys_resource.texi: Reorder items.
54631
54632 2008-09-26  Jim Meyering  <meyering@redhat.com>
54633
54634         fts: tweak inode comparison function
54635         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
54636         inode numbers, as documented.
54637
54638         fts: sort dirent entries on inode number before traversing
54639         This avoids a quadratic, seek-related performance penalty when
54640         operating on a directory containing many entries (measurable at 10k;
54641         3.5 hours at 2 million entries with a cold cache) on certain types
54642         of file systems, including ext3 and ext4, but not tmpfs.
54643         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
54644         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
54645         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
54646         (fs_handles_readdir_ordered_dirents_efficiently): New function.
54647         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
54648         (fts_build): Set the stat.st_ino member from D_INO.
54649         If it is likely to be useful, sort dirent entries on inode number.
54650
54651         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
54652         and the struct statfs.f_type member.
54653         * modules/fts (Depends-on): Add d-ino.
54654
54655 2008-09-26  Bruno Haible  <bruno@clisp.org>
54656
54657         * modules/sigpipe-die (Depends-on): Add sigpipe.
54658
54659         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
54660         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
54661         and GNULIB_STDIO_H_SIGPIPE are set.
54662         * lib/stdio-write.c: New file.
54663         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
54664         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54665         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54666         REPLACE_STDIO_WRITE_FUNCS.
54667         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
54668         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54669         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54670         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54671         * modules/stdio (Files): Add lib/stdio-write.c.
54672         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
54673         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54674         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54675         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54676         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
54677         REPLACE_FPRINTF_POSIX.
54678         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
54679         REPLACE_PRINTF_POSIX.
54680         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
54681         REPLACE_VFPRINTF_POSIX.
54682         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
54683         REPLACE_VPRINTF_POSIX.
54684         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
54685         SIGPIPE issue.
54686         * doc/posix-functions/fputc.texi: Likewise.
54687         * doc/posix-functions/fputs.texi: Likewise.
54688         * doc/posix-functions/fwrite.texi: Likewise.
54689         * doc/posix-functions/printf.texi: Likewise.
54690         * doc/posix-functions/putc.texi: Likewise.
54691         * doc/posix-functions/putchar.texi: Likewise.
54692         * doc/posix-functions/puts.texi: Likewise.
54693         * doc/posix-functions/vfprintf.texi: Likewise.
54694         * doc/posix-functions/vprintf.texi: Likewise.
54695
54696         * modules/safe-write (Depends-on): Add write.
54697
54698         * modules/sigpipe-tests: New file.
54699         * tests/test-sigpipe.c: New file.
54700         * tests/test-sigpipe.sh: New file.
54701
54702         * modules/write: New file.
54703         * lib/unistd.in.h: Include <sys/types.h>.
54704         (write): New declaration.
54705         * lib/write.c: New file.
54706         * m4/write.m4: New file.
54707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54708         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
54709         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
54710         GNULIB_WRITE, REPLACE_WRITE.
54711         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
54712         and the SIGPIPE issue.
54713
54714         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
54715         (raise): New declaration.
54716         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
54717         (ext_signal): New function.
54718         (rpl_raise): New function.
54719         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
54720         GNULIB_SIGNAL_H_SIGPIPE.
54721         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
54722         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
54723
54724         * modules/sigpipe: New file.
54725         * m4/sigpipe.m4: New file.
54726
54727 2008-09-25  Derek Price  <derek@ximbiot.com>
54728             Bruno Haible  <bruno@clisp.org>
54729
54730         * gnulib-tool (func_import): Report all license incompatibilities, not
54731         just the first one.
54732
54733 2008-09-25  Bruno Haible  <bruno@clisp.org>
54734
54735         * gnulib-tool (func_import): When computing the edits, consider not
54736         only the Makefile.ams that exist but also those that will be generated.
54737
54738 2008-09-25  Simon Josefsson  <simon@josefsson.org>
54739
54740         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
54741         fixes gnulib-tool --test warning about duplicate dependency.
54742
54743 2008-09-25  Bruno Haible  <bruno@clisp.org>
54744
54745         * gnulib-tool: Don't ask the user to perform edits in the generated
54746         Makefile.ams.
54747         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
54748         apply to the Makefile.am being generated.
54749         (func_emit_tests_Makefile_am): Execute edits that apply to the
54750         Makefile.am being generated.
54751         (func_import): Setup list of Makefile.am edits before emitting the
54752         Makefile.ams, not at the end.
54753         (func_create_testdir): Update.
54754         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54755
54756 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54757
54758         * gnulib-tool (func_import): Store the --tests-base option in the
54759         comment in gnulib-cache.m4.
54760
54761 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
54762
54763         * NEWS: Document increased portability that sys_select now provides.
54764
54765         * lib/sys_select.in.h: Install select wrapper.
54766         * lib/sys_socket.in.h: Use more descriptive name when there is no
54767         select wrapper.
54768         * lib/winsock-select.c: New.
54769         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
54770         Require gl_HEADER_SYS_SOCKET.
54771         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
54772         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
54773         * tests/test-sys_select.c: Add functional tests.
54774
54775 2008-09-24  Eric Blake  <ebb9@byu.net>
54776
54777         open, fopen: close fd leak in last patch
54778         * lib/open.c (rpl_open): Close fd before returning error.
54779         * lib/fopen.c (rpl_fopen): Close fd before returning error.
54780         * doc/posix-functions/open.texi (open): Document that Irix also
54781         has the bug.
54782         * doc/posix-functions/fopen.texi (fopen): Likewise.
54783         Reported by Paolo Bonzini.
54784
54785 2008-09-24  Bruno Haible  <bruno@clisp.org>
54786
54787         Ensure that a filename ending in a slash cannot be used to access a
54788         non-directory.
54789         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
54790         to check whether it's really a directory.
54791         * lib/fopen.c: Include fcntl.h, unistd.h.
54792         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
54793         and fdopen().
54794         * modules/fopen (Depends-on): Add unistd.
54795         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
54796         * tests/test-fopen.c (main): Likewise.
54797         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
54798         * doc/posix-functions/fopen.texi: Likewise.
54799         Reported by Eric Blake.
54800
54801 2008-09-23  Eric Blake  <ebb9@byu.net>
54802
54803         c-stack: avoid compiler optimizations when provoking overflow
54804         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
54805         recursion harder to optimize, to ensure a stack overflow occurs.
54806         * tests/test-c-stack.c (recurse): Likewise.
54807         Borrowed from libsigsegv.
54808
54809         c-stack: work around Irix sigaltstack bug
54810         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
54811         whether sigaltstack uses wrong end of stack_t (copied in part from
54812         libsigsegv).
54813         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
54814         Irix bug, without requiring an over-allocation.
54815         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
54816         bug.
54817
54818         fopen: document mingw bug on directories
54819         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
54820         not allowing a stream visiting a directory, even though reading
54821         from such a stream is not portable.
54822
54823 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54824
54825         * lib/poll.c: Rewrite.
54826         * modules/poll: Depend on alloca.
54827
54828 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54829
54830         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
54831         instead define prototypes for a full set of wrappers.  Ensure
54832         that Cygwin does not use the compatibility code, which is only
54833         for MinGW.
54834         * lib/winsock.c: New.
54835         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
54836         * modules/sys_socket: Add lib/winsock.c.
54837
54838         * modules/poll-tests: Add errno and perror.
54839         * tests/test-poll.c: Use ioctl, not ioctlsocket.
54840
54841 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54842
54843         * tests/test-poll.c: Downgrade minimum needed Winsock version.
54844
54845 2008-09-23  Bruno Haible  <bruno@clisp.org>
54846
54847         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
54848         * doc/glibc-functions/*: Likewise.
54849
54850 2008-09-23  Simon Josefsson  <simon@josefsson.org>
54851
54852         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
54853         success.
54854
54855 2008-09-22  Eric Blake  <ebb9@byu.net>
54856             Bruno Haible  <bruno@clisp.org>
54857
54858         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
54859         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
54860         supply %A but mishandle pseudo-NaN.
54861         Reported by Simon Josefsson.
54862
54863 2008-09-21  Bruno Haible  <bruno@clisp.org>
54864
54865         * tests/test-lock.c (main): Tweak skip message.
54866         * tests/test-tls.c (main): Likewise.
54867
54868 2008-09-21  Bruno Haible  <bruno@clisp.org>
54869
54870         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
54871         whether 'struct sigaction' has sa_sigaction here...
54872         (gl_PREREQ_SIG_HANDLER_H): ... not here.
54873         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
54874
54875 2008-09-21  Bruno Haible  <bruno@clisp.org>
54876
54877         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
54878         section.
54879         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
54880         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
54881         the new section.
54882         (Support for obsolete systems lacking POSIX:2001): New section.
54883         (String handling <string.h>): Move strdup to the new section.
54884         Suggested by Simon Josefsson and Paolo Bonzini.
54885
54886 2008-09-21  Bruno Haible  <bruno@clisp.org>
54887
54888         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
54889         exponents in %e and %g results on 'long double'. Needed for mingw's
54890         improved *printf functions.
54891         * tests/test-vasprintf-posix.c (test_function): Likewise.
54892         * tests/test-snprintf-posix.h (test_function): Likewise.
54893         * tests/test-sprintf-posix.h (test_function): Likewise.
54894         Reported by Eric Blake.
54895
54896 2008-09-21  Bruno Haible  <bruno@clisp.org>
54897
54898         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
54899         * tests/test-sprintf-posix.h (test_function): Likewise.
54900
54901 2008-09-21  Bruno Haible  <bruno@clisp.org>
54902
54903         * modules/getpass (Depends-on): Add strdup-posix.
54904
54905         New module 'strdup-posix'.
54906         * modules/strdup-posix: New file.
54907         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
54908         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
54909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54910         REPLACE_STRDUP.
54911         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
54912         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
54913         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54914         strdup-posix.
54915
54916         * modules/strdup (Depends-on): Remove malloc-posix.
54917
54918 2008-09-20  Bruno Haible  <bruno@clisp.org>
54919
54920         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
54921         Wildenhues.
54922
54923 2008-09-20  Bruno Haible  <bruno@clisp.org>
54924
54925         Ensure that wint_t gets defined on IRIX 5.3.
54926         * lib/wchar.in.h (wint_t): Define if not defined by the system.
54927         * lib/wctype.in.h (wint_t): Likewise.
54928         (__wctype_wint_t): Remove type.
54929         (isw*): Use wint_t instead of __wctype_wint_t.
54930         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
54931         * modules/wchar (Files): Add m4/wint_t.m4.
54932         (Makefile.am): Substitute HAVE_WINT_T.
54933         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
54934         * tests/test-wctype.c: Check that wint_t is defined.
54935         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
54936         * doc/posix-headers/wctype.texi: Likewise.
54937         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54938
54939 2008-09-18  Bruno Haible  <bruno@clisp.org>
54940
54941         * gnulib-tool (func_exit): Update comment.
54942
54943 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54944
54945         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54946         assumes strdup exists and does not depend on strdup to return
54947         ENOMEM on out of memory conditions.
54948
54949 2008-09-18  Bruno Haible  <bruno@clisp.org>
54950
54951         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54952         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54953         digits for the exponent.
54954
54955 2008-09-18  Jim Meyering  <meyering@redhat.com>
54956             Bruno Haible  <bruno@clisp.org>
54957
54958         * lib/vasnprintf.c (decimal_point_char): Define also if
54959         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54960
54961 2008-09-16  Bruno Haible  <bruno@clisp.org>
54962         and Eric Blake  <ebb9@byu.net>
54963
54964         vasnprintf: support Irix 5.3
54965         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54966         that mishandle long double infinity.
54967         Reported by Tom G. Christensen.
54968
54969 2008-09-16  Bruno Haible  <bruno@clisp.org>
54970
54971         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54972         Solaris 9.
54973         * doc/glibc-functions/alphasort.texi: Likewise.
54974         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54975
54976 2008-09-16  Jim Meyering  <meyering@redhat.com>
54977
54978         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54979         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54980         a umask modification leak out of a subshell.  Otherwise, the
54981         opensolaris /bin/sh would be accepted and thus cause unwarranted
54982         failures in the coreutils test suite.
54983
54984 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54985
54986         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54987         to succeed.
54988
54989 2008-09-16  Jim Meyering  <meyering@redhat.com>
54990
54991         avoid spurious test failure when library is built without ACL support
54992         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54993         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54994         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54995         * tests/test-copy-acl.sh: Likewise.
54996
54997 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54998
54999         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
55000         based on character occurrence counts.
55001
55002 2008-09-15  Eric Blake  <ebb9@byu.net>
55003
55004         tests: avoid some compiler warnings
55005         * tests/test-memchr.c (main): Pass NULL indirectly.
55006         * tests/test-closein.c (main): Avoid unused variable.
55007
55008 2008-09-15  Bruno Haible  <bruno@clisp.org>
55009
55010         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
55011         are missing on OpenBSD 4.0 individually.
55012         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55013
55014 2008-09-15  Bruno Haible  <bruno@clisp.org>
55015
55016         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
55017         * doc/posix-functions/strerror.texi: Mention also Cygwin.
55018         * doc/posix-functions/perror.texi: Likewise.
55019         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
55020         is missing.
55021         Reported by Eric Blake.
55022
55023         * lib/errno.in.h: Use replacement values >= 2000.
55024         Reported by Eric Blake.
55025
55026 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55027
55028         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
55029         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
55030         limit.
55031         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
55032         compareseq was aborted.
55033
55034 2008-09-14  Bruno Haible  <bruno@clisp.org>
55035
55036         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
55037         yvec_edit_count.
55038         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
55039         (fstrcmp_bounded): Simplify result computation accordingly.
55040
55041 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55042
55043         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
55044         (fstrcmp): Define in terms of fstrcmp_bounded.
55045         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
55046         lower_bound argument.
55047         Return quickly if the result is certainly < lower_bound.
55048         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
55049
55050 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55051
55052         * lib/diffseq.h (EARLY_ABORT): New macro.
55053         (compareseq): Change return type to bool. Return true when EARLY_ABORT
55054         evaluates to true.
55055
55056 2008-09-14  Bruno Haible  <bruno@clisp.org>
55057
55058         * modules/perror-tests: New file.
55059         * tests/test-perror.sh: New file.
55060         * tests/test-perror.c: New file.
55061
55062         New module 'perror'.
55063         * lib/stdio.in.h (perror): New declaration.
55064         * lib/perror.c: New file.
55065         * m4/perror.m4: New file.
55066         * modules/perror: New file.
55067         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
55068         * doc/posix-functions/perror.texi: Mention the perror module.
55069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
55070         REPLACE_PERROR.
55071         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
55072         REPLACE_PERROR.
55073
55074 2008-09-14  Bruno Haible  <bruno@clisp.org>
55075
55076         * modules/stdio (Makefile.am): Reorder to match the order in
55077         lib/stdio.in.h.
55078         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55079
55080 2008-09-13  Bruno Haible  <bruno@clisp.org>
55081
55082         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
55083
55084 2008-09-13  Bruno Haible  <bruno@clisp.org>
55085
55086         Extend strerror to cover the added errno values.
55087         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
55088         (rpl_strerror): Provide error messages for the added errno values and
55089         for the WSA* values.
55090         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
55091         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
55092         strerror.
55093         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
55094         * modules/strerror (Depends-on): Add errno.
55095         * doc/posix-functions/strerror.texi: Document the change.
55096         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
55097         and EOVERFLOW.
55098
55099 2008-09-13  Bruno Haible  <bruno@clisp.org>
55100
55101         * modules/EOVERFLOW: Remove file.
55102         * m4/eoverflow.m4: Remove file.
55103         * modules/EOVERFLOW-tests: Remove file.
55104         * tests/test-EOVERFLOW.c: Remove file.
55105         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
55106         * modules/ftell (Depends-on): Likewise.
55107         * modules/getdelim (Depends-on): Likewise.
55108         * modules/getugroups (Depends-on): Likewise.
55109         * modules/poll (Depends-on): Likewise.
55110         * modules/snprintf (Depends-on): Likewise.
55111         * modules/sprintf-posix (Depends-on): Likewise.
55112         * modules/vasnprintf (Depends-on): Likewise.
55113         * modules/vasprintf (Depends-on): Likewise.
55114         * modules/vfprintf-posix (Depends-on): Likewise.
55115         * modules/vsnprintf (Depends-on): Likewise.
55116         * modules/vsprintf-posix (Depends-on): Likewise.
55117         * modules/xvasprintf (Depends-on): Likewise.
55118         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55119         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
55120         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
55121         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
55122         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55123         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
55124         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
55125         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
55126         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55127         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
55128         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
55129         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
55130         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55131         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
55132         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
55133         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
55134         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55135         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
55136         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
55137         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
55138         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55139         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
55140         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
55141         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
55142         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
55143         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55144         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
55145         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
55146         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
55147         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
55148         * MODULES.html.sh: Remove EOVERFLOW.
55149         * NEWS: Mention the change.
55150
55151 2008-09-13  Bruno Haible  <bruno@clisp.org>
55152
55153         * modules/errno-tests: New file.
55154         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
55155
55156         * lib/errno.in.h: New file.
55157         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
55158         * modules/errno: New file.
55159         * doc/posix-headers/errno.texi: Update documentation.
55160         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
55161
55162 2008-09-13  Bruno Haible  <bruno@clisp.org>
55163
55164         * tests/test-poll.c: Use #if for native Windows, rather than testing
55165         __MSVCRT__.
55166
55167 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55168             Bruno Haible  <bruno@clisp.org>
55169
55170         * lib/glob.c: Don't include <pwd.h> on native Windows.
55171         (WINDOWS32): New macro.
55172         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
55173
55174 2008-09-13  Bruno Haible  <bruno@clisp.org>
55175
55176         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
55177         (ETIMEDOUT): Remove macro.
55178         (glthread_cond_timedwait_multithreaded): New declaration.
55179         (glthread_cond_timedwait): Use it.
55180         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
55181         (glthread_cond_timedwait_multithreaded): New function.
55182
55183 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55184
55185         * modules/poll-tests: Do not check for io.h.
55186         * tests/test-poll.c: Check for __MSVCRT__ instead.
55187
55188 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55189
55190         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
55191         * modules/poll-tests: Add inet_pton, stdbool, sockets.
55192         * tests/test-poll.c: Use them.  Use _pipe on Windows.
55193
55194 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55195
55196         * modules/poll-tests: New.
55197         * tests/test-poll.c: New.
55198
55199 2008-09-12  Eric Blake  <ebb9@byu.net>
55200
55201         frexp: test for NetBSD failure on -0.0
55202         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
55203         not all, bugs from NetBSD 3.0 have been fixed.
55204         * doc/posix-functions/frexp.texi (frexp): Document bug.
55205         Reported by Thomas Klausner.
55206
55207         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
55208         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
55209         literal -0.0.
55210         Reported by Jonathan C. Patschke <jp@centtech.com>.
55211
55212 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55213
55214         * lib/glthread/cond.h: Use dummy implementation also if
55215         USE_WIN32_THREADS.
55216
55217 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55218
55219         * modules/fnmatch-posix (License): Change to LGPLv2+.
55220         * modules/fnmatch-gnu (License): Likewise.
55221
55222 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55223
55224         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
55225
55226 2008-09-11  Jim Meyering  <meyering@redhat.com>
55227
55228         * users.txt: Add gtk-vnc.
55229
55230 2008-09-08  Simon Josefsson  <simon@josefsson.org>
55231
55232         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
55233         rotate amounts.
55234
55235         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
55236         required for 16-bit and 8-bit rotates.
55237         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
55238         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
55239         UINT8_MAX instead of hard-coded constants.
55240         Suggested by Paul Eggert.
55241
55242 2008-09-07  Bruno Haible  <bruno@clisp.org>
55243
55244         * tests/test-striconveh.c (main): Check behaviour when converting from
55245         UTF-7.
55246
55247         Make striconveh work better with stateful encodings.
55248         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
55249         that iconv does not increment the inptr when returning -1/EINVAL.
55250
55251 2008-09-07  Bruno Haible  <bruno@clisp.org>
55252
55253         * build-aux/config.rpath: Update according to libtool-2.2.6.
55254         * build-aux/config.libpath: Likewise.
55255
55256 2008-09-06  Bruno Haible  <bruno@clisp.org>
55257
55258         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
55259         * lib/freadptr.c (freadptr): Likewise.
55260         * lib/freadseek.c (freadptrinc): Likewise.
55261         Reported by Simon Josefsson.
55262
55263 2008-09-06  Bruno Haible  <bruno@clisp.org>
55264
55265         * modules/freadptr (License): Change to LGPLv2+.
55266         * modules/freadseek (License): Likewise.
55267         Suggested by Eric Blake.
55268
55269         * modules/memchr2 (License): Change to LGPLv2+.
55270         Approved by Eric Blake.
55271
55272 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55273             Bruno Haible  <bruno@clisp.org>
55274
55275         Make gnulib-tool work with native 'sed' on AIX.
55276         * gnulib-tool (sed_noop): New variable.
55277         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
55278         func_add_or_update, func_create_testdir): Use it to initialize sed
55279         script variables.
55280         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55281
55282 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
55283             Bruno Haible  <bruno@clisp.org>
55284
55285         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
55286         also works after #include directives.
55287
55288 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
55289
55290         getdate.y: reject an out-of-range timezone value
55291         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
55292         the range [-24...+24].  When specified with only one or two digits,
55293         * tests/test-getdate.c: Tests for the fix.
55294         * doc/getdate.texi: Document this change.
55295
55296 2008-09-03  Bruno Haible  <bruno@clisp.org>
55297
55298         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
55299
55300 2008-09-02  Simon Josefsson  <simon@josefsson.org>
55301
55302         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
55303         <bruce.korb@gmail.com> with ideas from Ben Pfaff
55304         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
55305         Blake <ebb9@byu.net>.
55306
55307         * tests/test-bitrotate.c: Add more test vectors.
55308
55309 2008-09-02  Eric Blake  <ebb9@byu.net>
55310
55311         vasnprintf-posix: handle large precision via %.*d
55312         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
55313         when handling it ourselves.
55314         * tests/test-vasnprintf-posix.c (test_function): Add test.
55315         * tests/test-snprintf-posix.h (test_function): Likewise.
55316         * tests/test-sprintf-posix.h (test_function): Likewise.
55317         * tests/test-vasprintf-posix.c (test_function): Likewise.
55318         Reported by Alain Guibert.
55319
55320 2008-09-01  Eric Blake  <ebb9@byu.net>
55321
55322         c-stack: make configure-time check more robust
55323         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
55324         successful sigaction call.
55325         Reported by Tom G. Christensen.
55326
55327 2008-09-01  Bruno Haible  <bruno@clisp.org>
55328
55329         New module 'findprog-lgpl'.
55330         * modules/findprog-lgpl: New file.
55331         * lib/findprog-lgpl.c: New file.
55332         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
55333         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
55334         to decide whether to use strdup or xstrdup, concatenated_filename or
55335         xconcatenated_filename.
55336
55337 2008-09-01  Bruno Haible  <bruno@clisp.org>
55338
55339         Split module 'concat-filename' into 'concat-filename' (LGPL) and
55340         'xconcat-filename' (GPL).
55341         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
55342         (License): Change to LGPLv2+.
55343         * modules/xconcat-filename: New file.
55344         * lib/concat-filename.h (concatenated_filename): Change specification.
55345         (xconcatenated_filename): New declaration.
55346         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
55347         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
55348         memory situations.
55349         * lib/xconcat-filename.c: New file.
55350         * NEWS: Mention the change.
55351         * lib/findprog.c: Include concat-filename.h, not filename.h.
55352         (find_in_path): Use xconcatenated_filename instead of
55353         concatenated_filename.
55354         * lib/javacomp.c: Include concat-filename.h, not filename.h.
55355         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
55356         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
55357         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
55358         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
55359         instead of concatenated_filename.
55360         * lib/javaexec.c: Include concat-filename.h, not filename.h.
55361         (execute_java_class): Use xconcatenated_filename instead of
55362         concatenated_filename.
55363         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
55364         * modules/javacomp (Depends-on): Likewise.
55365         * modules/javaexec (Depends-on): Likewise.
55366
55367 2008-09-01  Bruno Haible  <bruno@clisp.org>
55368
55369         Split module 'filename' into 'filename' and 'concat-filename'.
55370         * modules/filename: Keep only lib/filename.h.
55371         (License): Change to LGPLv2+.
55372         * modules/concat-filename: New file, extracted from modules/filename.
55373         * lib/filename.h (concatenated_filename): Remove declaration.
55374         * lib/concat-filename.h: New file, extracted from lib/filename.h.
55375         * lib/concat-filename.c: Include concat-filename.h.
55376         * NEWS: Mention the change.
55377
55378 2008-09-01  Simon Josefsson  <simon@josefsson.org>
55379
55380         * lib/bitrotate.h (rotl8, rotr8): Add.
55381
55382         * modules/bitrotate (configure.ac): Need
55383         AC_REQUIRE([AC_C_INLINE]).
55384         (Description): Mention stdint.h.  Reported by Bruno Haible
55385         <bruno@clisp.org>.
55386
55387         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
55388         Paolo Bonzini <bonzini@gnu.org>.
55389
55390 2008-08-31  Bruno Haible  <bruno@clisp.org>
55391
55392         Assume Solaris specific bi-arch conventions on Solaris systems.
55393         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
55394         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
55395         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
55396         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
55397         like acl_libdirstem.
55398         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
55399         acl_libdirstem.
55400         * NEWS: Mention the change.
55401         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
55402
55403 2008-08-31  Jim Meyering  <meyering@redhat.com>
55404
55405         * lib/strftime.h: Add comments describing the two added arguments.
55406
55407         remove duplicate #include directives
55408         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
55409         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
55410
55411 2008-08-31  Bruno Haible  <bruno@clisp.org>
55412
55413         New module 'sigpipe-die'.
55414         * modules/sigpipe-die: New file.
55415         * lib/sigpipe-die.h: New file.
55416         * lib/sigpipe-die.c: New file.
55417         * MODULES.html.sh (Signal handling): Add sigpipe-die.
55418
55419 2008-08-31  Bruno Haible  <bruno@clisp.org>
55420
55421         Don't override previously installed signal handlers.
55422         * lib/fatal-signal.c (saved_sigactions): New variable.
55423         (uninstall_handlers): Reset the signal to the saved handler, not
55424         to SIG_DFL (except when ignored).
55425         (install_handlers): Save the previous handlers.
55426
55427 2008-08-30  Bruno Haible  <bruno@clisp.org>
55428
55429         * gnulib-tool (func_reset_sigpipe): New function.
55430         (func_get_automake_snippet, func_modules_transitive_closure,
55431         func_import): Invoke it before a join command that reads from stdin,
55432         to avoid "echo: write error: Broken pipe" error messages on stderr.
55433         Reported by Sam Steingold <sds@gnu.org>.
55434
55435 2008-08-30  Bruno Haible  <bruno@clisp.org>
55436
55437         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
55438         Code copied from m4/open.m4.
55439         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
55440         access and the filename ends in a slash. Code copied from lib/open.c.
55441         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
55442         * tests/test-fopen.c (main): Check against bug with trailing slash.
55443
55444 2008-08-29  Bruno Haible  <bruno@clisp.org>
55445
55446         Avoid some "gcc -pedantic" warnings.
55447         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
55448         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
55449         * lib/dirent.in.h: Likewise.
55450         * lib/fcntl.in.h: Likewise.
55451         * lib/float.in.h: Likewise.
55452         * lib/iconv.in.h: Likewise.
55453         * lib/inttypes.in.h: Likewise.
55454         * lib/locale.in.h: Likewise.
55455         * lib/math.in.h: Likewise.
55456         * lib/netinet_in.in.h: Likewise.
55457         * lib/search.in.h: Likewise.
55458         * lib/signal.in.h: Likewise.
55459         * lib/stdarg.in.h: Likewise.
55460         * lib/stdint.in.h: Likewise.
55461         * lib/stdio.in.h: Likewise.
55462         * lib/stdlib.in.h: Likewise.
55463         * lib/string.in.h: Likewise.
55464         * lib/strings.in.h: Likewise.
55465         * lib/sys_select.in.h: Likewise.
55466         * lib/sys_socket.in.h: Likewise.
55467         * lib/sys_stat.in.h: Likewise.
55468         * lib/sys_time.in.h: Likewise.
55469         * lib/sysexits.in.h: Likewise.
55470         * lib/time.in.h: Likewise.
55471         * lib/unistd.in.h: Likewise.
55472         * lib/wchar.in.h: Likewise.
55473         * lib/wctype.in.h: Likewise.
55474         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
55475         * modules/fchdir (Makefile.am): Likewise.
55476         * modules/fcntl (Makefile.am): Likewise.
55477         * modules/float (Makefile.am): Likewise.
55478         * modules/iconv_open (Makefile.am): Likewise.
55479         * modules/inttypes (Makefile.am): Likewise.
55480         * modules/locale (Makefile.am): Likewise.
55481         * modules/math (Makefile.am): Likewise.
55482         * modules/netinet_in (Makefile.am): Likewise.
55483         * modules/search (Makefile.am): Likewise.
55484         * modules/signal (Makefile.am): Likewise.
55485         * modules/stdarg (Makefile.am): Likewise.
55486         * modules/stdint (Makefile.am): Likewise.
55487         * modules/stdio (Makefile.am): Likewise.
55488         * modules/stdlib (Makefile.am): Likewise.
55489         * modules/string (Makefile.am): Likewise.
55490         * modules/strings (Makefile.am): Likewise.
55491         * modules/sys_select (Makefile.am): Likewise.
55492         * modules/sys_socket (Makefile.am): Likewise.
55493         * modules/sys_stat (Makefile.am): Likewise.
55494         * modules/sys_time (Makefile.am): Likewise.
55495         * modules/sysexits (Makefile.am): Likewise.
55496         * modules/time (Makefile.am): Likewise.
55497         * modules/unistd (Makefile.am): Likewise.
55498         * modules/wchar (Makefile.am): Likewise.
55499         * modules/wctype (Makefile.am): Likewise.
55500         Reported by Reuben Thomas <rrt@sc3d.org>.
55501
55502 2008-08-29  Bruno Haible  <bruno@clisp.org>
55503
55504         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
55505         any more.
55506
55507 2008-08-29  Simon Josefsson  <simon@josefsson.org>
55508
55509         * MODULES.html.sh (Misc): Add bitrotate.
55510
55511         * modules/bitrotate: New file.
55512
55513         * lib/bitrotate.h: New file.
55514
55515         * modules/bitrotate-tests: New file.
55516
55517         * tests/test-bitrotate.c: New file.
55518
55519         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
55520         on the bitrotate module.
55521
55522         * lib/arctwo.c: Use new bitrotate module.
55523
55524 2008-08-29  Jim Meyering  <meyering@redhat.com>
55525
55526         bootstrap: merge changes from coreutils
55527         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
55528         of copied files.  Remove a kludge, now that this is fixed.
55529         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
55530         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
55531         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
55532
55533 2008-08-29  Bruno Haible  <bruno@clisp.org>
55534
55535         * MODULES.html.sh: Remove --cvs-urls option.
55536
55537 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
55538
55539         maint.mk: adjust to file name change
55540         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
55541
55542 2008-08-28  Jim Meyering  <meyering@redhat.com>
55543
55544         * modules/getndelim2 (License): Relicense to LGPLv2+.
55545         Approved by Richard Stallman for the version of 1995, and by
55546         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
55547
55548 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
55549
55550         * lib/getdelim.c (flockfile, funlockfile): Make all of them
55551         dummy if one is not available.  Do not touch them if
55552         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
55553         (getc_maybe_unlocked): New.
55554         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
55555
55556 2008-08-26  Eric Blake  <ebb9@byu.net>
55557
55558         doc/INSTALL: resync from autoconf
55559         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
55560         (INSTALL_PRELUDE): Delete; this is done more efficiently by
55561         moving...
55562         * install.texi [!autoconf]: ...here.  Resync from autoconf.
55563         * INSTALL: Regenerate.
55564         * INSTALL.ISO: New file.
55565         * INSTALL.UTF-8: Likewise.
55566
55567 2008-08-26  Jim Meyering  <meyering@redhat.com>
55568
55569         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
55570         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
55571         these definitions conditional, so that they may be overridden, too.
55572
55573 2008-08-26  Bruno Haible  <bruno@clisp.org>
55574
55575         Generate INSTALL file variants with prettier quotes.
55576         * doc/Makefile (INSTALL_PRELUDE): New macro.
55577         (INSTALL): Use it.
55578         (INSTALL.ISO, INSTALL.UTF-8): New rules.
55579
55580 2008-08-26  Bruno Haible  <bruno@clisp.org>
55581
55582         Run makeinfo in an English locale.
55583         * doc/Makefile (MAKEINFO): New variable.
55584
55585 2008-08-26  Bruno Haible  <bruno@clisp.org>
55586
55587         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
55588         Suggested by Eric Blake.
55589
55590 2008-08-25  Bruno Haible  <bruno@clisp.org>
55591
55592         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
55593
55594 2008-08-25  Eric Blake  <ebb9@byu.net>
55595
55596         c-stack: test that stack overflow can be caught
55597         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
55598         that platform allows handling stack overflow; at least OS/2 EMX
55599         has sigaltstack, but crashes before transferring control to
55600         handler on stack overflow.
55601         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
55602         check for HAVE_STACK_OVERFLOW_HANDLING.
55603         Reported by Elbert Pol.
55604
55605 2008-08-25  Bruno Haible  <bruno@clisp.org>
55606
55607         * doc/posix-functions/strftime.texi: Fix description of strftime
55608         module.
55609
55610 2008-08-24  Bruno Haible  <bruno@clisp.org>
55611
55612         * tests/uniwidth/test-uc_width2.c: New file.
55613         * tests/uniwidth/test-uc_width2.sh: New file.
55614         * modules/uniwidth/width-tests (Files): Add the new files.
55615         (TESTS): Add uniwidth/test-uc_width2.sh.
55616         (TESTS_ENVIRONMENT): New variable.
55617         (check_PROGRAMS): Add test-uc_width2.
55618         (test_uc_width2_SOURCES): New variable.
55619
55620         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
55621         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
55622         not 0x00AB.
55623         Reported by Alexander V. Lukyanov <lav@netis.ru>.
55624
55625 2008-08-22  Eric Blake  <ebb9@byu.net>
55626
55627         test-lock, test-tls: mention why a test is skipped
55628         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
55629         skipped.
55630         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
55631
55632         count-one-bits: relax license
55633         * modules/count-one-bits (License): Relicense to LGPLv2+.
55634         Suggested by Ludovic Courtès, approved by Ben Pfaff.
55635
55636 2008-08-22  Andreas Schwab  <schwab@suse.de>
55637
55638         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55639         Remove spurious space in assignment.
55640
55641 2008-08-21  Simon Josefsson  <simon@josefsson.org>
55642
55643         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
55644         Paul Eggert <eggert@CS.UCLA.EDU>.
55645
55646 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
55647
55648         * modules/gettext: Add m4/threadlib.m4.
55649
55650 2008-08-19  Eric Blake  <ebb9@byu.net>
55651
55652         test-c-stack: fix compilation failure on FreeBSD 5.0
55653         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
55654         headers before <sys/resource.h>.
55655         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
55656         the bug.
55657         Reported by Nelson H. F. Beebe.
55658
55659         strverscmp: migrate from "strverscmp.h" to <string.h>
55660         * modules/string (Makefile.am): Add new hooks.
55661         * modules/strverscmp (Files): Remove strverscmp.h.
55662         (Depends-on): Add string.
55663         (configure.ac): Add indicator.
55664         (Include): Mention new header.
55665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
55666         defaults.
55667         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
55668         results.
55669         * lib/strverscmp.h: Delete.
55670         * lib/string.in.h (strverscmp): Provide declaration, when needed.
55671         * tests/test-strverscmp.c (includes): Adjust client.
55672         * lib/check-version.c (includes): Likewise.
55673         * NEWS: Document the change.
55674
55675         strverscmp: add unit test
55676         * modules/strverscmp-tests: New file.
55677         * tests/test-strverscmp.c: Likewise.
55678
55679 2008-08-19  Simon Josefsson  <simon@josefsson.org>
55680
55681         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
55682         regarding Windows crypto stuff, from Mono.
55683
55684 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
55685
55686         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
55687         if present, for intel RND.  Return error on failures.
55688
55689 2008-08-18  Ben Pfaff  <blp@gnu.org>
55690
55691         gitlog-to-changelog: give better diagnostic for failed pipe-open
55692         * build-aux/gitlog-to-changelog: Improve error message: suggest
55693         that the version of Git may be too old.
55694
55695 2008-08-18  Simon Josefsson  <simon@josefsson.org>
55696
55697         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
55698         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
55699
55700 2008-08-18  Bruno Haible  <bruno@clisp.org>
55701
55702         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
55703         pthread_in_use().
55704
55705 2008-08-18  Bruno Haible  <bruno@clisp.org>
55706
55707         * lib/glthread/threadlib.c: Include <pthread.h>.
55708
55709 2008-08-18  Bruno Haible  <bruno@clisp.org>
55710
55711         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
55712         glthread_recursive_lock_* macros.
55713         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
55714         Fix syntax error.
55715
55716 2008-08-18  Bruno Haible  <bruno@clisp.org>
55717
55718         * lib/glthread/thread.c: Avoid forcing a context switch right after
55719         thread creation.
55720
55721 2008-08-17  Bruno Haible  <bruno@clisp.org>
55722
55723         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
55724         * lib/glthread/thread.h: Provide Win32 specific implementation.
55725         * modules/thread (Files): Add lib/glthread/thread.c.
55726         (Depends-on): Add lock.
55727         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
55728
55729 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55730
55731         New module 'yield'.
55732         * modules/yield: New file.
55733         * lib/glthread/yield.h: New file.
55734         * m4/yield.m4: New file.
55735         * MODULES.html.sh (Multithreading): Add yield.
55736
55737 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55738
55739         New module 'thread'.
55740         * modules/thread: New file.
55741         * lib/glthread/thread.h: New file.
55742         * m4/thread.m4: New file.
55743         * MODULES.html.sh (Multithreading): Add thread.
55744
55745 2008-08-17  Bruno Haible  <bruno@clisp.org>
55746
55747         * lib/glthread/lock.h: Include <stdlib.h> always.
55748         * lib/glthread/tls.h: Likewise.
55749         * lib/glthread/cond.h: Likewise.
55750
55751 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55752
55753         New module 'cond'.
55754         * modules/cond: New file.
55755         * lib/glthread/cond.h: New file.
55756         * lib/glthread/cond.c: New file.
55757         * m4/cond.m4: New file.
55758         * MODULES.html.sh (Multithreading): Add cond.
55759
55760 2008-08-16  Eric Blake  <ebb9@byu.net>
55761
55762         c-stack: fix regression on Irix 5.3 from 2008-06-21
55763         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
55764         sa_sigaction...
55765         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
55766         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
55767         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
55768         * modules/signal (Makefile.am): Use the value.
55769         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
55770         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
55771         * doc/posix-headers/signal.texi (signal.h): Document this
55772         portability issue.
55773         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
55774         Reported by Tom G. Christensen.
55775
55776 2008-08-17  Bruno Haible  <bruno@clisp.org>
55777
55778         New module 'threadlib'.
55779         * modules/threadlib: New file.
55780         * lib/glthread/threadlib.c: New file, extracted from
55781         lib/glthread/lock.c.
55782         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
55783         functions.
55784         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
55785         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
55786         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
55787         macros.
55788         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
55789         (gl_DISABLE_THREADS): Remove macro.
55790         * modules/lock (Files): Remove build-aux/config.rpath.
55791         (Depends-on): Remove havelib. Add threadlib.
55792         (configure.ac-early): Remove section.
55793         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
55794         * modules/tls (Depends-on): Remove lock. Add threadlib.
55795         (Link): New section, copied from threadlib.
55796         * MODULES.html.sh (Multithreading): Add threadlib.
55797
55798 2008-08-14  Bruno Haible  <bruno@clisp.org>
55799
55800         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
55801         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
55802         glthread_rwlock_unlock, glthread_rwlock_destroy,
55803         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
55804         glthread_recursive_lock_destroy): Define as macros always.
55805         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
55806         glthread_lock_lock.
55807         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
55808         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
55809         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
55810         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
55811         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
55812         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
55813         (glthread_recursive_lock_lock_func): Renamed from
55814         glthread_recursive_lock_lock.
55815         (glthread_recursive_lock_unlock_func): Renamed from
55816         glthread_recursive_lock_unlock.
55817         (glthread_recursive_lock_destroy_func): Renamed from
55818         glthread_recursive_lock_destroy.
55819
55820 2008-08-14  Bruno Haible  <bruno@clisp.org>
55821
55822         * lib/glthread/lock.h: Renamed from lib/lock.h.
55823         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
55824         * lib/glthread/tls.h: Renamed from lib/tls.h.
55825         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
55826         * lib/fstrcmp.c: Update includes.
55827         * lib/strsignal.c: Update includes.
55828         * modules/lock (Files, Makefile.am): Update.
55829         (Include): Change to "glthread/lock.h".
55830         * modules/tls (Files, Makefile.am): Update.
55831         (Include): Change to "glthread/tls.h".
55832         * tests/test-lock.c: Update includes.
55833         * tests/test-tls.c: Update includes.
55834         * NEWS: Mention the renamed header files.
55835
55836 2008-08-11  Jim Meyering  <meyering@redhat.com>
55837
55838         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
55839
55840 2008-08-11  Eric Blake  <ebb9@byu.net>
55841
55842         test-c-stack: avoid C99-ism
55843         * tests/test-c-stack.c (main): Fix whitespace, move declaration
55844         before statement.
55845         Reported by Alain Guibert.
55846
55847 2008-08-10  Jim Meyering  <meyering@redhat.com>
55848
55849         ensure that return value of uinttostr et al are not ignored
55850         * lib/inttostr.h (__GNUC_PREREQ): Define.
55851         (__attribute_warn_unused_result__): Define.
55852         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
55853
55854 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
55855
55856         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
55857         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
55858
55859 2008-08-07  Jim Meyering  <meyering@redhat.com>
55860
55861         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
55862
55863         * modules/mkstemp (License): Relicense under LGPLv2+.
55864         * modules/tempname (License): Likewise.
55865
55866 2008-08-06  Bruno Haible  <bruno@clisp.org>
55867
55868         * lib/poll.c (poll): Further micro-optimization.
55869
55870 2008-08-06  Jim Meyering  <meyering@redhat.com>
55871
55872         inet_pton.c: use locale-independent tolower
55873         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
55874         (inet_pton6): Use c_tolower rather than tolower.
55875         * modules/inet_pton (Depends-on): Add c-ctype.
55876
55877 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
55878
55879         * lib/poll.c (poll): Avoid division when timeout is 0, cache
55880         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
55881
55882 2008-08-06  Jim Meyering  <meyering@redhat.com>
55883
55884         * modules/inet_pton (License): Relicense under LGPLv2+.
55885
55886 2008-08-03  Bruno Haible  <bruno@clisp.org>
55887
55888         Additional non-aborting API for lock and tls.
55889         * lib/lock.h: Include <errno.h>.
55890         (glthread_lock_init): New macro/function.
55891         (gl_lock_init): Define as wrapper around glthread_lock_init.
55892         (glthread_lock_lock): New macro/function.
55893         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
55894         (glthread_lock_unlock): New macro/function.
55895         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
55896         (glthread_lock_destroy): New macro/function.
55897         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
55898         (glthread_rwlock_init): New macro/function.
55899         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
55900         (glthread_rwlock_rdlock): New macro/function.
55901         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
55902         (glthread_rwlock_wrlock): New macro/function.
55903         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
55904         (glthread_rwlock_unlock): New macro/function.
55905         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
55906         (glthread_rwlock_destroy): New macro/function.
55907         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
55908         (glthread_recursive_lock_init): New macro/function.
55909         (gl_recursive_lock_init): Define as wrapper around
55910         glthread_recursive_lock_init.
55911         (glthread_recursive_lock_lock): New macro/function.
55912         (gl_recursive_lock_lock): Define as wrapper around
55913         glthread_recursive_lock_lock.
55914         (glthread_recursive_lock_unlock): New macro/function.
55915         (gl_recursive_lock_unlock): Define as wrapper around
55916         glthread_recursive_lock_unlock.
55917         (glthread_recursive_lock_destroy): New macro/function.
55918         (gl_recursive_lock_destroy): Define as wrapper around
55919         glthread_recursive_lock_destroy.
55920         (glthread_once): New macro/function.
55921         (gl_once): Define as wrapper around glthread_once.
55922         Update function declarations.
55923         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
55924         glthread_rwlock_init. Return error code.
55925         (glthread_rwlock_rdlock_multithreaded): Renamed from
55926         glthread_rwlock_rdlock. Return error code.
55927         (glthread_rwlock_wrlock_multithreaded): Renamed from
55928         glthread_rwlock_wrlock. Return error code.
55929         (glthread_rwlock_unlock_multithreaded): Renamed from
55930         glthread_rwlock_unlock. Return error code.
55931         (glthread_rwlock_destroy_multithreaded): Renamed from
55932         glthread_rwlock_destroy. Return error code.
55933         (glthread_recursive_lock_init_multithreaded): Renamed from
55934         glthread_recursive_lock_init. Return error code.
55935         (glthread_recursive_lock_lock_multithreaded): Renamed from
55936         glthread_recursive_lock_lock. Return error code.
55937         (glthread_recursive_lock_unlock_multithreaded): Renamed from
55938         glthread_recursive_lock_unlock. Return error code.
55939         (glthread_recursive_lock_destroy_multithreaded): Renamed from
55940         glthread_recursive_lock_destroy. Return error code.
55941         (glthread_once_call): Make static.
55942         (glthread_once_multithreaded): Renamed from glthread_once.
55943         * lib/tls.h: Include <errno.h>.
55944         (glthread_tls_key_init): New macro/function.
55945         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55946         (glthread_tls_set): New macro/function.
55947         (gl_tls_set): Define as wrapper around glthread_tls_set.
55948         (glthread_tls_key_destroy): New macro/function.
55949         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55950         Update function declarations.
55951         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55952         glthread_tls_get.
55953         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55954
55955 2008-08-04  Eric Blake  <ebb9@byu.net>
55956
55957         gnumakefile: use space, not TAB, outside of targets
55958         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55959
55960 2008-08-02  Jim Meyering  <meyering@redhat.com>
55961
55962         getdate.y: avoid locale-dependent date parsing failure
55963         In Turkish locales, getdate would fail to recognize keywords
55964         containing a lowercase "i".  The solution is not to rely on
55965         locale-sensitive case-conversion.
55966         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55967         (lookup_word): Use c_toupper in place of toupper.
55968         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55969         Reported by Vefa Bicakci <bicave@superonline.com> in
55970         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55971         * modules/getdate (Depends-on): Add c-ctype.
55972
55973 2008-08-02  Bruno Haible  <bruno@clisp.org>
55974
55975         * gnulib-tool (func_import): When updating or creating a .gitignore
55976         file, prepend each added line with a slash, and ignore leading slashes
55977         from the existing lines.
55978         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55979
55980 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55981
55982         Portability fix for GNU make 3.79.1.
55983         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55984         versions do not understand.
55985
55986 2008-08-01  Bruno Haible  <bruno@clisp.org>
55987
55988         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55989         * tests/test-isnanf.h (zero): New variable.
55990         (main): Avoid literal -0.0f.
55991         * tests/test-isnand.h (zero): New variable.
55992         (main): Avoid literal -0.0.
55993         * tests/test-isnanl.h (zero): New variable.
55994         (main): Avoid literal -0.0L.
55995         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55996         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55997         -0.0, -0.0L.
55998         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55999         (test_signbitd): Avoid literal -0.0.
56000         (test_signbitl): Avoid literal -0.0L.
56001         * tests/test-ceilf1.c (zero): New variable.
56002         (main): Avoid literal -0.0f.
56003         * tests/test-ceill.c (zero): New variable.
56004         (main): Avoid literal -0.0L.
56005         * tests/test-floorf1.c (zero): New variable.
56006         (main): Avoid literal -0.0f.
56007         * tests/test-floorl.c (zero): New variable.
56008         (main): Avoid literal -0.0L.
56009         * tests/test-roundf1.c (zero): New variable.
56010         (main): Avoid literal -0.0f.
56011         * tests/test-round1.c (zero): New variable.
56012         (main): Avoid literal -0.0.
56013         * tests/test-roundl.c (zero): New variable.
56014         (main): Avoid literal -0.0L.
56015         * tests/test-truncf1.c (zero): New variable.
56016         (main): Avoid literal -0.0f.
56017         * tests/test-trunc1.c (zero): New variable.
56018         (main): Avoid literal -0.0.
56019         * tests/test-truncl.c (zero): New variable.
56020         (main): Avoid literal -0.0L.
56021         * tests/test-frexp.c (zero): New variable.
56022         (main): Avoid literal -0.0.
56023         * tests/test-frexpl.c (zero): New variable.
56024         (main): Avoid literal -0.0L.
56025         * tests/test-ldexpl.c (zero): New variable.
56026         (main): Avoid literal -0.0L.
56027         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
56028         (zerod, zerol): New variables.
56029         (test_function): Avoid literals -0.0, -0.0L.
56030         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
56031         (zerod, zerol): New variables.
56032         (test_function): Avoid literals -0.0, -0.0L.
56033         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
56034         (zerod, zerol): New variables.
56035         (test_function): Avoid literals -0.0, -0.0L.
56036         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
56037         (zerod, zerol): New variables.
56038         (test_function): Avoid literals -0.0, -0.0L.
56039         * tests/test-strtod.c (zero): New variable.
56040         (main): Avoid literal -0.0.
56041         Reported by Jonathan C. Patschke <jp@centtech.com>.
56042
56043 2008-07-31  Jim Meyering  <meyering@redhat.com>
56044
56045         sha256.h: correct definition of SHA224_DIGEST_SIZE
56046         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
56047         Reported by Paulie Pena IV <paulie4@gmail.com>.
56048         Define as 224 / 8, rather than as a literal.
56049         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
56050         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
56051         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
56052
56053 2008-07-31  Bruno Haible  <bruno@clisp.org>
56054
56055         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
56056         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
56057         Reported by Jonathan Patschke <jp@centtech.com>.
56058
56059 2008-07-31  Bruno Haible  <bruno@clisp.org>
56060
56061         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
56062         Reported by Paolo Bonzini <bonzini@gnu.org>.
56063
56064 2008-07-30  Eric Blake  <ebb9@byu.net>
56065
56066         test-strtod: allow compilation without -lm
56067         * tests/test-strtod.c (main): Avoid link dependence on fabs.
56068         Reported by Dennis Clarke <blastwave@gmail.com>.
56069
56070 2008-07-28  Jim Meyering  <meyering@redhat.com>
56071
56072         bootstrap: work also when there are no .po files in po/
56073         * build-aux/bootstrap (update_po_files): Complete the change
56074         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
56075
56076 2008-07-27  Jim Meyering  <meyering@redhat.com>
56077
56078         * users.txt: Add zile.
56079
56080 2008-07-26  Ben Pfaff  <blp@gnu.org>
56081
56082         Add missing dependencies on new m4/exponent[fdl].m4 files.
56083         * modules/isnanf-nolibm: Add m4/exponentf.m4.
56084         * modules/isnand-nolibm: Add m4/exponentd.m4.
56085         * modules/isnanl-nolibm: Add m4/exponentl.m4.
56086         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
56087         m4/isnan[fdl].m4, because the macros actually used moved.
56088         Reported by Jim Meyering.
56089
56090 2008-07-14  Ben Pfaff  <blp@gnu.org>
56091
56092         Add isinf module.
56093         * lib/isinf.c: New file.
56094         * lib/math.in.h: Define isinf macro if we have decided to replace
56095         it.
56096         * m4/isinf.m4: New file.
56097         * m4/math_h.m4: Initialize and substitute variables for isinf
56098         module.
56099         * modules/isinf: New file.
56100         * modules/isinf-tests: New file.
56101         * modules/math: Add substitutions for new module.
56102         * tests/test-isinf.c: New file.
56103         * doc/posix-functions/isinf.texi: Mention new module.
56104         * MODULES.html.sh: Mention new module.
56105
56106 2008-07-14  Ben Pfaff  <blp@gnu.org>
56107
56108         Factor out some macros for use by additional modules.
56109         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
56110         exponentf.m4.
56111         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
56112         exponentd.m4.
56113         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
56114         file exponentl.m4.
56115         * m4/exponentf.m4: New file.
56116         * m4/exponentd.m4: New file.
56117         * m4/exponentl.m4: New file.
56118         * modules/isnanf: Use new file m4/exponentf.m4.
56119         * modules/isnand: Use new file m4/exponentd.m4.
56120         * modules/isnanl: Use new file m4/exponentl.m4.
56121
56122 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
56123
56124         mktime.c: normalize tp->tm_isdst value to -1/0/1.
56125         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
56126         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
56127         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
56128
56129         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
56130         readlink on platforms without PATH_MAX.
56131
56132 2008-07-21  Eric Blake  <ebb9@byu.net>
56133
56134         Warn, not fail, on stale version.
56135         * top/GNUmakefile (_curr-ver): Tone down previous patch.
56136
56137         Don't allow installation with stale devel version number.
56138         * top/GNUmakefile (_is-install-target): New macro.
56139         (_curr-ver): Forbid installation with stale version number.
56140
56141 2008-07-20  Bruno Haible  <bruno@clisp.org>
56142
56143         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
56144         TESTS_ENVIRONMENT.
56145         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
56146
56147 2008-07-20  Bruno Haible  <bruno@clisp.org>
56148
56149         * lib/c-stack.h (c_stack_action): Add documentation.
56150         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
56151
56152 2008-07-20  Bruno Haible  <bruno@clisp.org>
56153
56154         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
56155         * modules/readlink (License): Likewise.
56156
56157 2008-07-17  Eric Blake  <ebb9@byu.net>
56158
56159         * modules/c-stack (Link): Fix typo.
56160
56161         Make c-stack use libsigsegv, when available.
56162         * modules/c-stack (Depends-on): Add libsigsegv.
56163         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
56164         needed.
56165         * lib/c-stack.c (SIGSTKSZ): Define fallback.
56166         (segv_handler, overflow_handler, c_stack_action)
56167         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
56168         implementation when libsigsegv is available, but only when using
56169         the library is necessary.
56170         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
56171         comment, explaining why XSI check fails on Linux.
56172         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
56173         * tests/test-c-stack2.sh: Tweak skip message.
56174         * NEWS: Document new link-time requirements.
56175
56176 2008-07-16  Eric Blake  <ebb9@byu.net>
56177
56178         c-stack: Expose false positives when not using libsigsegv.
56179         * modules/c-stack-tests (Files): Expand test.
56180         * tests/test-c-stack.c (main): Add means to conditionally trigger
56181         non-overflow SIGSEGV.
56182         * tests/test-c-stack2.sh: New file.
56183
56184 2008-07-14  Bruno Haible  <bruno@clisp.org>
56185
56186         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
56187         Reported by Eric Blake.
56188
56189 2008-07-14  Sam Steingold  <sds@gnu.org>
56190             Bruno Haible  <bruno@clisp.org>
56191
56192         New module libsigsegv.
56193         * modules/libsigsegv: New file.
56194         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
56195         modifications.
56196         * MODULES.html.sh (Signal handling): New section.
56197
56198 2008-07-14  Bruno Haible  <bruno@clisp.org>
56199
56200         * modules/unictype/ctype-* (Description): Add the word "function".
56201         Improves the resulting doc in MODULES.html.
56202
56203 2008-07-12  Ben Pfaff  <blp@gnu.org>
56204
56205         Add longlong module.
56206         * modules/longlong: New file.
56207
56208 2008-07-12  Bruno Haible  <bruno@clisp.org>
56209
56210         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
56211         to empty.
56212
56213 2008-07-10  Ben Pfaff  <blp@gnu.org>
56214
56215         Add isnan module.
56216         * doc/posix-functions/isnan.texi: Mention new module.
56217         * lib/math.in.h: Define isnan macro if we have decided to replace
56218         it.
56219         * m4/isnan.m4: New file.
56220         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
56221         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
56222         also.
56223         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
56224         redundancy.
56225         * m4/math_h.m4: Initialize and substitute variables for isnan
56226         module.
56227         * modules/isnan: New file.
56228         * modules/isnan-tests: New file.
56229         * modules/math: Add substitutions for new module.
56230         * tests/test-isnan.c: New file.
56231         * MODULES.html.sh: Mention new module.
56232
56233 2008-07-10  Ben Pfaff  <blp@gnu.org>
56234
56235         Add isnanf module.
56236         * lib/isnanf.m4: New file.
56237         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
56238         (gl_HAVE_ISNANF_IN_LIBM): New macro.
56239         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
56240         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
56241         * modules/isnanf: New file.
56242         * modules/isnanf-tests: New file.
56243         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
56244         files.
56245         * tests/test-isnanf-nolibm.c: factored most of its contents into
56246         new file tests/test-isnanf.h.
56247         * tests/test-isnanf.h: New file.
56248         * tests/test-isnanf.c: New file.
56249         * MODULES.html.sh: Mention new module.
56250         * doc/glibc-functions/isnanf.texi: Mention new module.
56251
56252 2008-07-10  Ben Pfaff  <blp@gnu.org>
56253
56254         Add isnand module.
56255         * lib/isnand.h: New file.
56256         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
56257         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
56258         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
56259         functionality also.
56260         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
56261         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
56262         (gl_HAVE_ISNAND_IN_LIBM): New macro.
56263         * modules/isnand: New file.
56264         * modules/isnand-tests: New file.
56265         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
56266         files.
56267         * tests/test-isnand-nolibm.c: factored most of its contents into
56268         new file tests/test-isnand.h.
56269         * tests/test-isnand.h: New file.
56270         * tests/test-isnand.c: New file.
56271         * MODULES.html.sh: Mention new module.
56272
56273 2008-07-10  Ben Pfaff  <blp@gnu.org>
56274
56275         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
56276         * lib/isnand.h: Rename lib/isnand-nolibm.h.
56277         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
56278         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
56279         * modules/isnanf-nolibm: Update references to renamed files.
56280         * modules/isnand-nolibm: Likewise.
56281         * modules/isnanf-nolibm-tests: Likewise.
56282         * modules/isnand-nolibm-tests: Likewise.
56283         * lib/frexp.c: Likewise.
56284         * lib/isfinite.c: Likewise.
56285         * lib/signbitd.c: Likewise.
56286         * lib/signbitf.c: Likewise.
56287         * lib/vasnprintf.c: Likewise.
56288         * tests/test-ceilf1.c: Likewise.
56289         * tests/test-ceilf2.c: Likewise.
56290         * tests/test-floorf1.c: Likewise.
56291         * tests/test-floorf2.c: Likewise.
56292         * tests/test-frexp.c: Likewise.
56293         * tests/test-round1.c: Likewise.
56294         * tests/test-round2.c: Likewise.
56295         * tests/test-roundf1.c: Likewise.
56296         * tests/test-strtod.c: Likewise.
56297         * tests/test-trunc1.c: Likewise.
56298         * tests/test-trunc2.c: Likewise.
56299         * tests/test-truncf1.c: Likewise.
56300         * tests/test-truncf2.c: Likewise.
56301         * NEWS: Mention the renamed header files.
56302
56303 2008-07-11  Jim Meyering  <meyering@redhat.com>
56304
56305         vc-list-files: make the last-resort awk code more portable
56306         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
56307         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
56308         does not support it.
56309
56310 2008-07-10  Eric Blake  <ebb9@byu.net>
56311
56312         Work with tar's bootstrap.
56313         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
56314         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
56315         an m4 comment.
56316
56317 2008-07-09  Jim Meyering  <meyering@redhat.com>
56318
56319         posix-shell.m4: fix typo that made this test malfunction
56320         * m4/posix-shell.m4: Remove capitalization in variable name.
56321
56322 2008-07-08  Bruno Haible  <bruno@clisp.org>
56323
56324         * m4/onceonly.m4: Update comments.
56325         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56326
56327 2008-07-04  Jim Meyering  <meyering@redhat.com>
56328
56329         * users.txt: Add vc-dwim.
56330         (bison, coreutils): Use the gitweb URL.
56331
56332 2008-07-03  Jim Meyering  <meyering@redhat.com>
56333
56334         * users.txt: Add libffcall.  From Sam Steingold.
56335
56336 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
56337
56338         getdate.y: do not ignore TZ with relative day, month or year offset
56339         * lib/getdate.y (get_date): Move the tz-handling block to follow the
56340         relative-date-handling, since otherwise, the latter would clobber the
56341         sole output (an updated Start value) of the tz-handling block.
56342         * tests/test-getdate.c: Tests for the fix
56343
56344 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56345
56346         Recognize 'foo_LIBRARIES += libgnu.a'.
56347         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
56348         makefile snippet has already specified an installation location,
56349         also using '+='.
56350
56351 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
56352
56353         getdate.y: factor out common actions
56354         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
56355         Use them in place of open-coded actions.
56356
56357 2008-07-01  Simon Josefsson  <simon@josefsson.org>
56358
56359         Add self-test for getdate module.
56360         * modules/getdate-tests: New file.
56361         * tests/test-getdate.c: New file.
56362
56363 2008-06-29  Bruno Haible  <bruno@clisp.org>
56364
56365         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
56366         .gitignore.
56367         Reported by Sylvain Beucler <beuc@beuc.net>.
56368
56369 2008-06-29  Bruno Haible  <bruno@clisp.org>
56370
56371         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
56372         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
56373
56374 2008-06-29  Bruno Haible  <bruno@clisp.org>
56375
56376         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
56377         EXTRA_DIST.
56378         Reported by Sylvain Beucler <beuc@beuc.net>.
56379
56380 2008-06-26  Jim Meyering  <meyering@redhat.com>
56381
56382         make several modules depend on the "open" module
56383         This provides slightly increased consistency when opening-for-write
56384         the name of a non-directory spelled with a trailing slash.
56385         * modules/chdir-safer: Likewise.
56386         * modules/chown: Likewise.
56387         * modules/clean-temp: Likewise.
56388         * modules/copy-file: Likewise.
56389         * modules/fchdir: Likewise.
56390         * modules/fcntl-safer: Likewise.
56391         * modules/pipe: Likewise.
56392         * modules/utime: Likewise.
56393         Prompted by Eric Blake and Bruno Haible.
56394
56395 2008-06-24  Andreas Schwab  <schwab@suse.de>
56396
56397         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
56398         literals can be used as initializers for global variables.
56399
56400 2008-06-23  Eric Blake  <ebb9@byu.net>
56401
56402         Make gnulib-cache.m4 easier to diff.
56403         * gnulib-tool (func_import): Allow newlines when reading cached
56404         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
56405
56406 2008-06-23  Bruno Haible  <bruno@clisp.org>
56407
56408         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
56409         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
56410         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
56411         m4/signalblocking.m4.
56412         (gl_PREREQ_SIGACTION): Don't invoke it.
56413         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
56414         gl_PREREQ_SIG_HANDLER_H.
56415         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56416         Don't check for sigaction here.
56417
56418 2008-06-23  Bruno Haible  <bruno@clisp.org>
56419
56420         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
56421         (install_handlers): Don't set the SA_RESETHAND flag.
56422
56423 2008-06-23  Bruno Haible  <bruno@clisp.org>
56424
56425         * m4/sigaction.m4: Comment fixes.
56426         * lib/signal.in.h: Likewise.
56427
56428 2008-06-23  Eric Blake  <ebb9@byu.net>
56429
56430         Fix typo.
56431         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
56432
56433         Avoid SA_ namespace.
56434         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
56435         Reported by Ralf Wildenhues.
56436
56437         Avoid test failure due to SA_RESTORER.
56438         * tests/test-sigaction.c (SA_MASK): New macro.
56439         (main): Avoid failing due to extension flags being set.
56440         Reported by Jim Meyering.
56441
56442         Revert use of sig-handler.h in sigprocmask.c.
56443         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
56444         it requires the existence of struct sigaction.
56445         * lib/sigprocmask.c (handler_t): Restore typedef.
56446         (rpl_signal, old_handlers): Use local type.
56447
56448 2008-06-22  Bruno Haible  <bruno@clisp.org>
56449
56450         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
56451         conditionally.
56452         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56453
56454 2008-06-22  Bruno Haible  <bruno@clisp.org>
56455
56456         * doc/posix-functions/siginterrupt.texi: Move note.
56457
56458         * lib/signal.in.h (SA_RESTART): New macro.
56459         * lib/sigaction.c: Update comment.
56460
56461         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
56462
56463         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
56464         (gl_PREREQ_SIGPROCMASK): Invoke it.
56465         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
56466
56467         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
56468
56469         * lib/sigprocmask.c: Update a comment.
56470
56471 2008-06-21  Eric Blake  <ebb9@byu.net>
56472
56473         Use sigaction module rather than signal().
56474         * modules/c-stack (Depends-on): Add sigaction.
56475         * modules/fatal-signal (Depends-on): Likewise.
56476         * modules/nanosleep (Depends-on): Likewise.
56477         * modules/sigprocmask (Files): Add sig-handler.h.
56478         * modules/sigaction (Files): Likewise.
56479         * lib/sig-handler.h (get_handler): New file, suggested by Paul
56480         Eggert.
56481         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
56482         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
56483         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
56484         (init_fatal_signals): Likewise.
56485         * lib/nanosleep.c (rpl_nanosleep): Likewise.
56486         (siginterrupt): Delete fallback.
56487         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
56488         instead.
56489         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
56490         siginterrupt.
56491
56492         New module sigaction, for mingw.
56493         * modules/sigaction: New module...
56494         * modules/sigaction-tests: ...and its test.
56495         * m4/sigaction.m4: New file.
56496         * lib/sigaction.c: Likewise.
56497         * tests/test-sigaction.c: Likewise.
56498         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
56499         * modules/signal (Makefile.am): Likewise.
56500         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
56501         needed.
56502         * doc/posix-headers/signal.texi (signal.h): Mention provided
56503         types.
56504         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
56505         that sigaction is preferable.
56506         * doc/posix-functions/sigaction.texi (sigaction): Mention new
56507         module.
56508         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56509         sigaction.
56510
56511         Improve robustness of sigprocmask by overriding signal.
56512         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
56513         is in use.
56514         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
56515         (SIGKILL, SIGSTOP): Provide fallbacks.
56516         (rpl_signal): Implement.
56517         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
56518         signal can be called inside handlers.
56519
56520         Fix nanosleep module on mingw.
56521         * modules/nanosleep (Depends-on): Add sys_select.
56522         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
56523
56524         Fix licensing of sigprocmask.
56525         * modules/raise (License): Relicense as LGPL.
56526
56527 2008-06-21  Bruno Haible  <bruno@clisp.org>
56528
56529         * lib/propername.c (proper_name_utf8): Don't use the transliterated
56530         result if it contains question marks.
56531         Reported by Michael Geng <linux@michaelgeng.de>.
56532
56533 2008-06-19  Bruno Haible  <bruno@clisp.org>
56534
56535         Fix CVS-ism.
56536         * doc/gnulib.texi: Include updated-stamp.texi.
56537         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
56538         (updated-stamp.texi): New rule.
56539         (gnulib.info): Depend on it.
56540         * doc/.gitignore: Add updated-stamp.texi.
56541         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
56542
56543 2008-06-19  Bruno Haible  <bruno@clisp.org>
56544
56545         * doc/Makefile (gnulib.info): Update and simplify dependencies.
56546         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56547
56548 2008-06-19  Eric Blake  <ebb9@byu.net>
56549
56550         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
56551         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
56552         Reported by Stepan Kasal.
56553
56554 2008-06-18  Bruno Haible  <bruno@clisp.org>
56555
56556         * lib/fatal-signal.c (init_fatal_signals): Add comment.
56557         Reported by Eric Blake.
56558
56559 2008-06-18  Eric Blake  <ebb9@byu.net>
56560
56561         Work around cygwin 1.5.25 strsignal bug.
56562         * tests/test-strsignal.c: Allow for const char *.
56563         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
56564
56565 2008-06-18  Simon Josefsson  <simon@josefsson.org>
56566
56567         * users.txt: Update URL to article and add author/date
56568         information.
56569
56570 2008-06-17  Bruno Haible  <bruno@clisp.org>
56571
56572         New macro gl_DISABLE_THREADS.
56573         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
56574         if the user did not pass --enable-threads or --disable-threads option.
56575         (gl_DISABLE_THREADS): New macro.
56576         Reported by Eric Blake <ebb9@byu.net>.
56577
56578 2008-06-17  Bruno Haible  <bruno@clisp.org>
56579
56580         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
56581         when the macro ignores it.
56582         Based on a patch by Eric Blake <ebb9@byu.net>.
56583
56584 2008-06-17  Bruno Haible  <bruno@clisp.org>
56585
56586         * modules/tls (License): Change to LGPLv2+.
56587         Reported by Eric Blake.
56588
56589 2008-06-17  Eric Blake  <ebb9@byu.net>
56590
56591         Simplify c-stack prerequisites.
56592         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
56593         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
56594         no longer requires <ucontext.h> to exist.  Optimize setrlimit
56595         check.
56596         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
56597         <sys/resource.h>.
56598
56599         Move c-stack test into testsuite.
56600         * modules/c-stack-tests: New file.
56601         * lib/c-stack.c [DEBUG]: Move test program...
56602         * tests/test-c-stack.c: ...into this new file.  Skip rather than
56603         fail test if sigaltstack is lacking.
56604         * tests/test-c-stack.sh: New driver file.
56605
56606 2008-06-16  Eric Blake  <ebb9@byu.net>
56607
56608         Use raise module consistently.
56609         * modules/fatal-signal (Depends-on): Add raise.
56610         * modules/sigprocmask (Depends-on): Likewise.
56611         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
56612         * lib/sigprocmask.c (sigprocmask): Likewise.
56613         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56614         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
56615
56616         Fix compliance bug in sigpending.
56617         * lib/sigprocmask.c (sigpending): Return pending array via
56618         parameter, not return value.
56619
56620 2008-06-14  Eric Blake  <ebb9@byu.net>
56621
56622         Improve obstack-printf test code.
56623         * tests/test-obstack-printf.c (test_function): Fix comment, and
56624         simplify usage of obstack_* in macros.  Add a test for coverage.
56625         Reported by Bruno Haible.
56626
56627 2008-06-14  Bruno Haible  <bruno@clisp.org>
56628
56629         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
56630         array size as a constant, not as a const variable.
56631         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
56632         AC_USE_SYSTEM_EXTENSIONS.
56633         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
56634         Test whether the obstack_printf function actually exists.
56635         * modules/obstack-printf (Depends-on): Add extensions.
56636         (Include): Remove obstack.h.
56637         * modules/obstack-printf-posix (Depends-on): Add extensions.
56638         (Include): Remove obstack.h.
56639
56640 2008-06-13  Eric Blake  <ebb9@byu.net>
56641
56642         Add obstack-printf and obstack-printf-posix modules.
56643         * modules/obstack-printf: New file.
56644         * modules/obstack-printf-posix: Likewise.
56645         * MODULES.html.sh (Misc): Mention them.
56646         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
56647         Likewise.
56648         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
56649         Likewise.
56650         * modules/stdio (Makefile.am): Accomodate new modules.
56651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56652         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
56653         Declare.
56654         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
56655         functions.
56656         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
56657         (gl_REPLACE_OBSTACK_PRINTF): New macros
56658         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
56659         * tests/test-obstack-printf.c: New file.
56660         * modules/obstack-printf-tests: Likewise.
56661         * modules/obstack-printf-posix-tests: Likewise.
56662
56663 2008-06-11  Bruno Haible  <bruno@clisp.org>
56664
56665         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
56666         * lib/open.c: Include errno.h.
56667         (open): Fail when attempting to write to a file that has a trailing
56668         slash.
56669         * tests/test-open.c (main): Test against trailing slash bug.
56670         * doc/posix-functions/open.texi: Mention the trailing slash bug.
56671
56672 2008-06-10  Bruno Haible  <bruno@clisp.org>
56673
56674         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
56675         for $? to work inside the trap command, with various /bin/sh-s.
56676         * tests/test-vc-list-files-cvs.sh: Likewise.
56677
56678 2008-06-10  Bruno Haible  <bruno@clisp.org>
56679
56680         * lib/acl-internal.h: Don't include gettext.h here.
56681         * lib/set-mode-acl.c: Include gettext.h here.
56682         * lib/copy-acl.c: Likewise.
56683
56684 2008-06-10  Bruno Haible  <bruno@clisp.org>
56685
56686         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
56687         * lib/wait-process.c (wait_subprocess): Likewise.
56688         * lib/execute.h (execute): Add termsigp argument.
56689         * lib/execute.c (execute): Likewise.
56690         * lib/csharpcomp.c (compile_csharp_using_pnet,
56691         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
56692         * lib/csharpexec.c (execute_csharp_using_pnet,
56693         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
56694         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
56695         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
56696         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
56697         is_jikes_present): Update.
56698         * lib/javaexec.c (execute_java_class): Update.
56699         * lib/javaversion.c (execute_and_read_line): Update.
56700         * NEWS: Document the changes.
56701         Reported by Eric Blake.
56702
56703 2008-06-10  Eric Blake  <ebb9@byu.net>
56704
56705         Add missing include.
56706         * tests/test-strstr.c (includes): Add <signal.h>.
56707         * tests/test-strcasestr.c (includes): Likewise.
56708         * tests/test-memmem.c (includes): Likewise.
56709
56710 2008-06-10  Bruno Haible  <bruno@clisp.org>
56711
56712         * lib/wait-process.c (wait_subprocess): Add an assertion.
56713
56714 2008-06-10  Bruno Haible  <bruno@clisp.org>
56715
56716         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
56717
56718 2008-06-10  Bruno Haible  <bruno@clisp.org>
56719
56720         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
56721         using alarm().
56722         * tests/test-strcasestr.c (main): Likewise.
56723         * tests/test-strstr.c (main): Likewise.
56724
56725 2008-06-09  Bruno Haible  <bruno@clisp.org>
56726
56727         Work around the Solaris 10 ACE ACLs ABI change.
56728         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
56729         declare if ACL_NO_TRIVIAL is present.
56730         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
56731         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
56732         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
56733         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
56734         define if ACL_NO_TRIVIAL is present.
56735         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
56736         and use the current ABI.
56737         (file_has_acl): Use same #if condition as elsewhere.
56738         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
56739         in use, and use the current ABI.
56740         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
56741         Reported by Jim Meyering.
56742
56743 2008-06-09  Eric Blake  <ebb9@byu.net>
56744
56745         Work around environments that (stupidly) ignore SIGALRM.
56746         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
56747         before using alarm().
56748         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56749         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56750         Reported by Ian Beckwith <ianb@erislabs.net>.
56751
56752         Produce autobuild blurb earlier in log.
56753         * modules/autobuild (configure.ac-early): Move AB_INIT here.
56754
56755 2008-06-09  Jim Meyering  <meyering@redhat.com>
56756         and Ondřej Vašík  <ovasik@redhat.com>
56757
56758         utimens.c: correct kernel bug work-around
56759         Ondřej Vašík found that the invalid return value of 280 indicates
56760         failure, not success, and the kernel bug we're trying to work
56761         around affects not just the utimensat call, but also the fallback
56762         futimens call.
56763         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
56764         not success.
56765         [HAVE_FUTIMENS]: Use the same work-around, here.
56766
56767 2008-06-09  Jim Meyering  <meyering@redhat.com>
56768
56769         add more guards around definition of ACE_-related code
56770         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
56771         ALLOW and ACE_OWNER are also defined.
56772
56773 2008-06-08  Bruno Haible  <bruno@clisp.org>
56774
56775         * lib/acl-internal.h: Add me as co-author.
56776         * lib/file-has-acl.c: Likewise.
56777         * lib/set-mode-acl.c: Likewise.
56778         * lib/copy-acl.c: Likewise.
56779
56780 2008-06-08  Bruno Haible  <bruno@clisp.org>
56781
56782         Add support for AIX ACLs.
56783         * lib/acl-internal.h (acl_nontrivial): New declaration.
56784         * lib/file-has-acl.c (acl_nontrivial): New function.
56785         (file_has_acl): Add implementation using AIX 4 ACL API.
56786         * lib/set-mode-acl.c (qset_acl): Likewise.
56787         * lib/copy-acl.c (qcopy_acl): Likewise.
56788
56789 2008-06-08  Bruno Haible  <bruno@clisp.org>
56790
56791         Add support for HP-UX ACLs.
56792         * lib/acl-internal.h (acl_nontrivial): New declaration.
56793         * lib/file-has-acl.c (acl_nontrivial): New function.
56794         (file_has_acl): Add implementation using HP-UX 11 ACL API.
56795         * lib/set-mode-acl.c (qset_acl): Likewise.
56796         * lib/copy-acl.c (qcopy_acl): Likewise.
56797
56798 2008-06-08  Bruno Haible  <bruno@clisp.org>
56799
56800         Add support for Cygwin ACLs.
56801         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
56802         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
56803         the chmod_or_fchmod call.
56804         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
56805
56806 2008-06-08  Bruno Haible  <bruno@clisp.org>
56807
56808         Fix bug with setuid modes in Solaris 10+ code.
56809         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
56810         succeeded, when the mode contains some special bits.
56811
56812 2008-06-08  Bruno Haible  <bruno@clisp.org>
56813
56814         Add support for Solaris 7..10 ACLs.
56815         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
56816         declarations.
56817         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
56818         functions.
56819         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
56820         * lib/set-mode-acl.c (qset_acl): Likewise.
56821         * lib/copy-acl.c (qcopy_acl): Likewise.
56822
56823 2008-06-08  Bruno Haible  <bruno@clisp.org>
56824
56825         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
56826         declaration.
56827         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
56828         (acl_access_nontrivial): Remove MacOS X case.
56829         (file_has_acl): Use acl_extended_nontrivial.
56830         * lib/copy-acl.c (qcopy_acl): Likewise.
56831
56832 2008-06-08  Bruno Haible  <bruno@clisp.org>
56833
56834         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
56835
56836 2008-06-08  Jim Meyering  <meyering@redhat.com>
56837
56838         * modules/acl (Maintainer): Add Bruno Haible.
56839
56840 2008-06-07  Bruno Haible  <bruno@clisp.org>
56841
56842         Improve support for Tru64 ACLs.
56843         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
56844         ACL on OSF/1.
56845
56846 2008-06-07  Bruno Haible  <bruno@clisp.org>
56847
56848         Add support for MacOS X ACLs.
56849         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
56850         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
56851         * lib/set-mode-acl.c (qset_acl): Likewise.
56852         * lib/copy-acl.c (qcopy_acl): Likewise.
56853
56854 2008-06-07  Bruno Haible  <bruno@clisp.org>
56855
56856         Fix memory leak introduced on 2008-05-22.
56857         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
56858         use.
56859
56860 2008-06-07  Bruno Haible  <bruno@clisp.org>
56861
56862         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
56863         to construct an empty ACL.
56864
56865 2008-06-07  Bruno Haible  <bruno@clisp.org>
56866
56867         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
56868         precisely.
56869         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
56870
56871 2008-06-07  Bruno Haible  <bruno@clisp.org>
56872
56873         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
56874         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
56875
56876 2008-06-07  Bruno Haible  <bruno@clisp.org>
56877
56878         * doc/posix-functions/_setjmp.texi: Explain the use of this function
56879         regardless of POSIX.
56880         * doc/posix-functions/_longjmp.texi: Likewise.
56881         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
56882         SystemV platform in this case.
56883
56884 2008-06-06  Eric Blake  <ebb9@byu.net>
56885
56886         Document abort() bugs.
56887         * doc/posix-functions/abort.texi (abort): Mention anomalies.
56888
56889         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
56890         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
56891         sigsetjmp.
56892         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
56893         siglongjmp, but only as a macro.
56894         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
56895         is obsolete.
56896         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
56897
56898         Tweak documentation to cover cygwin argz bugs.
56899         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
56900         argz bug fix; no code change needed since no cygwin releases
56901         occurred between the last fix and the bug being tested.
56902         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
56903         module and recently fixed cygwin bugs.
56904         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
56905         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
56906         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
56907         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
56908         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
56909         Likewise.
56910         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
56911         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
56912         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
56913         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
56914         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
56915         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
56916         Likewise.
56917
56918         Avoid gcc warning on cygwin.
56919         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
56920         !ACL_NO_TRIVIAL]: Avoid unused variable.
56921
56922 2008-06-05  Eric Blake  <ebb9@byu.net>
56923
56924         Be tolerant of UNKNOWN version in gnulib-tool test dir.
56925         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
56926         git-version-gen fails to come up with a version.
56927         Reported by Simon Josefsson.
56928
56929 2008-06-05  Jim Meyering  <meyering@redhat.com>
56930             Paul Eggert  <eggert@cs.ucla.edu>
56931
56932         utimens.c: work around a probable Linux kernel bug
56933         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
56934         appears to be a kernel bug that causes utimensat to return 280
56935         instead of 0, indicating success.
56936
56937 2008-06-04  Bruno Haible  <bruno@clisp.org>
56938
56939         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
56940         2008-06-01 commit.
56941
56942 2008-06-04  Bruno Haible  <bruno@clisp.org>
56943
56944         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56945         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56946         (file_has_acl): Use it. Save errno afterwards.
56947         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56948
56949 2008-06-03  Bruno Haible  <bruno@clisp.org>
56950
56951         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56952         draft code. Simplify #ifs.
56953         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56954         Put Solaris code after POSIX-draft code. Fix comments regarding
56955         Solaris 10, HP-UX. Mention Cygwin.
56956         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56957
56958 2008-06-03  Eric Blake  <ebb9@byu.net>
56959
56960         Provide fallback for older kernels.
56961         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56962         Provide runtime fallback if kernel lacks support.
56963         Reported by Mike Frysinger.
56964
56965 2008-06-02  Bruno Haible  <bruno@clisp.org>
56966
56967         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56968         it exists.
56969
56970 2008-06-02  Bruno Haible  <bruno@clisp.org>
56971
56972         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56973         * lib/copy-acl.c (qcopy_acl): Update comment.
56974
56975 2008-06-02  Bruno Haible  <bruno@clisp.org>
56976
56977         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56978         like ACL APIs.
56979
56980 2008-06-02  Bruno Haible  <bruno@clisp.org>
56981
56982         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56983         * tests/test-set-mode-acl.sh: Likewise.
56984         * tests/test-copy-acl.sh: Likewise.
56985         * tests/test-copy-file.sh: Likewise.
56986
56987 2008-06-02  Bruno Haible  <bruno@clisp.org>
56988
56989         * tests/test-file-has-acl.sh: Remove unused code.
56990
56991 2008-06-01  Bruno Haible  <bruno@clisp.org>
56992
56993         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56994         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56995         messages.
56996         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56997
56998 2008-06-01  Bruno Haible  <bruno@clisp.org>
56999
57000         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
57001         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
57002         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
57003         APIs.
57004         * modules/acl-tests (configure.ac): Remove tests now contained in
57005         m4/acl.m4.
57006
57007 2008-06-02  Jim Meyering  <meyering@redhat.com>
57008
57009         announce-gen: use a better key-server host name
57010         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
57011         it may be more consistently reliable.  Suggested by Werner Koch
57012         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
57013
57014 2008-06-01  Bruno Haible  <bruno@clisp.org>
57015
57016         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
57017         Reported by Voroskoi Andras <voroskoi@gmail.com>.
57018
57019 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
57020
57021         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
57022
57023 2008-06-01  Bruno Haible  <bruno@clisp.org>
57024
57025         New ACL tests.
57026         * tests/test-file-has-acl.sh: New file.
57027         * tests/test-file-has-acl.c: New file.
57028         * tests/test-set-mode-acl.sh: New file.
57029         * tests/test-set-mode-acl.c: New file.
57030         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
57031         * tests/test-copy-acl.c: New file.
57032         * modules/acl-tests: New file, based on modules/copy-file-tests.
57033         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
57034         (Depends-on): Add acl-tests.
57035         (configure.ac): Remove checks.
57036         (Makefile.am): Don't create test-sameacls program here any more.
57037
57038 2008-06-01  Bruno Haible  <bruno@clisp.org>
57039
57040         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
57041         * tests/test-sameacls.c: Include progname.h.
57042         (main): Invoke set_program_name. Portability fixes for MacOS X,
57043         Solaris, HP-UX.
57044
57045 2008-06-01  Bruno Haible  <bruno@clisp.org>
57046
57047         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
57048         function.
57049         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
57050
57051 2008-06-01  Bruno Haible  <bruno@clisp.org>
57052
57053         * modules/rpmatch (Depends-on): Add strdup.
57054
57055 2008-06-01  Bruno Haible  <bruno@clisp.org>
57056
57057         * lib/pipe.c: Include unistd-safer.h.
57058         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
57059         * modules/pipe (Depends-on): Add unistd-safer.
57060
57061 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57062
57063         * modules/autobuild (configure.ac): Call AB_INIT.
57064
57065 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57066
57067         * tests/test-getaddrinfo.c: Don't print debug messages by default.
57068         Suggested by Bruno Haible <bruno@clisp.org>.
57069
57070 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57071
57072         * tests/test-base64.c: Cast size_t to unsigned long when invoking
57073         printf.  Use %lu instead of %d.  Reported by Bruno Haible
57074         <bruno@clisp.org>.
57075
57076 2008-05-29  Eric Blake  <ebb9@byu.net>
57077
57078         Prefer new POSIX 200x interfaces over futimesat.
57079         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
57080         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
57081         when available.
57082         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
57083
57084 2008-05-28  Bruno Haible  <bruno@clisp.org>
57085
57086         * modules/stpcpy (License): Change to LGPLv2+.
57087         Requested by David Lutterkort <dlutter@redhat.com>.
57088
57089 2008-05-27  Bruno Haible  <bruno@clisp.org>
57090
57091         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
57092         current mingw.
57093         Reported by Jose E. Marchesi <jemarch@gnu.org>.
57094
57095 2008-05-27  Bruno Haible  <bruno@clisp.org>
57096
57097         * modules/iconv_open (Link): New section, from module 'iconv'.
57098         * modules/striconv (Link): Likewise.
57099         * modules/striconveh (Link): Likewise.
57100         * modules/xstriconv (Link): Likewise.
57101         * modules/unicodeio (Link): Likewise.
57102         * modules/propername (Link): Likewise.
57103         Reported by Jim Meyering.
57104
57105 2008-05-26  Jim Meyering  <meyering@redhat.com>
57106
57107         sha256: do not artificially restrict buffer length to be < 2^32
57108         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
57109         uint32_t to size_t.
57110         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
57111         to match.
57112
57113         avoid unaligned access errors, e.g., on sparc
57114         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
57115         direct access through a possibly-unaligned uint64* pointer.
57116         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
57117         direct access through a possibly-unaligned uint32* pointer.
57118         Prompted by this patch from Tom "spot" Callaway:
57119         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
57120
57121         sha512.c: fix typo in comment
57122         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
57123
57124 2008-05-25  Bruno Haible  <bruno@clisp.org>
57125
57126         * lib/set-mode-acl.c: Renamed from lib/acl.c.
57127         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
57128         (Makefile.am): Update lib_SOURCES.
57129
57130 2008-05-25  Bruno Haible  <bruno@clisp.org>
57131
57132         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
57133
57134 2008-05-25  Jim Meyering  <meyering@redhat.com>
57135
57136         useless-if-before-free: freed expr may have white-space differences
57137         * build-aux/useless-if-before-free: Recognize cases in which the
57138         freed expression differs from the tested one in embedded white
57139         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
57140         $1 was used, so we can't make any regexp shy.  Improved tests now
57141         detect this.
57142
57143         useless-if-before-free: accept white space in the expression.
57144         * build-aux/useless-if-before-free: For now, any white space
57145         in the expression must be identical in the free argument.
57146
57147         useless-if-before-free: efficiency tweak
57148         * build-aux/useless-if-before-free: Make the expression-matching
57149         regexp "shy".
57150         Make the *outer* regexp shy, not the expr-matching one.
57151
57152         update code-in-comment to accept cast of free arg
57153         * build-aux/useless-if-before-free: Update regexp.
57154
57155 2008-05-25  Bruno Haible  <bruno@clisp.org>
57156
57157         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
57158         * modules/copy-file-tests (Files, Makefile.am): Update.
57159         * tests/test-copy-file.c (func_test_copy): Update.
57160
57161 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
57162
57163         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
57164
57165 2008-05-23  Bruno Haible  <bruno@clisp.org>
57166
57167         Improve support for ACLs on OSF/1.
57168         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
57169         Remove fallback for unknown flavors of ACLs.
57170
57171 2008-05-22  Bruno Haible  <bruno@clisp.org>
57172
57173         Add support for ACLs on OSF/1.
57174         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
57175         replacements.
57176         (acl_free_text): New macro fallback.
57177         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
57178         acl_free.
57179         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
57180         acl_free_text function. Require AC_C_INLINE.
57181
57182 2008-05-22  Bruno Haible  <bruno@clisp.org>
57183
57184         Make copy_acl work on MacOS X 10.5.
57185         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
57186         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
57187         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
57188         If MODE_INSIDE_ACL, don't assume that every system has the same text
57189         representation for ACLs as FreeBSD.
57190         * lib/copy-acl.c (copy_acl): Add support for platforms with
57191         !MODE_INSIDE_ACL.
57192         * lib/file-has-acl.c (file_has_acl): Likewise.
57193         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
57194         FreeBSD, MacOS X, or IRIX, respectively.
57195
57196 2008-05-22  Bruno Haible  <bruno@clisp.org>
57197
57198         * lib/acl.h: Don't include <sys/acl.h>.
57199         (GETACLCNT): Move fallback to lib/acl-internal.h.
57200         * lib/acl-internal.h: Include <sys/acl.h> here.
57201         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
57202
57203 2008-05-22  Bruno Haible  <bruno@clisp.org>
57204
57205         Split off copy_acl function to separate file.
57206         * lib/copy-acl.c: New file, extracted from lib/acl.c.
57207         * lib/acl.c (copy_acl): Moved function to separate file.
57208         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
57209         * modules/acl (Files): Add lib/copy-acl.c.
57210         (Makefiles.am): Augment lib_SOURCES.
57211
57212 2008-05-22  Bruno Haible  <bruno@clisp.org>
57213
57214         * modules/copy-file-tests: New file.
57215         * tests/test-copy-file.sh: New file.
57216         * tests/test-copy-file.c: New file.
57217         * tests/test-copy-file-sameacls.c: New file.
57218
57219 2008-05-22  Eric Blake  <ebb9@byu.net>
57220
57221         Avoid gcc warning.
57222         * tests/test-memcmp.c (main): Pass NULL indirectly.
57223
57224 2008-05-21  Bruno Haible  <bruno@clisp.org>
57225
57226         Add reference doc about ACLs.
57227         * doc/acl-resources.txt: New file.
57228         * doc/acl-cygwin.txt: New file.
57229
57230 2008-05-21  Bruno Haible  <bruno@clisp.org>
57231
57232         Avoid one more warning from gcc.
57233         * lib/vasnprintf.c (IF_LINT): Update comments.
57234         (VASNPRINTF): Use it also for the 'prefix' array initializer.
57235
57236 2008-05-21  Jim Meyering  <meyering@redhat.com>
57237
57238         avoid a warning from gcc
57239         * lib/vasnprintf.c (IF_LINT): Define.
57240         (scale10_round_decimal_long_double):
57241         Use it to avoid a "may be used uninitialized" warning.
57242         (scale10_round_decimal_double): Likewise.
57243
57244 2008-05-21  Simon Josefsson  <simon@josefsson.org>
57245
57246         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
57247         declared.
57248
57249 2008-05-20  Bruno Haible  <bruno@clisp.org>
57250
57251         * tests/test-memcmp.c (main): Test also the sign of the result. Test
57252         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
57253
57254 2008-05-20  Simon Josefsson  <simon@josefsson.org>
57255
57256         * modules/memcmp-tests: New file.
57257         * tests/test-memcmp.c: New file.
57258
57259 2008-05-19  Bruno Haible  <bruno@clisp.org>
57260
57261         * modules/propername (Notice, configure.ac): Put quoted "..." into
57262         --keyword option.
57263         * lib/propername.h: Update comments accordingly.
57264         Reported by Eric Blake.
57265
57266 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
57267
57268         * modules/getpass-gnu (Depends-on): Add fseeko.
57269
57270 2008-05-19  Simon Josefsson  <simon@josefsson.org>
57271
57272         * modules/base64-tests: New file.
57273
57274 2008-05-19  Bo Borgerson <gigabo@gmail.com>
57275
57276         * lib/base64.c (base64_decode_ctx): If a decode context structure
57277         was passed in use it to ignore newlines.  If a context structure
57278         was _not_ passed in, continue to treat newlines as garbage (this
57279         is the historical behavior).  Formerly base64_decode.
57280         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
57281         takes a decode context structure.
57282         * lib/base64.h (base64_decode): Macro for four-argument calls.
57283         (base64_decode_alloc): Likewise.
57284         * lib/base64.c (base64_decode_ctx): If a decode context structure
57285         was passed in use it to ignore newlines.  If a context structure
57286         was _not_ passed in, continue to treat newlines as garbage (this
57287         is the historical behavior).  Formerly base64_decode.
57288         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
57289         takes a decode context structure.
57290         * lib/base64.h (base64_decode): Macro for four-argument calls.
57291         (base64_decode_alloc): Likewise.
57292
57293 2008-05-19  Jim Meyering  <meyering@redhat.com>
57294
57295         avoid a warning from gcc
57296         * lib/trim.c (IF_LINT): Define.
57297         (trim2): Use it to avoid a "may be used uninitialized" warning.
57298
57299         Fix doc typo.
57300         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
57301
57302 2008-05-19  Bruno Haible  <bruno@clisp.org>
57303
57304         * doc/glibc-functions/getpass.texi: Document limits of other
57305         implementations.
57306
57307 2008-05-19  Simon Josefsson  <simon@josefsson.org>
57308             Bruno Haible <bruno@clisp.org>
57309
57310         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
57311
57312 2008-05-18  Bruno Haible  <bruno@clisp.org>
57313
57314         * modules/propername: New file, from GNU gettext.
57315         * lib/propername.h: New file, from GNU gettext.
57316         * lib/propername.c: New file, from GNU gettext.
57317         * MODULES.html.sh (Internationalization functions): Add propername.
57318
57319 2008-05-16  Jim Meyering  <meyering@redhat.com>
57320             Bruno Haible  <bruno@clisp.org>
57321
57322         Avoid some warnings from "gcc -Wshadow".
57323         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
57324
57325 2008-05-15  Eric Blake  <ebb9@byu.net>
57326
57327         Extend previous patch to cygwin 1.7.0.
57328         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
57329         fast implementation in cygwin >= 1.7.0.
57330         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57331         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57332
57333 2008-05-15  Bruno Haible  <bruno@clisp.org>
57334
57335         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
57336         implementation in glibc >= 2.9.
57337         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57338         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57339
57340 2008-05-15  Bruno Haible  <bruno@clisp.org>
57341
57342         * MODULES.html.sh (Internationalization functions): Remove linebreak.
57343         (Unicode string functions): Add unilbrk/*.
57344         Reported by Karl Berry.
57345
57346 2008-05-15  Eric Blake  <ebb9@byu.net>
57347
57348         Fix violation of <stdbool.h> replacement in regex.
57349         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
57350         * lib/regexec.c (re_search_internal): Likewise.
57351         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
57352
57353 2008-05-15  Jim Meyering  <meyering@redhat.com>
57354
57355         avoid distracting test output when git or cvs is not found
57356         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
57357         * tests/test-vc-list-files-git.sh: Likewise.
57358
57359 2008-05-15  Eric Blake  <ebb9@byu.net>
57360
57361         Glibc finally accepted the memmem speedup code, bugzilla #5514.
57362         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
57363         glibc version.
57364         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
57365         * doc/posix-functions/strstr.texi (strstr): Likewise.
57366         * lib/str-two-way.h (MAX): Sychronize with glibc.
57367
57368 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
57369
57370         * lib/regcomp.c (optimize_utf8): Add a note on why we test
57371         opr.ctx_type.
57372         (calc_first): Initialize constraint field.
57373         (duplicate_node_closure): Use it instead of special casing ANCHORS.
57374         Fix grammar.
57375         (duplicate_node): Merge constraint field for all node types.
57376         (calc_eclosure_iter): Look at constraint field for all node types.
57377         * lib/regex_internal.c (create_cd_newstate): Don't look at
57378         opr.ctx_type.
57379
57380 2008-05-14  Bruno Haible  <bruno@clisp.org>
57381
57382         Help GCC to do better code generation.
57383         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
57384         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
57385         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
57386         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
57387         Declare with attribute 'malloc' if supported.
57388
57389 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
57390
57391         use "echo STR|wc -c" rather than unportable "expr length STR"
57392         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
57393         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
57394
57395 2008-05-14  Jim Meyering  <meyering@redhat.com>
57396
57397         use dd ibs=$n count=1 ... rather than less-portable head -c$n
57398         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
57399         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
57400         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
57401         via Collin Lasse.
57402
57403 2008-05-14  Eric Blake  <ebb9@byu.net>
57404
57405         Avoid quadratic growth in gl_LIBSOURCES.
57406         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
57407         Suggested by Bruno Haible.
57408
57409         Test xmemdup0.
57410         * modules/xmemdup0-tests: New file.
57411         * tests/test-xmemdup0.c: Likewise.
57412
57413 2008-05-13  Eric Blake  <ebb9@byu.net>
57414
57415         Split xmemdup0 into its own module.
57416         * modules/xmemdup0: New file.
57417         * lib/xmemdup0.h: Likewise.
57418         * lib/xmemdup0.c: Likewise.
57419         * MODULES.html.sh (Memory management functions): Add xmemdup0.
57420         * lib/xalloc.h (xmemdup0): Remove.
57421         * lib/xmalloc.c (xmemdup0): Likewise.
57422
57423 2008-05-13  Eric Blake  <ebb9@byu.net>
57424             Bruno Haible  <bruno@clisp.org>
57425
57426         Reduce number of forks required during autoconf.
57427         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
57428         and gl_LIBSOURCES_DIR.
57429         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
57430         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
57431         m4_syscmd per file.
57432         <m4_foreach_w>: Move...
57433         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
57434
57435 2008-05-13  Eric Blake  <ebb9@byu.net>
57436
57437         * gnulib-tool: Fix various comment typos.
57438
57439 2008-05-12  Bruno Haible  <bruno@clisp.org>
57440
57441         Tailor the linebreaking algorithm.
57442         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
57443
57444 2008-05-12  Bruno Haible  <bruno@clisp.org>
57445
57446         Update to Unicode 5.0.0.
57447         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
57448         LBP_JV, LBP_JT. Redistribute values.
57449         (unilbrk_table): Change size.
57450         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
57451         Unicode TR#14 rev. 22.
57452         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
57453         LBP_JV, LBP_JT. Redistribute values.
57454         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
57455         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
57456         Update.
57457         * lib/unilbrk/lbrkprop1.h: Regenerated.
57458         * lib/unilbrk/lbrkprop2.h: Regenerated.
57459         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
57460         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
57461         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
57462         Likewise.
57463         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
57464         Likewise.
57465         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
57466         result.
57467         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
57468         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
57469         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
57470         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
57471         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
57472         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
57473
57474 2008-05-11  Bruno Haible  <bruno@clisp.org>
57475
57476         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
57477
57478 2008-05-11  Bruno Haible  <bruno@clisp.org>
57479
57480         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
57481         * modules/unilbrk/gen-lbrk: New file.
57482
57483 2008-05-11  Bruno Haible  <bruno@clisp.org>
57484
57485         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
57486         * m4/sha512.m4 (gl_SHA512): Likewise.
57487
57488 2008-05-11  Jim Meyering  <meyering@redhat.com>
57489
57490         New modules: crypto/sha256, crypto/sha512 (from coreutils)
57491         * modules/crypto/sha256: New file.
57492         * modules/crypto/sha512: Likewise.
57493         * lib/sha256.c: Likewise.
57494         * lib/sha256.h: Likewise.
57495         * lib/sha512.c: Likewise.
57496         * lib/sha512.h: Likewise.
57497         * lib/u64.h: Likewise.
57498         * m4/sha256.m4: Likewise.
57499         * m4/sha512.m4: Likewise.
57500         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
57501
57502 2008-05-10  Bruno Haible  <bruno@clisp.org>
57503
57504         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
57505         (Input/Output <stdio.h>): Add xprintf.
57506         (Signal handling <signal.h>): Add strsignal.
57507         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
57508         (Core language properties): Add func.
57509         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
57510         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
57511         strings.
57512         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
57513         (Input/output): New section.
57514         (File system functions): Add openat-die, stat-macros.
57515         (Networking functions): Add sockets.
57516         (Unicode string functions): Add unictype/*.
57517         (Support for building libraries and executables): Add gperf.
57518         (Support for building documentation): Add agpl-3.0.
57519         (Misc): Add nocrash.
57520
57521 2008-05-10  Bruno Haible  <bruno@clisp.org>
57522
57523         * modules/unictype/gen-ctype: New file.
57524
57525 2008-05-10  Jim Meyering  <meyering@redhat.com>
57526
57527         Make chdir-safer.c more efficient on a system with no symlinks.
57528         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
57529         also if ELOOP is zero.  Suggested by Bruno Haible.
57530
57531         Make chdir-safer.c slightly safer.
57532         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
57533         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
57534
57535         Avoid compile failure on systems without ELOOP (like mingw).
57536         * lib/chdir-safer.c (ELOOP): Define if not already defined.
57537         Reported by Bruno Haible.
57538
57539 2008-05-10  Bruno Haible  <bruno@clisp.org>
57540
57541         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
57542         (is_utf8_encoding): Use a case-insensitive comparison.
57543         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
57544         streq.
57545
57546 2008-05-10  Bruno Haible  <bruno@clisp.org>
57547
57548         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
57549         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
57550         * lib/unilbrk/ulc-common.h (iconv_string_length,
57551         iconv_string_keeping_offsets): Remove declarations.
57552         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
57553         Don't include <iconv.h>, streq.h, xsize.h.
57554         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
57555         conversion.
57556         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
57557         <iconv.h>, streq.h, xsize.h.
57558         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
57559         conversion.
57560         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
57561         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
57562         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
57563         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
57564
57565 2008-05-10  Bruno Haible  <bruno@clisp.org>
57566
57567         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
57568         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
57569
57570         * modules/unilbrk/u32-width-linebreaks-tests: New file.
57571         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
57572
57573         * modules/unilbrk/u16-width-linebreaks-tests: New file.
57574         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
57575
57576         * modules/unilbrk/u8-width-linebreaks-tests: New file.
57577         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
57578
57579         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
57580         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
57581
57582         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
57583         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
57584
57585         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
57586         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
57587
57588         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
57589         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
57590
57591 2008-05-10  Bruno Haible  <bruno@clisp.org>
57592
57593         Split up 'linebreak' module.
57594         * lib/unilbrk.h: New file, based on lib/linebreak.h.
57595         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
57596         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
57597         modifications.
57598         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
57599         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
57600         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
57601         lib/linebreak.c.
57602         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
57603         lib/linebreak.c.
57604         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
57605         lib/linebreak.c.
57606         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
57607         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
57608         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
57609         lib/linebreak.c.
57610         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
57611         lib/linebreak.c.
57612         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
57613         lib/linebreak.c.
57614         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
57615         lib/linebreak.c.
57616         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
57617         lib/linebreak.c.
57618         * modules/unilbrk/base: New file.
57619         * modules/unilbrk/tables: New file.
57620         * modules/unilbrk/u8-possible-linebreaks: New file.
57621         * modules/unilbrk/u16-possible-linebreaks: New file.
57622         * modules/unilbrk/u32-possible-linebreaks: New file.
57623         * modules/unilbrk/ulc-common: New file.
57624         * modules/unilbrk/ulc-possible-linebreaks: New file.
57625         * modules/unilbrk/u8-width-linebreaks: New file.
57626         * modules/unilbrk/u16-width-linebreaks: New file.
57627         * modules/unilbrk/u32-width-linebreaks: New file.
57628         * modules/unilbrk/ulc-width-linebreaks: New file.
57629         * lib/linebreak.h: Remove file.
57630         * lib/linebreak.c: Remove file.
57631         * m4/linebreak.m4: Remove file.
57632         * modules/linebreak: Remove file.
57633         * NEWS: Mention the changes.
57634
57635 2008-05-09  Eric Blake  <ebb9@byu.net>
57636
57637         Add xmemdup0.
57638         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
57639         implementation.
57640         * lib/xmalloc.c (xmemdup0): New C implementation.
57641
57642 2008-05-08  Bruno Haible  <bruno@clisp.org>
57643
57644         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
57645
57646 2008-05-07  Eric Blake  <ebb9@byu.net>
57647
57648         Support cross-compilation of <wctype.h>.
57649         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
57650         AC_CACHE_CHECK.
57651
57652 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
57653
57654         * build-aux/vc-list-files: Add support for bzr.
57655
57656 2008-05-03  Jim Meyering  <meyering@redhat.com>
57657
57658         avoid failed assertion with tight malloc
57659         * tests/test-getndelim2.c: Correct an off-by-one assertion.
57660
57661 2008-05-03  Simon Josefsson  <simon@josefsson.org>
57662
57663         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
57664         are needed from arpa/inet.h.
57665         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
57666         Reported by Bruno Haible.
57667
57668 2008-05-02  Jim Meyering  <meyering@redhat.com>
57669
57670         avoid compilation error on FreeBSD 6
57671         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
57672
57673 2008-05-01  Jim Meyering  <meyering@redhat.com>
57674
57675         useless-if-before-free: correct --help's exit status description
57676         * build-aux/useless-if-before-free (usage): Like grep, exit 0
57677         for one or more matches, etc.  Reported by Bruno Haible.
57678
57679         vc-list-files: make the stand-alone gnulib test work
57680         * modules/vc-list-files-tests (configure.ac):
57681         Define and AC_SUBST abs_aux_dir.
57682         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
57683         $(abs_top_srcdir) to each script and having each of them
57684         duplicate the work of setting PATH, set PATH here, using
57685         the new variable, abs_aux_dir instead.
57686         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
57687         * tests/test-vc-list-files-git.sh: Likewise.
57688         Reported by Bruno Haible.
57689
57690 2008-05-01  Bruno Haible  <bruno@clisp.org>
57691
57692         * lib/getndelim2.c (getndelim2): Fix newsize computation during
57693         reallocation. Rename 'done' to 'found_delimiter'.
57694
57695 2008-05-01  Jim Meyering  <meyering@redhat.com>
57696
57697         vc-list-files: accommodate /bin/sh like the one from Solaris 10
57698         * build-aux/vc-list-files: Use `...`, not $(...).
57699
57700 2008-04-30  Jim Meyering  <meyering@redhat.com>
57701
57702         add tests for vc-list-files
57703         * modules/vc-list-files-tests: New module.
57704         * tests/test-vc-list-files-cvs.sh: New file.
57705         * tests/test-vc-list-files-git.sh: New file.
57706
57707         avoid a warning from gcc
57708         * lib/getndelim2.c (IF_LINT): Define.
57709         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
57710
57711         vc-list-files: work properly with build-aux/cvsu, too
57712         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
57713         to all cvs-based clauses.
57714
57715         vc-list-files: work properly in the CVS+awk case, too
57716         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
57717
57718         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
57719         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
57720         take more than one file argument, so .  Add quotes, just in case $dir
57721         ever contains a shell meta-character.  Prompted by Soren Hansen in
57722         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
57723
57724 2008-04-29  Eric Blake  <ebb9@byu.net>
57725
57726         Optimize getndelim2 to use block operations when possible.
57727         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
57728         freadseek, and memchr2.
57729         * lib/getndelim2.c (getndelim2): Use them for block reads.
57730
57731 2008-04-29  Bruno Haible  <bruno@clisp.org>
57732
57733         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
57734         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57735         * modules/inet_ntop (Depends-on): Add extensions.
57736         * modules/inet_pton (Depends-on): Likewise.
57737         Reported by Simon Josefsson.
57738
57739 2008-04-29  Jim Meyering  <meyering@redhat.com>
57740
57741         When the is more than one match in a block, match all of them.
57742         * build-aux/useless-if-before-free: Iterate through each block
57743         until there are no more matches.
57744
57745         Fix broken useless-if-before-free script.
57746         * build-aux/useless-if-before-free: Fix typo: missing "?" after
57747         the expression to match cast of argument to free-like function.
57748
57749 2008-04-29  Eric Blake  <ebb9@byu.net>
57750
57751         Use new header.
57752         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
57753
57754 2008-04-29  Jim Meyering  <meyering@redhat.com>
57755
57756         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
57757         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
57758         by gnulib to exist and to declare e.g., inet_ntop.
57759         Don't include "inet_ntop.h", now removed.
57760
57761         * m4/arpa_inet_h.m4: Remove trailing blanks.
57762
57763 2008-04-29  Eric Blake  <ebb9@byu.net>
57764
57765         Silence valgrind on safe reads beyond potential array bounds.
57766         * lib/rawmemchr.valgrind: New file.
57767         * lib/strchrnul.valgrind: Likewise.
57768         * modules/rawmemchr (Files): Distribute new file.
57769         * modules/strchrnul (Files): Likewise.
57770         Suggested by Bruno Haible.
57771
57772 2008-04-29  Bruno Haible  <bruno@clisp.org>
57773
57774         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
57775         (inet_ntop, inet_pton): Change portability warning's wording.
57776         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
57777         Invoke gl_CHECK_NEXT_HEADERS.
57778         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
57779         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
57780         set ARPA_INET_H.
57781         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57782         * modules/arpa_inet (Description): No longer only for systems that
57783         lack it.
57784         (Depends-on): Add include_next.
57785         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
57786         HAVE_ARPA_INET_H.
57787
57788 2008-04-29  Jim Meyering  <meyering@redhat.com>
57789
57790         * modules/mkdir (License): Re-license as LGPLv2+.
57791
57792 2008-04-29  Bruno Haible  <bruno@clisp.org>
57793
57794         * modules/rawmemchr (Maintainer): Set to Eric.
57795         * modules/strchrnul (Maintainer): Likewise.
57796
57797 2008-04-29  Simon Josefsson  <simon@josefsson.org>
57798
57799         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
57800         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
57801
57802         * modules/arpa_inet (arpa/inet.h): Use them.
57803
57804 2008-04-28  Eric Blake  <ebb9@byu.net>
57805
57806         Test getndelim2.
57807         * modules/getndelim2-tests: New file.
57808         * tests/test-getndelim2.c: Likewise.
57809         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
57810         stream.
57811         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
57812
57813         * MODULES.html.sh: Document new module.
57814
57815 2008-04-20  Bruno Haible  <bruno@clisp.org>
57816
57817         * lib/c-stack.c (die): Use raise.
57818         * modules/c-stack (Depends-on): Add raise.
57819
57820 2008-04-28  Bruno Haible  <bruno@clisp.org>
57821
57822         Expect rpmatch to be declared.
57823         * lib/yesno.c (rpmatch): Remove declaration.
57824
57825         Declare rpmatch.
57826         * lib/stdlib.in.h (rpmatch): New declaration.
57827         * lib/rpmatch.c: Include <stdlib.h> first.
57828         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
57829         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
57830         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
57831         HAVE_RPMATCH.
57832         * modules/rpmatch (Depends-on): Add stdlib, extensions.
57833         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57834         (Include): Set to <stdlib.h>.
57835         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
57836         HAVE_RPMATCH.
57837         * NEWS: Document the change.
57838
57839 2008-04-28  Bruno Haible  <bruno@clisp.org>
57840
57841         Change rpmatch to use nl_langinfo when appropriate.
57842         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
57843         (N_): New macro.
57844         (localized_pattern): New function/macro.
57845         (try): Remove match, nomatch arguments. Copy the pattern into safe
57846         memory before caching it.
57847         (rpmatch): Use localized_pattern. Add translator comments.
57848         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
57849         Suggested by Eric Blake.
57850         * modules/rpmatch (Depends-on): Add stdbool.
57851
57852 2008-04-28  Eric Blake  <ebb9@byu.net>
57853
57854         Add rawmemchr module, matching glibc.
57855         * modules/string (Makefile.am): New indicator.
57856         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
57857         * lib/string.in.h (rawmemchr): Declare when appropriate.
57858         * modules/rawmemchr: New file.
57859         * m4/rawmemchr.m4: Likewise.
57860         * lib/rawmemchr.c: Likewise.
57861         * modules/rawmemchr-tests: Likewise.
57862         * tests/test-rawmemchr.c: Likewise.
57863         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
57864         module.
57865         * modules/strchrnul (Depends-on): Add rawmemchr.
57866         * lib/strchrnul.c (strchrnul): Optimize a corner case.
57867
57868         Whitespace cleanup.
57869         * tests/test-strchrnul.c: Reindent.
57870         * lib/strchrnul.c: Likewise.
57871
57872         Optimize and test strchrnul.
57873         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
57874         * modules/strchrnul-tests: New file.
57875         * tests/test-strchrnul.c: Likewise.
57876
57877         Remove intprops dependency.
57878         * modules/memchr (Depends-on): Remove intprops.
57879         * modules/memrchr (Depends-on): Likewise.
57880         * modules/memchr2 (Depends-on): Likewise.
57881         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
57882         * lib/memrchr.c (__memrchr): Likewise.
57883         * lib/memrchr2.c (memchr2): Likewise.
57884         Reported by Simon Josefsson.
57885
57886 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57887
57888         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
57889         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57890
57891 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57892
57893         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
57894
57895         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
57896
57897         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
57898
57899         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
57900         declarations.
57901         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
57902
57903         * m4/inet_pton.m4: Don't check for header files.
57904
57905         * m4/inet_ntop.m4: Don't check for header files.
57906
57907 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57908
57909         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
57910         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
57911         trigger for cygwin).
57912         Reported by Bruno Haible  <bruno@clisp.org>.
57913
57914 2008-04-28  Bruno Haible  <bruno@clisp.org>
57915
57916         * doc/posix-functions/strdup.texi: Mention mingw problem.
57917
57918 2008-04-27  Bruno Haible  <bruno@clisp.org>
57919
57920         * modules/stat-time-tests (Depends-on): Add sleep.
57921         * tests/test-stat-time.c (force_unlink): New function.
57922         (cleanup): Use it.
57923         (test_mtime): Remove the ctime related tests.
57924         (test_ctime): New function, containing the ctime related tests.
57925         (main): Call test_ctime, except on native Windows platforms.
57926
57927 2008-04-27  Bruno Haible  <bruno@clisp.org>
57928
57929         * lib/rpmatch.c (rpmatch): Add some comments.
57930         Reported by James Youngman <jay@gnu.org>.
57931
57932 2008-04-27  Bruno Haible  <bruno@clisp.org>
57933
57934         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
57935         quiet NaNs.
57936
57937 2008-04-27  Bruno Haible  <bruno@clisp.org>
57938
57939         Make test-yesno.sh work on mingw.
57940         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
57941         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
57942         (main): Set stdin to binary mode.
57943         * modules/yesno-tests (Depends-on): Add binary-io.
57944
57945 2008-04-27  Bruno Haible  <bruno@clisp.org>
57946
57947         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57948         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57949         argument that lie outside the IEEE 854 domain.
57950         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57951         (gl_ISFINITE): Use it.
57952         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57953
57954 2008-04-27  Bruno Haible  <bruno@clisp.org>
57955
57956         Allow local renaming in config.h.
57957         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57958
57959 2008-04-27  Bruno Haible  <bruno@clisp.org>
57960
57961         * lib/memchr.c (__memchr): Change type of 'i'.
57962         * lib/memchr2.c (memchr2): Likewise.
57963
57964 2008-04-26  Eric Blake  <ebb9@byu.net>
57965         and Bruno Haible  <bruno@clisp.org>
57966
57967         Optimize and test memrchr.
57968         * modules/memrchr (Depends-on): Add intprops.
57969         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57970         * modules/memrchr-tests: New file.
57971         * tests/test-memrchr.c: New file.
57972
57973 2008-04-26  Bruno Haible  <bruno@clisp.org>
57974
57975         Add tentative support for DragonFly BSD.
57976         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57977         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57978         fp.
57979         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57980         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57981         * lib/fpurge.c (fpurge): Likewise.
57982         * lib/freadable.c (freaadable): Likewise.
57983         * lib/freadahead.c (freadahead): Likewise.
57984         * lib/freading.c (freading): Likewise.
57985         * lib/freadptr.c (freadptr): Likewise.
57986         * lib/freadseek.c (freadptrinc): Likewise.
57987         * lib/fseeko.c (fseeko): Likewise.
57988         * lib/fseterr.c (fseterr): Likewise.
57989         * lib/fwritable.c (fwritable): Likewise.
57990         * lib/fwriting.c (fwriting): Likewise.
57991
57992 2008-04-26  Bruno Haible  <bruno@clisp.org>
57993
57994         * lib/stdio-impl.h: New file.
57995         * lib/fbufmode.c: Include stdio-impl.h.
57996         (fbufmode): Use fp_, remove redundant #defines.
57997         * lib/fflush.c: Include stdio-impl.h.
57998         (clear_ungetc_buffer): Remove redundant #defines.
57999         * lib/fpurge.c: Include stdio-impl.h.
58000         (fpurge): Remove redundant #defines.
58001         * lib/freadable.c: Include stdio-impl.h.
58002         (freadable): Remove redundant #defines.
58003         * lib/freadahead.c: Include stdio-impl.h.
58004         (freadahead): Remove redundant #defines.
58005         * lib/freading.c: Include stdio-impl.h.
58006         (freading): Remove redundant #defines.
58007         * lib/freadptr.c: Include stdio-impl.h.
58008         (freadptr): Remove redundant #defines.
58009         * lib/freadseek.c: Include stdio-impl.h.
58010         (freadptrinc): Remove redundant #defines.
58011         * lib/fseeko.c: Include stdio-impl.h.
58012         (rpl_fseeko): Remove redundant #defines.
58013         * lib/fseterr.c: Include stdio-impl.h.
58014         (fseterr): Remove redundant #defines.
58015         * lib/fwritable.c: Include stdio-impl.h.
58016         (fwritable: Remove redundant #defines.
58017         * lib/fwriting.c: Include stdio-impl.h.
58018         (fwriting): Remove redundant #defines.
58019         * modules/fbufmode (Files): Add lib/stdio-impl.h.
58020         * modules/fflush (Files): Likewise.
58021         * modules/fpurge (Files): Likewise.
58022         * modules/freadable (Files): Likewise.
58023         * modules/freadahead (Files): Likewise.
58024         * modules/freading (Files): Likewise.
58025         * modules/freadptr (Files): Likewise.
58026         * modules/freadseek (Files): Likewise.
58027         * modules/fseeko (Files): Likewise.
58028         * modules/fseterr (Files): Likewise.
58029         * modules/fwritable (Files): Likewise.
58030         * modules/fwriting (Files): Likewise.
58031
58032 2008-04-26  Bruno Haible  <bruno@clisp.org>
58033
58034         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
58035         restore_seek_optimization, update_fpos_cache): New functions, extracted
58036         from rpl_fflush.
58037         (rpl_fflush): Use them.
58038         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
58039         (gl_REPLACE_FFLUSH): Use it.
58040
58041 2008-04-26  Bruno Haible  <bruno@clisp.org>
58042
58043         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
58044         on Solaris.
58045         * tests/test-xstrtoimax.sh: Likewise.
58046         * tests/test-xstrtoumax.sh: Likewise.
58047         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58048
58049 2008-04-26  Bruno Haible  <bruno@clisp.org>
58050
58051         * modules/memchr-tests: New file.
58052         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
58053
58054 2008-04-26  Eric Blake  <ebb9@byu.net>
58055             Bruno Haible  <bruno@clisp.org>
58056
58057         * lib/memchr.c: Include intprops.h.
58058         (__memchr): Optimize parallel detection of matching bytes. Rename local
58059         variables. Add explanatory comments.
58060
58061 2008-04-26  Bruno Haible  <bruno@clisp.org>
58062
58063         Fix module 'memchr', broken since 2000-10-28.
58064         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
58065
58066 2008-04-26  Bruno Haible  <bruno@clisp.org>
58067
58068         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
58069         comments.
58070
58071 2008-04-25  Eric Blake  <ebb9@byu.net>
58072
58073         Use native fstatat on cygwin 1.7.0.
58074         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
58075         first.
58076
58077 2008-04-23  Eric Blake  <ebb9@byu.net>
58078
58079         Improve memchr2 performance.
58080         * lib/memchr2.c (memchr2): Further optimize parallel detection of
58081         NUL bytes.
58082         * modules/memchr2 (Depends-on): Use intprops.h.
58083
58084 2008-04-23  Simon Josefsson  <simon@josefsson.org>
58085
58086         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
58087         an inline function instead of a CPP macro.  Patch by Ben Pfaff
58088         <blp@cs.stanford.edu>.
58089
58090 2008-04-23  Simon Josefsson  <simon@josefsson.org>
58091
58092         * lib/arpa_inet.in.h: New file.
58093
58094         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
58095         (Makefile.am): Sed in substitute header file.
58096
58097         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
58098         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
58099
58100         * modules/inet_ntop (configure.ac): Use
58101         gl_ARPA_INET_MODULE_INDICATOR.
58102
58103         * modules/inet_pton (configure.ac): Use
58104         gl_ARPA_INET_MODULE_INDICATOR.
58105
58106 2008-04-22  Jim Meyering  <meyering@redhat.com>
58107
58108         * modules/verify (License): Re-license as LGPLv2+.
58109
58110 2008-04-22  Simon Josefsson  <simon@josefsson.org>
58111
58112         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
58113         parameter to void* as per POSIX standard (MinGW uses char*).
58114
58115 2008-04-21  Bruno Haible  <bruno@clisp.org>
58116
58117         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58118         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58119         Define to replacements if REPLACE_ISWCNTRL is 1.
58120         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
58121         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
58122         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
58123         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
58124         what it fixes.
58125         * doc/posix-functions/iswalpha.texi: Likewise.
58126         * doc/posix-functions/iswblank.texi: Likewise.
58127         * doc/posix-functions/iswcntrl.texi: Likewise.
58128         * doc/posix-functions/iswdigit.texi: Likewise.
58129         * doc/posix-functions/iswgraph.texi: Likewise.
58130         * doc/posix-functions/iswlower.texi: Likewise.
58131         * doc/posix-functions/iswprint.texi: Likewise.
58132         * doc/posix-functions/iswpunct.texi: Likewise.
58133         * doc/posix-functions/iswspace.texi: Likewise.
58134         * doc/posix-functions/iswupper.texi: Likewise.
58135         * doc/posix-functions/iswxdigit.texi: Likewise.
58136         Reported by Alain Guibert.
58137
58138 2008-04-21  Bruno Haible  <bruno@clisp.org>
58139
58140         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
58141         Patch by Alain Guibert.
58142
58143 2008-04-21  Bruno Haible  <bruno@clisp.org>
58144
58145         Fix test failures on mingw.
58146         * tests/test-xstrtol.c (print_no_progname): New function.
58147         (main): Install it in error_print_progname hook.
58148         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
58149         * tests/test-xstrtoimax.sh: Likewise.
58150         * tests/test-xstrtoumax.sh: Likewise.
58151
58152 2008-04-21  Bruno Haible  <bruno@clisp.org>
58153
58154         Fix test failure on mingw.
58155         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
58156
58157 2008-04-21  Bruno Haible  <bruno@clisp.org>
58158
58159         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
58160         Actually assign a value.
58161
58162 2008-04-20  Bruno Haible  <bruno@clisp.org>
58163
58164         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
58165         take 2.
58166         * lib/canonicalize.c (canonicalize_file_name): Elide if the
58167         'canonicalize-lgpl' module is also used.
58168         * lib/canonicalize-lgpl.c: Undo last change.
58169         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
58170
58171 2008-04-20  Bruno Haible  <bruno@clisp.org>
58172
58173         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
58174         config.h. Provide _mkdir based fallback for mingw.
58175         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
58176         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
58177         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
58178         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
58179         rather than defining mkdir in config.h.
58180         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
58181         (gl_SYS_STAT_H_DEFAULTS): New macro.
58182         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
58183         HAVE_IO_H any more.
58184         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
58185         HAVE_DECL_MKDIR and HAVE_IO_H.
58186
58187 2008-04-20  Bruno Haible  <bruno@clisp.org>
58188
58189         * lib/isapipe.c: Port to native Windows platforms.
58190
58191 2008-04-20  Bruno Haible  <bruno@clisp.org>
58192
58193         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
58194
58195 2008-04-21  Eric Blake  <ebb9@byu.net>
58196
58197         Work around preprocessors that don't handle UINTMAX_MAX.
58198         * lib/memchr2.c (memchr2): Avoid embedded #if.
58199         Reported by Alain Guibert, fix suggested by Bruno Haible.
58200
58201 2008-04-21  Simon Josefsson  <simon@josefsson.org>
58202
58203         * doc/posix-functions/strftime.texi (strftime): Explain better
58204         Windows incompatibility.  Suggested by Micah Cowan
58205         <micah@cowan.name>.
58206
58207 2008-04-20  Bruno Haible  <bruno@clisp.org>
58208
58209         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
58210         unistr/u8-mblen.
58211
58212 2008-04-20  Bruno Haible  <bruno@clisp.org>
58213
58214         Fix test failure on platforms with non-GNU iconv.
58215         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
58216         (U_TO_U8): Use it, rather than u16_to_u8.
58217         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
58218         units at the end of the input string.
58219         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
58220
58221 2008-04-20  Bruno Haible  <bruno@clisp.org>
58222
58223         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
58224         when the resulting length is 0.
58225         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
58226
58227 2008-04-20  Bruno Haible  <bruno@clisp.org>
58228
58229         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
58230         works.
58231         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
58232
58233 2008-04-20  Bruno Haible  <bruno@clisp.org>
58234
58235         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
58236         * modules/tsearch-tests (configure.ac): Test for initstate function.
58237
58238 2008-04-20  Bruno Haible  <bruno@clisp.org>
58239
58240         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
58241         for nlink_t if missing.
58242         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
58243
58244 2008-04-19  Bruno Haible  <bruno@clisp.org>
58245
58246         Work around snprintf bug on Linux libc5.
58247         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
58248         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58249         gl_SNPRINTF_SIZE1.
58250         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58251         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
58252         that test failed.
58253         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
58254         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
58255         * modules/snprintf (Files): Add m4/printf.m4.
58256         * modules/vsnprintf (Files): Likewise.
58257         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
58258         * doc/posix-functions/vsnprintf.texi: Likewise.
58259
58260 2008-04-19  Bruno Haible  <bruno@clisp.org>
58261
58262         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
58263         from 0.0058 to less than 10^-7.
58264
58265 2008-04-19  Bruno Haible  <bruno@clisp.org>
58266
58267         Fix rounding when a precision is given.
58268         * lib/vasnprintf.c (is_borderline): New function.
58269         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
58270         9...9x.
58271         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
58272         %e, %g.
58273         * tests/test-vasprintf-posix.c (test_function): Likewise.
58274         * tests/test-snprintf-posix.h (test_function): Likewise.
58275         * tests/test-sprintf-posix.h (test_function): Likewise.
58276         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
58277         * tests/test-printf-posix.h (test_function): Likewise.
58278         * tests/test-printf-posix.output: Update.
58279         Reported by John Darrington <john@darrington.wattle.id.au> via
58280         Ben Pfaff <blp@cs.stanford.edu>.
58281
58282 2008-04-18  Simon Josefsson  <simon@josefsson.org>
58283
58284         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
58285         Suggested by Bruno Haible <bruno@clisp.org>.
58286
58287 2008-04-17  Bruno Haible  <bruno@clisp.org>
58288
58289         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
58290         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
58291         implementation.
58292         Patch by Bruce Merry <bmerry@gmail.com>.
58293
58294 2008-04-17  Simon Josefsson  <simon@josefsson.org>
58295
58296         * doc/posix-functions/strftime.texi (strftime): Mention that %e
58297         doesn't work under Windows.
58298
58299 2008-04-16  Bruno Haible  <bruno@clisp.org>
58300
58301         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
58302         New macros.
58303         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
58304         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
58305         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
58306         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
58307         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
58308         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
58309         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
58310         macros.
58311         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
58312         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
58313         Northern Sotho, Uighur.
58314
58315 2008-04-16  Bruno Haible  <bruno@clisp.org>
58316
58317         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
58318         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
58319         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
58320         Reported by Daniel Bergström <daniel@octocode.com>.
58321
58322 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
58323             Bruno Haible  <bruno@clisp.org>
58324
58325         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
58326         function.
58327         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
58328         New functions, mostly extracted from gl_locale_name_default.
58329         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
58330
58331 2008-04-16  Eric Blake  <ebb9@byu.net>
58332
58333         Adjust strtod detection to catch glibc 2.7 bug.
58334         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
58335         Reported by John Gatewood Ham.
58336
58337 2008-04-16  Bruno Haible  <bruno@clisp.org>
58338
58339         Add tentative support for Linux libc5.
58340         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
58341         * lib/fpurge.c (fpurge): Likewise.
58342         * lib/freadable.c (freadable): Likewise.
58343         * lib/freadahead.c (freadahead): Likewise.
58344         * lib/freading.c (freading): Likewise.
58345         * lib/freadptr.c (freadptr): Likewise.
58346         * lib/freadseek.c (freadptrinc): Likewise.
58347         * lib/fseeko.c (rpl_fseeko): Likewise.
58348         * lib/fseterr.c (fseterr): Likewise.
58349         * lib/fwritable.c (fwritable): Likewise.
58350         * lib/fwriting.c (fwriting): Likewise.
58351         Reported by Alain Guibert <alguibert+bts@free.fr>.
58352
58353 2008-04-15  Bruno Haible  <bruno@clisp.org>
58354
58355         * modules/mathl (configure.ac): Define module indicator.
58356
58357 2008-04-15  Bruno Haible  <bruno@clisp.org>
58358
58359         * lib/logl.c (logl): Remove unused variables.
58360
58361 2008-04-15  Bruno Haible  <bruno@clisp.org>
58362
58363         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
58364         fails.
58365
58366 2008-04-15  Bruno Haible  <bruno@clisp.org>
58367
58368         * lib/trim.c (trim2): Fix argument of isspace() macro.
58369
58370 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
58371
58372         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
58373         to 0.
58374         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
58375
58376 2008-04-14  Bruno Haible  <bruno@clisp.org>
58377
58378         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
58379         AC_LANG_PROGRAM argument.
58380         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
58381         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
58382         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
58383         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58384         * m4/math_h.m4 (gl_MATH_H): Likewise.
58385         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
58386         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58387         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58388         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
58389         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
58390         * m4/regex.m4 (gl_REGEX): Likewise.
58391         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
58392         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
58393         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58394         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
58395         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
58396         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58397         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58398         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58399
58400 2008-04-14  Jim Meyering  <meyering@redhat.com>
58401
58402         test-strtod: fix typos: s/abs/fabs/
58403         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
58404
58405 2008-04-13  Bruno Haible  <bruno@clisp.org>
58406
58407         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
58408         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
58409         module is also used and while not building the reloc-wrapper.
58410
58411 2008-04-13  Bruno Haible  <bruno@clisp.org>
58412
58413         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
58414
58415 2008-04-13  Bruno Haible  <bruno@clisp.org>
58416
58417         Fix AIX compilation failure introduced on 2008-04-02.
58418         * tests/test-frexp.c (exp): Undefine before redefining.
58419         * tests/test-frexpl.c (exp): Likewise.
58420
58421 2008-04-13  Bruno Haible  <bruno@clisp.org>
58422
58423         Work around a HP-UX stdio bug.
58424         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
58425         * tests/test-ftello.c (main): Likewise.
58426         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
58427         * doc/posix-functions/ftello.texi: Likewise.
58428
58429 2008-04-13  Bruno Haible  <bruno@clisp.org>
58430
58431         Make test-signbit pass on HP-UX/hppa.
58432         * tests/test-signbit.c (minus_zerol): New variable.
58433         (test_signbitl): Use it.
58434
58435 2008-04-13  Bruno Haible  <bruno@clisp.org>
58436
58437         Make truncl work on OSF/1 4.0.
58438         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
58439         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
58440         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
58441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
58442         HAVE_DECL_TRUNCL.
58443         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
58444         HAVE_DECL_TRUNCL.
58445         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
58446
58447 2008-04-13  Bruno Haible  <bruno@clisp.org>
58448
58449         * lib/unictype.h: Remove trailing comma from enumeration definitions.
58450
58451 2008-04-13  Bruno Haible  <bruno@clisp.org>
58452
58453         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
58454         expression, so as to avoid HP-UX 11 cc compiler bug.
58455
58456 2008-04-13  Bruno Haible  <bruno@clisp.org>
58457
58458         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
58459
58460 2008-04-13  Bruno Haible  <bruno@clisp.org>
58461
58462         * lib/git-merge-changelog.c: Remove empty declaration outside of
58463         functions.
58464
58465 2008-04-13  Bruno Haible  <bruno@clisp.org>
58466
58467         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
58468
58469 2008-04-13  Bruno Haible  <bruno@clisp.org>
58470
58471         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
58472         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
58473         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
58474         also if it exists but lacks definitions of the SHUT_* macros.
58475         * modules/sys_socket (Description): Update.
58476         Reported by Elbert Pol <e.pol@chello.nl>.
58477
58478 2008-04-13  Bruno Haible  <bruno@clisp.org>
58479
58480         * lib/localcharset.c (OS2): Don't redefine if already defined.
58481         Reported by Elbert Pol <e.pol@chello.nl>.
58482
58483 2008-04-13  Bruno Haible  <bruno@clisp.org>
58484
58485         * lib/binary-io.h [__EMX__]: Include <io.h>.
58486         Reported by Elbert Pol <e.pol@chello.nl>.
58487
58488 2008-04-12  Bruno Haible  <bruno@clisp.org>
58489
58490         * lib/fpucw.h: Enable the definitions also for x86_64.
58491         Needed for NetBSD/x86_64.
58492         Reported by Thomas Klausner <tk@giga.or.at>.
58493
58494 2008-04-12  Bruno Haible  <bruno@clisp.org>
58495
58496         * tests/test-strtod.c: Include isnand.h.
58497         (main): Use isnand instead of isnan.
58498         Reported by Jim Meyering.
58499
58500 2008-04-12  Bruno Haible  <bruno@clisp.org>
58501
58502         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
58503         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58504
58505 2008-04-12  Jim Meyering  <meyering@redhat.com>
58506
58507         * m4/math_h.m4 (gl_MATH_H): Fix typos.
58508
58509 2008-04-12  Bruno Haible  <bruno@clisp.org>
58510
58511         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
58512         Reported by Elbert Pol <e.pol@chello.nl>.
58513
58514 2008-04-12  Eric Blake  <ebb9@byu.net>
58515
58516         Work around Solaris 10 math.h bug.
58517         * m4/math_h.m4 (gl_MATH_H): Check for bug.
58518         (gl_MATH_H_DEFAULTS): Set up default.
58519         * modules/math (Makefile.am): Replace new indicators.
58520         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
58521         * tests/test-math.c (main): Test this.
58522         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
58523         * doc/posix-headers/math.texi (math.h): Mention bug.
58524         Reported by Nelson H. F. Beebe and Jim Meyering.
58525
58526 2008-04-11  Bruno Haible  <bruno@clisp.org>
58527
58528         Adapt to future versions of Apple GCC.
58529         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
58530         Reported by Peter O'Gorman <peter@pogma.com>.
58531
58532 2008-04-11  Bruno Haible  <bruno@clisp.org>
58533
58534         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
58535
58536 2008-04-11  Bruno Haible  <bruno@clisp.org>
58537
58538         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
58539
58540         * modules/getaddrinfo-tests (Makefile.am): Define
58541         test_getaddrinfo_LDADD.
58542
58543 2008-04-11  Bruno Haible  <bruno@clisp.org>
58544
58545         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
58546         (init): Fix syntax error.
58547         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
58548         is declared.
58549
58550 2008-04-11  Bruno Haible  <bruno@clisp.org>
58551
58552         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
58553         * modules/glob (Depends-on): Add stdbool.
58554
58555 2008-04-11  Bruno Haible  <bruno@clisp.org>
58556
58557         * lib/trim.c: Include <string.h>.
58558
58559 2008-04-11  Eric Blake  <ebb9@byu.net>
58560
58561         Avoid compile failure on OS/2.
58562         * lib/regex_internal.h (internal_function): Disable optimization
58563         on OS/2 (__EMX__), where it caused compiler error.
58564         Reported by Elbert Pol.
58565
58566 2008-04-11  Bruno Haible  <bruno@clisp.org>
58567
58568         Flush the standard error stream before aborting. Needed on mingw.
58569         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
58570         * tests/test-array_list.c (ASSERT): Likewise.
58571         * tests/test-array_oset.c (ASSERT): Likewise.
58572         * tests/test-avltree_list.c (ASSERT): Likewise.
58573         * tests/test-avltree_oset.c (ASSERT): Likewise.
58574         * tests/test-avltreehash_list.c (ASSERT): Likewise.
58575         * tests/test-binary-io.c (ASSERT): Likewise.
58576         * tests/test-byteswap.c (ASSERT): Likewise.
58577         * tests/test-c-ctype.c (ASSERT): Likewise.
58578         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
58579         * tests/test-c-strcasestr.c (ASSERT): Likewise.
58580         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
58581         * tests/test-c-strstr.c (ASSERT): Likewise.
58582         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
58583         * tests/test-canonicalize.c (ASSERT): Likewise.
58584         * tests/test-carray_list.c (ASSERT): Likewise.
58585         * tests/test-ceilf1.c (ASSERT): Likewise.
58586         * tests/test-ceilf2.c (ASSERT): Likewise.
58587         * tests/test-ceill.c (ASSERT): Likewise.
58588         * tests/test-count-one-bits.c (ASSERT): Likewise.
58589         * tests/test-fbufmode.c (ASSERT): Likewise.
58590         * tests/test-fflush2.c (ASSERT): Likewise.
58591         * tests/test-floorf1.c (ASSERT): Likewise.
58592         * tests/test-floorf2.c (ASSERT): Likewise.
58593         * tests/test-floorl.c (ASSERT): Likewise.
58594         * tests/test-fopen.c (ASSERT): Likewise.
58595         * tests/test-fpending.c (ASSERT): Likewise.
58596         * tests/test-fprintf-posix.c (ASSERT): Likewise.
58597         * tests/test-fpurge.c (ASSERT): Likewise.
58598         * tests/test-freadable.c (ASSERT): Likewise.
58599         * tests/test-freadahead.c (ASSERT): Likewise.
58600         * tests/test-freading.c (ASSERT): Likewise.
58601         * tests/test-freadptr.c (ASSERT): Likewise.
58602         * tests/test-freadptr2.c (ASSERT): Likewise.
58603         * tests/test-freadseek.c (ASSERT): Likewise.
58604         * tests/test-freopen.c (ASSERT): Likewise.
58605         * tests/test-frexp.c (ASSERT): Likewise.
58606         * tests/test-frexpl.c (ASSERT): Likewise.
58607         * tests/test-fseek.c (ASSERT): Likewise.
58608         * tests/test-fseeko.c (ASSERT): Likewise.
58609         * tests/test-fstrcmp.c (ASSERT): Likewise.
58610         * tests/test-ftell.c (ASSERT): Likewise.
58611         * tests/test-ftello.c (ASSERT): Likewise.
58612         * tests/test-func.c (ASSERT): Likewise.
58613         * tests/test-fwritable.c (ASSERT): Likewise.
58614         * tests/test-fwriting.c (ASSERT): Likewise.
58615         * tests/test-getdelim.c (ASSERT): Likewise.
58616         * tests/test-getline.c (ASSERT): Likewise.
58617         * tests/test-i-ring.c (ASSERT): Likewise.
58618         * tests/test-iconv-utf.c (ASSERT): Likewise.
58619         * tests/test-iconv.c (ASSERT): Likewise.
58620         * tests/test-isfinite.c (ASSERT): Likewise.
58621         * tests/test-isnand.c (ASSERT): Likewise.
58622         * tests/test-isnanf.c (ASSERT): Likewise.
58623         * tests/test-isnanl.h (ASSERT): Likewise.
58624         * tests/test-ldexpl.c (ASSERT): Likewise.
58625         * tests/test-linked_list.c (ASSERT): Likewise.
58626         * tests/test-linkedhash_list.c (ASSERT): Likewise.
58627         * tests/test-localename.c (ASSERT): Likewise.
58628         * tests/test-lseek.c (ASSERT): Likewise.
58629         * tests/test-mbscasecmp.c (ASSERT): Likewise.
58630         * tests/test-mbscasestr1.c (ASSERT): Likewise.
58631         * tests/test-mbscasestr2.c (ASSERT): Likewise.
58632         * tests/test-mbscasestr3.c (ASSERT): Likewise.
58633         * tests/test-mbscasestr4.c (ASSERT): Likewise.
58634         * tests/test-mbschr.c (ASSERT): Likewise.
58635         * tests/test-mbscspn.c (ASSERT): Likewise.
58636         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
58637         * tests/test-mbspbrk.c (ASSERT): Likewise.
58638         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
58639         * tests/test-mbsrchr.c (ASSERT): Likewise.
58640         * tests/test-mbsspn.c (ASSERT): Likewise.
58641         * tests/test-mbsstr1.c (ASSERT): Likewise.
58642         * tests/test-mbsstr2.c (ASSERT): Likewise.
58643         * tests/test-mbsstr3.c (ASSERT): Likewise.
58644         * tests/test-memchr2.c (ASSERT): Likewise.
58645         * tests/test-memmem.c (ASSERT): Likewise.
58646         * tests/test-open.c (ASSERT): Likewise.
58647         * tests/test-printf-frexp.c (ASSERT): Likewise.
58648         * tests/test-printf-frexpl.c (ASSERT): Likewise.
58649         * tests/test-printf-posix.c (ASSERT): Likewise.
58650         * tests/test-quotearg.c (ASSERT): Likewise.
58651         * tests/test-rbtree_list.c (ASSERT): Likewise.
58652         * tests/test-rbtree_oset.c (ASSERT): Likewise.
58653         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
58654         * tests/test-round1.c (ASSERT): Likewise.
58655         * tests/test-roundf1.c (ASSERT): Likewise.
58656         * tests/test-roundl.c (ASSERT): Likewise.
58657         * tests/test-signbit.c (ASSERT): Likewise.
58658         * tests/test-sleep.c (ASSERT): Likewise.
58659         * tests/test-snprintf-posix.c (ASSERT): Likewise.
58660         * tests/test-snprintf.c (ASSERT): Likewise.
58661         * tests/test-sprintf-posix.c (ASSERT): Likewise.
58662         * tests/test-stat-time.c (ASSERT): Likewise.
58663         * tests/test-strcasestr.c (ASSERT): Likewise.
58664         * tests/test-strerror.c (ASSERT): Likewise.
58665         * tests/test-striconv.c (ASSERT): Likewise.
58666         * tests/test-striconveh.c (ASSERT): Likewise.
58667         * tests/test-striconveha.c (ASSERT): Likewise.
58668         * tests/test-strsignal.c (ASSERT): Likewise.
58669         * tests/test-strstr.c (ASSERT): Likewise.
58670         * tests/test-strtod.c (ASSERT): Likewise.
58671         * tests/test-trunc1.c (ASSERT): Likewise.
58672         * tests/test-trunc2.c (ASSERT): Likewise.
58673         * tests/test-truncf1.c (ASSERT): Likewise.
58674         * tests/test-truncf2.c (ASSERT): Likewise.
58675         * tests/test-truncl.c (ASSERT): Likewise.
58676         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
58677         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
58678         * tests/test-vasnprintf.c (ASSERT): Likewise.
58679         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
58680         * tests/test-vasprintf.c (ASSERT): Likewise.
58681         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
58682         * tests/test-vprintf-posix.c (ASSERT): Likewise.
58683         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
58684         * tests/test-vsnprintf.c (ASSERT): Likewise.
58685         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
58686         * tests/test-wcwidth.c (ASSERT): Likewise.
58687         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
58688         * tests/test-xprintf-posix.c (ASSERT): Likewise.
58689         * tests/test-xvasprintf.c (ASSERT): Likewise.
58690         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
58691         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
58692         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
58693         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
58694         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
58695         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
58696         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
58697         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
58698         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
58699         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
58700         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
58701         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
58702         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
58703         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
58704         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
58705         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
58706         * tests/unictype/test-block_list.c (ASSERT): Likewise.
58707         * tests/unictype/test-block_of.c (ASSERT): Likewise.
58708         * tests/unictype/test-block_test.c (ASSERT): Likewise.
58709         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
58710         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
58711         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
58712         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
58713         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
58714         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
58715         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
58716         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
58717         * tests/unictype/test-combining.c (ASSERT): Likewise.
58718         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
58719         * tests/unictype/test-digit.c (ASSERT): Likewise.
58720         * tests/unictype/test-mirror.c (ASSERT): Likewise.
58721         * tests/unictype/test-numeric.c (ASSERT): Likewise.
58722         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
58723         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
58724         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
58725         * tests/unictype/test-scripts.c (ASSERT): Likewise.
58726         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
58727         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
58728         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
58729         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
58730         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
58731         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
58732         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
58733         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
58734         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
58735         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
58736         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
58737         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
58738         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
58739         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
58740         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
58741         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
58742         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
58743         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
58744         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
58745         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
58746         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
58747         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
58748         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
58749         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
58750         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
58751         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
58752         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
58753         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
58754         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
58755         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
58756         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
58757         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
58758         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
58759         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
58760         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
58761         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
58762         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
58763         Reported by Eric Blake.
58764
58765 2008-04-11  Bruno Haible  <bruno@clisp.org>
58766
58767         * lib/wchar.in.h: Tweak comment.
58768
58769 2008-04-11  Bruno Haible  <bruno@clisp.org>
58770
58771         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
58772         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
58773         gl_COMMON.
58774         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
58775
58776 2008-04-11  Bruno Haible  <bruno@clisp.org>
58777
58778         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
58779
58780 2008-04-11  Simon Josefsson  <simon@josefsson.org>
58781
58782         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
58783         of attempting to use non-existing /dev/*random.  Based on patch
58784         from Adam Strzelecki <ono@java.pl> in
58785         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
58786
58787 2008-04-08  Bruno Haible  <bruno@clisp.org>
58788
58789         Add tentative support for emx+gcc.
58790         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
58791         * lib/fpurge.c (fpurge): Likewise.
58792         * lib/freadable.c (freadable): Likewise.
58793         * lib/freadahead.c (freadahead): Likewise.
58794         * lib/freading.c (freading): Likewise.
58795         * lib/freadptr.c (freadptr): Likewise.
58796         * lib/freadseek.c (freadptrinc): Likewise.
58797         * lib/fseeko.c (rpl_fseeko): Likewise.
58798         * lib/fseterr.c (fseterr): Likewise.
58799         * lib/fwritable.c (fwritable): Likewise.
58800         * lib/fwriting.c (fwriting): Likewise.
58801         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
58802
58803 2008-04-09  Eric Blake  <ebb9@byu.net>
58804
58805         Avoid some autoconf warnings.
58806         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
58807         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
58808         * m4/afs.m4 (gl_AFS): Likewise.
58809         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
58810         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
58811         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58812         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
58813         (gl_INTEGER_TYPE_SUFFIX): Likewise.
58814         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
58815         (AC_CHECK_DECLS_ONCE): Likewise.
58816         Rename file...
58817         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
58818         gnulib-tool requires autoconf 2.59 or better.
58819         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
58820
58821 2008-04-08  Eric Blake  <ebb9@byu.net>
58822
58823         Use 'git describe --match' if present (added in git 1.5.5).
58824         * build-aux/git-version-gen: Limit result to tags that match 'v*'
58825         if possible.
58826
58827 2008-04-08  Bruno Haible  <bruno@clisp.org>
58828
58829         Add tentative support for OpenServer.
58830         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
58831         _ptr, _cnt.
58832         * lib/fpurge.c (fpurge): Likewise.
58833         * lib/freadable.c (freadable): Likewise.
58834         * lib/freadahead.c (freadahead): Likewise.
58835         * lib/freading.c (freading): Likewise.
58836         * lib/freadptr.c (freadptr): Likewise.
58837         * lib/freadseek.c (freadptrinc): Likewise.
58838         * lib/fseeko.c (rpl_fseeko): Likewise.
58839         * lib/fseterr.c (fseterr): Likewise.
58840         * lib/fwritable.c (fwritable): Likewise.
58841         * lib/fwriting.c (fwriting): Likewise.
58842         Reported by Roger Cornelius <rac@tenzing.org> and
58843         Brian K. White <brian@aljex.com>.
58844
58845 2008-04-06  Jim Meyering  <meyering@redhat.com>
58846
58847         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
58848
58849 2008-04-06  Bruno Haible  <bruno@clisp.org>
58850
58851         Avoid possible error with non-ASCII bytes in UTF-8 locales.
58852         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
58853         * tests/test-printf-posix.sh: Likewise.
58854         * tests/test-vfprintf-posix.sh: Likewise.
58855         * tests/test-vprintf-posix.sh: Likewise.
58856         * tests/test-xprintf-posix.sh: Likewise.
58857
58858 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58859
58860         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
58861         hide error from 'ls', needed on OS/2.
58862         Report by Elbert Pol <elbert.pol@gmail.com>.
58863
58864 2008-04-04  Eric Blake  <ebb9@byu.net>
58865
58866         Make test-fseeko.c failures meaningful.
58867         * tests/test-fseeko.c: Print line number on failure.
58868         * tests/test-fseek.c: Likewise.
58869         Reported by Nelson H. F. Beebe.
58870
58871         Improve strtod bug detection check.
58872         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
58873         required for Solaris 10.
58874         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
58875
58876 2008-04-04  Bruno Haible  <bruno@clisp.org>
58877
58878         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
58879         by m4/setenv.m4.
58880
58881 2008-04-03  Eric Blake  <ebb9@byu.net>
58882
58883         Ensure sane .version contents.
58884         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
58885         version string.
58886         * build-aux/git-version-gen: Improve documentation.
58887
58888         Make GNU make output nicer.
58889         * top/GNUmakefile [!_have-Makefile]: Add dependency on
58890         MAKECMDGOALS to enforce message for all command line targets.  Set
58891         srcdir for use in maint.mk.
58892
58893         Another maintainer tweak.
58894         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
58895         a target that regenerates version.
58896
58897 2008-04-03  Jim Meyering  <meyering@redhat.com>
58898
58899         vc-list-files: don't cause coreutils "make po-check" failure
58900         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
58901
58902 2008-04-03  Eric Blake  <ebb9@byu.net>
58903
58904         Allow VPATH usage of vc-list-files.
58905         * build-aux/vc-list-files (scriptversion): Add timestamp.
58906         (options): Add --help, --version, -C.
58907         (CVS): Support installed cvsu.
58908
58909 2008-04-02  Bruno Haible  <bruno@clisp.org>
58910
58911         Avoid some "statement with no effect" warnings from gcc.
58912         * tests/test-wctype.c (main): Explicitly ignore unused values.
58913         Reported by Jim Meyering.
58914
58915 2008-04-02  Jim Meyering  <meyering@redhat.com>
58916
58917         Avoid some warnings from "gcc -Wshadow".
58918         * tests/test-frexp.c (exp): Define to a different identifier.
58919         * tests/test-frexpl.c (exp): Likewise.
58920
58921 2008-04-03  Jim Meyering  <meyering@redhat.com>
58922
58923         bootstrap: remove dangling *.[ch] symlinks from lib
58924         * build-aux/bootstrap [dangling symlink removal]: Move find's
58925         -depth option to precede all others, to avoid a warning.
58926         Remove *.[ch] files too, and from "$source_base" (usually lib/).
58927
58928 2008-04-02  Bruno Haible  <bruno@clisp.org>
58929
58930         Avoid some warnings from "gcc -Wshadow".
58931         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
58932         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
58933         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
58934         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
58935         Reported by Jim Meyering.
58936
58937 2008-04-01  Bruno Haible  <bruno@clisp.org>
58938
58939         Fix test to work on IRIX 6.5 with cc.
58940         * tests/test-math.c (numeric_equal): New function.
58941         (main): Use it.
58942
58943 2008-04-01  Bruno Haible  <bruno@clisp.org>
58944
58945         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58946
58947 2008-04-01  Bruno Haible  <bruno@clisp.org>
58948
58949         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58950         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58951         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58952         (Depends-on): Remove math.
58953
58954         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58955         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58956         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58957         (Depends-on): Remove math.
58958
58959         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58960         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58961         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58962         (Depends-on): Remove math.
58963         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58964         (Depends-on): Remove math.
58965
58966         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
58967         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58968         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
58969         (Depends-on): Remove math.
58970         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58971         (Depends-on): Remove math.
58972
58973         * tests/test-round1.c: Include nan.h.
58974         (main): Use NaNd instead of NAN.
58975         * modules/round-tests (Files): Add tests/nan.h.
58976
58977         * tests/test-trunc1.c: Include nan.h.
58978         (main): Use NaNd instead of NAN.
58979         * modules/trunc-tests (Files): Add tests/nan.h.
58980
58981         * tests/test-roundf1.c: Include nan.h.
58982         (main): Use NaNf instead of NAN.
58983         * modules/roundf-tests (Files): Add tests/nan.h.
58984
58985         * tests/test-truncf1.c: Include nan.h.
58986         (main): Use NaNf instead of NAN.
58987         * modules/truncf-tests (Files): Add tests/nan.h.
58988
58989         * tests/test-ceilf1.c: Include nan.h.
58990         (main): Use NaNf instead of NAN.
58991         * modules/ceilf-tests (Files): Add tests/nan.h.
58992
58993         * tests/test-floorf1.c: Include nan.h.
58994         (main): Use NaNf instead of NAN.
58995         * modules/floorf-tests (Files): Add tests/nan.h.
58996
58997         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58998         (main): Use NaNf instead of NAN.
58999         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
59000
59001         * tests/test-isnand.c: Include nan.h instead of <math.h>.
59002         (main): Use NaNd instead of NAN.
59003         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
59004
59005         * tests/test-frexp.c: Include nan.h.
59006         (main): Use NaNd instead of NAN.
59007         * modules/frexp-tests (Files): Add tests/nan.h.
59008
59009         * lib/isnan.c: Don't include <math.h>.
59010         (FUNC): Don't use NAN macro.
59011         * modules/isnand-nolibm (Depends-on): Remove math.
59012         * modules/isnanf-nolibm (Depends-on): Remove math.
59013         * modules/isnanl (Depends-on): Remove math.
59014         * modules/isnanl-nolibm (Depends-on): Remove math.
59015
59016         * tests/nan.h: New file.
59017
59018 2008-04-01  Eric Blake  <ebb9@byu.net>
59019
59020         Fix typos.
59021         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
59022         values to be the right type.
59023
59024         For now, cater to gnulib strtod inaccuracies.
59025         * tests/test-strtod.c (main): Allow 1-ulp error on expected
59026         fractional results.  While not as nice from a QoI perspective, it
59027         is a quicker patch than correctly implementing decimal to binary
59028         rounding.
59029
59030 2008-03-31  Eric Blake  <ebb9@byu.net>
59031
59032         Guarantee a definition of NAN.
59033         * lib/math.in.h (NAN): Define if missing.
59034         * tests/test-math.c (main): Test it.
59035         * doc/posix-headers/math.texi (math.h): Document this.
59036         * lib/isnan.c (rpl_isnand): Use it.
59037         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
59038         * tests/test-floorf1.c (NaN): Likewise.
59039         * tests/test-frexp.c (NaN): Likewise.
59040         * tests/test-isnand.c (NaN): Likewise.
59041         * tests/test-isnanf.c (NaN): Likewise.
59042         * tests/test-round1.c (NaN): Likewise.
59043         * tests/test-roundf1.c (NaN): Likewise.
59044         * tests/test-snprintf-posix.h (NaN): Likewise.
59045         * tests/test-sprintf-posix.h (NaN): Likewise.
59046         * tests/test-trunc1.c (NaN): Likewise.
59047         * tests/test-truncf1.c (NaN): Likewise.
59048         * tests/test-vasnprintf-posix.c (NaN): Likewise.
59049         * tests/test-vasprintf-posix.c (NaN): Likewise.
59050         * modules/isnand-nolibm (Depends-on): Add math.
59051         * modules/isnanf-nolibm (Depends-on): Likewise.
59052         * modules/isnanl (Depends-on): Likewise.
59053         * modules/isnanl-nolibm (Depends-on): Likewise.
59054         * modules/snprintf-posix-tests (Depends-on): Likewise.
59055         * modules/sprintf-posix-tests (Depends-on): Likewise.
59056         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
59057         * modules/vsprintf-posix-tests (Depends-on): Likewise.
59058         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
59059         * modules/vasprintf-posix-tests (Depends-on): Likewise.
59060
59061 2008-03-31  Bruno Haible  <bruno@clisp.org>
59062
59063         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
59064         * doc/posix-functions/strtod.texi: Likewise.
59065
59066 2008-03-31  Bruno Haible  <bruno@clisp.org>
59067
59068         * tests/test-strtod.c (main): Don't use C99 syntax.
59069
59070 2008-03-31  Bruno Haible  <bruno@clisp.org>
59071
59072         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
59073         Reported by Eric Blake.
59074
59075 2008-03-31  Jim Meyering  <meyering@redhat.com>
59076
59077         Don't compare actual signbit return values.
59078         * tests/test-strtod.c (main): Rather, compare only their
59079         zero/non-zero nature.
59080
59081 2008-03-31  Eric Blake  <ebb9@byu.net>
59082
59083         More strtod documentation.
59084         * doc/posix-functions/strtod.texi (strtod): Interpret more test
59085         failures as distinct bugs.
59086
59087 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
59088
59089         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
59090         Problem reported by Erik Benada in
59091         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
59092
59093 2008-03-30  Bruno Haible  <bruno@clisp.org>
59094
59095         * tests/test-strtod.c: Add comments about which assertion fails on which
59096         platform.
59097         * doc/posix-functions/strtod.texi: Add info about many more platforms.
59098
59099 2008-03-30  Eric Blake  <ebb9@byu.net>
59100
59101         Test signbit behavior on zeros.
59102         * tests/test-signbit.c (test_signbitf): Add tests for zero.
59103         (test_signbitd, test_signbitl): Likewise.
59104
59105         More strtod touchups.
59106         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
59107         sign of negative underflow, for now.  Use .5, not .1.
59108         * doc/posix-functions/strtod.texi (strtod): Mention these
59109         limitations.
59110         Reported by Jim Meyering.
59111
59112 2008-03-30  Bruno Haible  <bruno@clisp.org>
59113
59114         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
59115         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
59116
59117 2008-03-30  Bruno Haible  <bruno@clisp.org>
59118
59119         Avoid failure when attempting to return empty iconv results on some
59120         platforms.
59121         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
59122         allocation, don't report ENOMEM when the resulting string is empty.
59123
59124 2008-03-30  Bruno Haible  <bruno@clisp.org>
59125
59126         Fix buffer overrun.
59127         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
59128         Don't consider the width for tmp_length. Check count against tmp_length
59129         before doing the padding. Ensure enough allocation during padding.
59130
59131 2008-03-30  Eric Blake  <ebb9@byu.net>
59132
59133         strtod touchups.
59134         * lib/strtod.c (strtod): Avoid compiler warnings.
59135         Reported by Jim Meyering.
59136
59137 2008-03-30  Bruno Haible  <bruno@clisp.org>
59138
59139         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
59140         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
59141         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
59142         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
59143         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
59144         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
59145         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
59146         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
59147
59148         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
59149         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
59150         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
59151         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
59152         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
59153         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
59154         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
59155         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
59156
59157         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
59158         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
59159         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
59160         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
59161         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
59162         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
59163         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
59164         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
59165
59166         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
59167         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
59168
59169         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
59170         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
59171
59172         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
59173         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
59174
59175         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
59176         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
59177         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
59178
59179         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
59180         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
59181         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
59182
59183         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
59184         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
59185         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
59186
59187         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
59188         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
59189         * modules/vasprintf (Depends-on): Add EOVERFLOW.
59190
59191         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
59192         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
59193         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
59194         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
59195         (Depends-on): Add EOVERFLOW.
59196         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
59197         (Depends-on): Add EOVERFLOW.
59198         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
59199         (Depends-on): Add EOVERFLOW.
59200         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
59201         (Depends-on): Add EOVERFLOW.
59202         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
59203         (Depends-on): Add EOVERFLOW.
59204         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
59205         (Depends-on): Add EOVERFLOW.
59206         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
59207         (Depends-on): Add EOVERFLOW.
59208         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
59209         (Depends-on): Add EOVERFLOW.
59210
59211         * lib/sprintf.c (EOVERFLOW): Remove fallback.
59212         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
59213         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
59214
59215         * lib/snprintf.c (EOVERFLOW): Remove fallback.
59216         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
59217         * modules/snprintf (Depends-on): Add EOVERFLOW.
59218
59219         * lib/poll.c (EOVERFLOW): Remove fallback.
59220         * modules/poll (Depends-on): Add EOVERFLOW.
59221
59222         * lib/getugroups.c (EOVERFLOW): Remove fallback.
59223         * modules/getugroups (Depends-on): Add EOVERFLOW.
59224
59225         * lib/getdelim.c (EOVERFLOW): Remove fallback.
59226         * modules/getdelim (Depends-on): Add EOVERFLOW.
59227
59228         * lib/ftell.c (EOVERFLOW): Remove fallback.
59229         * modules/ftell (Depends-on): Add EOVERFLOW.
59230
59231         * lib/fprintf.c (EOVERFLOW): Remove fallback.
59232         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
59233         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
59234
59235         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
59236
59237         * modules/EOVERFLOW-tests: New file.
59238         * tests/test-EOVERFLOW.c: New file.
59239
59240         * modules/EOVERFLOW: New file.
59241         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
59242
59243 2008-03-30  Bruno Haible  <bruno@clisp.org>
59244
59245         Fix bug introduced on 2007-06-10.
59246         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
59247         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
59248
59249 2008-03-30  Bruno Haible  <bruno@clisp.org>
59250
59251         Improve freadseek's efficiency after ungetc.
59252         * lib/freadseek.c: Include freadahead.h.
59253         (freadptrinc): New function, extracted from freadseek.
59254         (freadseek): Use it in a loop. Use freadahead to determine the number
59255         of loop iterations.
59256         * modules/freadseek (Depends-on): Add freadahead.
59257         (configure.ac): Require AC_C_INLINE.
59258
59259 2008-03-30  Bruno Haible  <bruno@clisp.org>
59260
59261         * lib/freadseek.c (freadseek): Don't ignore the return value of
59262         freadptr.
59263
59264 2008-03-29  Eric Blake  <ebb9@byu.net>
59265
59266         Add hex float support.
59267         * modules/strtod (Depends-on): Add c-ctype.
59268         (Link): Mention POW_LIB.
59269         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
59270         whitespace between 'e' and exponent.
59271         * tests/test-strtod.c (main): Enable hex float tests.
59272         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
59273         now provides.
59274
59275         Document various strtod bugs, with some fixes.
59276         * doc/posix-functions/strtod.texi (strtod): Document bugs with
59277         "-0x", "inf", "nan", and hex constants.
59278         * doc/posix-functions/atof.texi (atof): Likewise.
59279         * modules/stdlib (Makefile.am): Support strtod.
59280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
59281         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
59282         detect additional strtod bugs.
59283         * lib/stdlib.in.h (rpl_strtod): Add declarations.
59284         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
59285         bool where appropriate.  Parse 'inf' and 'nan'.
59286         * tests/test-strtod.c: New file.
59287         * modules/strtod (Depends-on): Add stdbool, stdlib.
59288         (configure.ac): Turn on module indicator.
59289         * modules/strtod-tests: New module.
59290
59291 2008-03-29  Eric Blake  <ebb9@byu.net>
59292
59293         Fix ftell on mingw.
59294         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
59295         * modules/ftell-tests (Depends-on): Add binary-io.
59296         * modules/ftello-tests (Depends-on): Likewise.
59297         * tests/test-ftell.c (main): Enhance test to cover behavior after
59298         ungetc.  Enforce binary mode.
59299         * tests/test-ftello.c (main): Likewise.
59300
59301         Pass test-freadseek on cygwin.
59302         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
59303         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
59304         ungetc buffer.
59305
59306         * tests/test-fflush2.c (main): Fix typo.
59307
59308 2008-03-29  Bruno Haible  <bruno@clisp.org>
59309
59310         * tests/test-fflush2.c (main): Temporarily disable the contents of
59311         this test.
59312         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
59313         Reported by Eric Blake.
59314
59315 2008-03-28  Simon Josefsson  <simon@josefsson.org>
59316
59317         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
59318         (GC_SHA224_DIGEST_SIZE): Add.
59319
59320         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
59321         (gc_hash_digest_length): Likewise.
59322         (gc_hash_buffer): Likewise.
59323
59324 2008-03-25  Bruno Haible  <bruno@clisp.org>
59325
59326         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
59327         detail which gettext release to use.
59328         Reported by Simon Josefsson.
59329
59330 2008-03-26  Jim Meyering  <meyering@redhat.com>
59331
59332         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
59333         * modules/gnumakefile (clean-GNUmakefile): Also, use
59334         test ... && ... || : syntax rather than if-then ... fi.
59335
59336         gnumakefile: Don't double-quote-expand $(VPATH) value.
59337         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
59338
59339 2008-03-24  Eric Blake  <ebb9@byu.net>
59340
59341         Alter GNUmakefile to install into top directory.
59342         * modules/maintainer-makefile: Split, and add dependency...
59343         * modules/gnumakefile: to this new module.
59344         * build-aux/GNUmakefile: Move...
59345         * top/GNUmakefile: ...here.
59346         * build-aux/maint.mk: Move...
59347         * top/maint.mk: ...here.
59348         * MODULES.html.sh (Support for maintaining...): Document new
59349         module.
59350
59351 2008-03-23  Bruno Haible  <bruno@clisp.org>
59352
59353         * gnulib-tool: New options --vc-files, --no-vc-files.
59354         (func_usage): Document them.
59355         (vc_files): New variable.
59356         (func_import): Consider vc_files.
59357         (func_create_testdir): Set vc_files to empty.
59358         Suggested by Jim Meyering and Karl Berry.
59359
59360 2008-03-23  Bruno Haible  <bruno@clisp.org>
59361
59362         Fix regex compilation error on HP-UX 11.
59363         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
59364         * modules/regex (Files): Add m4/mbstate_t.m4.
59365         Reported by Ton Voon <ton.voon@altinity.com>.
59366
59367 2008-03-23  Bruno Haible  <bruno@clisp.org>
59368
59369         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
59370
59371 2008-03-23  Eric Blake  <ebb9@byu.net>
59372             Bruno Haible  <bruno@clisp.org>
59373
59374         Install files from top/ in the destination directory.
59375         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59376         augmentation also for the files from top/.
59377         (func_import, func_create_testdir): Rewrite file names:
59378         top/filename -> filename.
59379
59380 2008-03-23  Bruno Haible  <bruno@clisp.org>
59381
59382         Tweak "gnulib --version" output.
59383         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
59384
59385 2008-03-23  Bruno Haible  <bruno@clisp.org>
59386
59387         Tweak "gnulib --version" output.
59388         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
59389         rather than contents of ChangeLog, when possible.
59390
59391 2008-03-21  Eric Blake  <ebb9@byu.net>
59392
59393         More --version tweaks.
59394         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
59395         date of last ChangeLog entry.
59396
59397 2008-03-21  Jim Meyering  <meyering@redhat.com>
59398
59399         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
59400
59401 2008-03-20  Eric Blake  <ebb9@byu.net>
59402
59403         VPATH fix.
59404         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
59405
59406 2008-03-20  Simon Josefsson  <simon@josefsson.org>
59407
59408         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
59409         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
59410
59411 2008-03-20  Eric Blake  <ebb9@byu.net>
59412
59413         Sync GNUmakefile with coreutils.
59414         * build-aux/GNUmakefile (have-Makefile): Rename...
59415         (_have-Makefile): ...to this, for namespace consideration.
59416         (GNUmakefile.cfg): Include, if present.
59417         (_autoreconf): Define a default.
59418         (_is-dist-target): New rule for rebuilds to pick up intra-release
59419         version.
59420         (maint-cfg.mk): Rename...
59421         (cfg.mk): ...to this.
59422
59423 2008-03-18  Jim Meyering  <meyering@redhat.com>
59424
59425         New script and module: mktempd
59426         * MODULES.html.sh (maint+release support): Add mktempd.
59427         * build-aux/mktempd: New file.
59428         * modules/mktempd: New file.
59429
59430 2008-03-15  Jim Meyering  <meyering@redhat.com>
59431
59432         Undo last change.
59433         * lib/sha1.c, lib/md5.c: 63 != ~63.
59434         Reported by Andreas Schwab.
59435
59436         sha1.c, md5.c: Hoist a redundant expression.
59437         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
59438         "ctx->buflen" only once, before calling *_process_block.
59439         * lib/md5.c (md5_process_bytes): Likewise.
59440
59441 2008-03-14  Eric Blake  <ebb9@byu.net>
59442
59443         Bump copyright year in files generated by gnulib-tool.
59444         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
59445         gnulib-tool, rather than hard-coding it.
59446
59447         Fix 'gnulib-tool --version' output to work with git.
59448         * gnulib-tool (func_gnulib_dir): New function, extracted from...
59449         (startup): ...here.
59450         (func_version): Use it to invoke git-version-gen, rather than
59451         relying on CVS keyword expansion.  Modernize wording.
59452         (cvsdatestamp, last_checkin_date, version): Kill unused
59453         variables.
59454
59455 2008-03-12  Jim Meyering  <meyering@redhat.com>
59456
59457         Recognize optional cast of the argument to free.
59458         * build-aux/useless-if-before-free: Update regexps.
59459
59460         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
59461
59462 2008-03-11  Bruno Haible  <bruno@clisp.org>
59463
59464         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
59465         by a single package.
59466         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
59467         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
59468         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
59469         Reported by Sam Steingold <sds@gnu.org>.
59470
59471 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59472
59473         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
59474         repositories.
59475
59476 2008-03-11  Bruno Haible  <bruno@clisp.org>
59477
59478         Avoid conflicts between local macro definitions.
59479         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
59480         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
59481
59482 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
59483             Bruno Haible  <bruno@clisp.org>
59484
59485         Make va_copy work with some version of xlc on AIX 5.1.
59486         * lib/stdarg.in.h: New file.
59487         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
59488         On AIX, use a <stdarg.h> file substitute.
59489         * modules/stdarg (Files): Add lib/stdarg.in.h.
59490         (Depends-on): Add include_next.
59491         (Makefile.am): Build a stdarg.h substitute if requested.
59492         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
59493
59494 2008-03-10  Bruno Haible  <bruno@clisp.org>
59495
59496         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
59497         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
59498         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59499
59500 2008-03-10  Bruno Haible  <bruno@clisp.org>
59501
59502         * modules/stdlib (Depends-on): Add include_next, remove
59503         absolute-header.
59504
59505 2008-03-09  Bruno Haible  <bruno@clisp.org>
59506
59507         * lib/freadahead.h (freadahead): Document more precisely.
59508         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
59509         the sum of both buffer sizes.
59510         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
59511         * NEWS: Document the change.
59512
59513 2008-03-09  Bruno Haible  <bruno@clisp.org>
59514
59515         Extend freadptr to return also the buffer size.
59516         * lib/freadptr.h (freadptr): Add sizep argument.
59517         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
59518         (freadptr): Add sizep argument. Determine buffer size like freadahead
59519         does.
59520         * tests/test-freadptr.c: Don't include freadahead.h.
59521         (main): Adapt for new calling convention of freadptr.
59522         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
59523         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
59524         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
59525         tests/test-freadptr2.sh.
59526         (Depends): Remove freadahead.
59527         (TESTS): Add test-freadptr2.sh.
59528         (check_PROGRAMS): Add test-freadptr2.
59529
59530 2008-03-09  Bruno Haible  <bruno@clisp.org>
59531
59532         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
59533         Report and solution by Simon Josefsson.
59534
59535 2008-03-06  Bruno Haible  <bruno@clisp.org>
59536
59537         Make fflush after ungetc work on BSD platforms.
59538         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
59539         * tests/test-fflush2.c: New file.
59540         * tests/test-fflush2.sh: New file.
59541         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
59542         tests/test-fflush2.c.
59543         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
59544         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
59545
59546 2008-03-06  Eric Blake  <ebb9@byu.net>
59547
59548         Likewise for ftello.
59549         * modules/ftello (Dependencies): Add extensions.
59550         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
59551
59552 2008-03-06  Bruno Haible  <bruno@clisp.org>
59553
59554         * modules/fseeko (Dependencies): Add extensions.
59555         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
59556         Needed on glibc systems.
59557
59558 2008-03-06  Bruno Haible  <bruno@clisp.org>
59559
59560         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
59561         email address.
59562         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59563
59564 2008-03-06  Bruno Haible  <bruno@clisp.org>
59565
59566         * users.txt: Add libgnupdf.
59567
59568 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59569
59570         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
59571         (Header File Substitutes, Function Substitutes,
59572         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
59573         (Build robot for gnulib): Fix typo.
59574
59575 2008-03-06  Bruno Haible  <bruno@clisp.org>
59576
59577         * doc/gnulib-tool.texi (VCS Issues): Small updates.
59578         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59579
59580 2008-03-06  Bruno Haible  <bruno@clisp.org>
59581
59582         * doc/func.texi: New file, extracted from doc/gnulib.texi.
59583         * doc/gnulib.texi: Include it.
59584
59585 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59586
59587         * modules/func (License): Change license to unlimited; there was
59588         no LGPL parts in the module anyway.
59589
59590 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59591
59592         * modules/__func__: Renamed to modules/func.
59593         * modules/__func__-tests: Renamed to modules/func-tests.
59594         * tests/test-__func__.c: Renamed to tests/test-func.c.
59595         * m4/__func__.m4: Renamed to m4/func.m4.
59596         * doc/gnulib.texi (__func__): Section renamed to func.
59597         Suggested by Eric Blake <ebb9@byu.net>.
59598
59599 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59600
59601         * doc/gnulib.texi (__func__): Use C99 terminology when talking
59602         about __func__.  Make example self-contained.  Suggested by Eric
59603         Blake <ebb9@byu.net>.
59604
59605         * tests/test-__func__.c (main): Avoid extraneous () around __func.
59606         Suggested by Eric Blake <ebb9@byu.net>.
59607
59608 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59609
59610         * modules/__func__: New file.
59611         * modules/__func__-tests: New file.
59612         * tests/test-__func__.c: New file.
59613         * m4/__func__.m4: New file.
59614         * doc/gnulib.texi (__func__): Document __func__ module.
59615
59616 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59617
59618         * modules/byteswap (License): Re-license as LGPLv2+.
59619
59620 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59621
59622         * doc/Makefile: Add pdf target.
59623
59624 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59625
59626         * modules/inline (License): Use 'unlimited', since there are only
59627         *.m4 files in this module.
59628
59629 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59630             Bruno Haible  <bruno@clisp.org>
59631
59632         Add support for HP C 7.1 on OpenVMS 8.3.
59633         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
59634
59635 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59636
59637         Update VMS specifics.
59638         * lib/getopt.c [VMS]: Remove include of unixlib.h.
59639
59640 2008-03-02  Jim Meyering  <meyering@redhat.com>
59641
59642         Remove the last dependency on the "free" module.
59643         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
59644         Reported by Bob Proulx.
59645
59646         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
59647
59648         Remove useless "if" tests before free.  Deprecate "free" module.
59649         * doc/posix-functions/free.texi: Mention that this
59650         module is no longer useful.
59651         * modules/free (Notice): Say this module is obsolete.
59652         * modules/readutmp (Depends-on): Remove free.
59653         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
59654         * lib/putenv.c (putenv): Likewise.
59655         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
59656         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
59657         * tests/test-c-strcasestr.c (main): Likewise.
59658         * tests/test-c-strstr.c (main): Likewise.
59659         * tests/test-mbscasestr1.c (main): Likewise.
59660         * tests/test-mbscasestr2.c (main): Likewise.
59661         * tests/test-mbsstr1.c (main): Likewise.
59662         * tests/test-mbsstr2.c (main): Likewise.
59663         * tests/test-memmem.c (main): Likewise.
59664         * tests/test-strcasestr.c (main): Likewise.
59665         * tests/test-striconv.c (main): Likewise.
59666         * tests/test-striconveh.c (main): Likewise.
59667         * tests/test-striconveha.c (main): Likewise.
59668         * tests/test-strstr.c (main): Likewise.
59669
59670         * build-aux/git-version-gen: Adjust a comment and the Usage string.
59671
59672         bootstrap: sync from coreutils again
59673         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
59674
59675 2008-03-01  Jim Meyering  <meyering@redhat.com>
59676
59677         bootstrap: sync from coreutils
59678         * build-aux/bootstrap (update_po_files): Copy a .po file into place
59679         also when the target doesn't exist.
59680
59681 2008-03-01  Eric Blake  <ebb9@byu.net>
59682
59683         Fix bugs in last patch.
59684         * lib/memchr2.c (memchr2): Fix typo.
59685         * tests/test-memchr2.c: Test previous bug, and don't use GNU
59686         extension.
59687         Reported by Bruce Korb.
59688
59689         New module 'memchr2'.
59690         * modules/memchr2: New file.
59691         * modules/memchr2-tests: Likewise.
59692         * lib/memchr2.h: Likewise.
59693         * lib/memchr2.c: Likewise, based on memchr.c.
59694         * tests/test-memchr2.c: New test.
59695         * MODULES.html.sh (String handling): Add memchr2.
59696
59697 2008-02-29  Bruno Haible  <bruno@clisp.org>
59698
59699         * modules/freadseek-tests: New file.
59700         * tests/test-freadseek.sh: New file.
59701         * tests/test-freadseek.c: New file.
59702
59703         New module 'freadseek'.
59704         * modules/freadseek: New file.
59705         * lib/freadseek.h: New file.
59706         * lib/freadseek.c: New file.
59707         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
59708
59709 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59710
59711         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
59712         wydawca.
59713
59714         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
59715         program_invocation_name and program_invocation_short_name are
59716         present.
59717
59718 2008-02-28  Bruno Haible  <bruno@clisp.org>
59719
59720         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
59721         * tests/test-freadptr.sh: Also test non-seekable stdin.
59722
59723 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
59724
59725         * build-aux/bootstrap (source_base, m4_base)
59726         (doc_base, tests_base): New variables.
59727         (gnulib_tool_options): Do not hardcode base directories, use
59728         the above variables instead.
59729
59730 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
59731
59732         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
59733
59734 2008-02-28  Bruno Haible  <bruno@clisp.org>
59735
59736         * modules/freadptr-tests: New file.
59737         * tests/test-freadptr.sh: New file.
59738         * tests/test-freadptr.c: New file.
59739
59740         New module 'freadptr'.
59741         * modules/freadptr: New file.
59742         * lib/freadptr.h: New file.
59743         * lib/freadptr.c: New file.
59744         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
59745
59746 2008-02-26  Karl Berry  <karl@freefriends.org>
59747
59748         Sync from Libtool:
59749         * libltdl/argz.c (argz_add, argz_count): New functions.
59750         * libltdl/argz.in.h: Declare them.
59751         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
59752
59753 2008-02-22  Bruno Haible  <bruno@clisp.org>
59754
59755         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
59756         is a pointer type.  Needed for HP-UX 10.
59757         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
59758         * doc/posix-functions/gmtime_r.texi: Likewise.
59759         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59760
59761 2008-02-24  Bruno Haible  <bruno@clisp.org>
59762
59763         * modules/environ-tests: New file.
59764         * tests/test-environ.c: New file.
59765
59766         New module 'environ'.
59767         * modules/environ: New file.
59768         * lib/unistd.in.h (environ): New declaration.
59769         * m4/environ.m4: New file.
59770         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
59771         after use.
59772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
59773         HAVE_DECL_ENVIRON.
59774         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
59775         HAVE_DECL_ENVIRON.
59776         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
59777         wrong claim that 'environ' is missing on some systems.
59778         * modules/execute (Depends-on): Add environ.
59779         * lib/execute.c (environ): Remove fallback declaration.
59780         * modules/pipe (Depends-on): Add environ.
59781         * lib/pipe.c (environ): Remove fallback declaration.
59782         * modules/setenv (Depends-on): Add environ.
59783         * lib/setenv.c (environ): Remove fallback declaration.
59784         * modules/unsetenv (Depends-on): Add environ.
59785         * lib/unsetenv.c (environ): Remove fallback declaration.
59786         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
59787         m4/environ.m4.
59788         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
59789         (gl_PREREQ_UNSETENV): Likewise.
59790
59791 2008-02-24  Bruno Haible  <bruno@clisp.org>
59792
59793         * doc/posix-functions/environ.texi: Document the MacOS X problem.
59794
59795 2008-02-20  Bob Proulx  <bob@proulx.com>
59796
59797         Enable use of older two part flavor 'git describe'.
59798         * build-aux/git-version-gen: If using the older two part flavor of
59799         git version then recreate the third part now present in the
59800         newer three part flavor of git describe.
59801
59802 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
59803
59804         * lib/fts.c (fts_build): Typo correction to comment.
59805
59806 2008-02-17  Bruno Haible  <bruno@clisp.org>
59807
59808         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
59809         generating no-op conflicts.
59810
59811 2008-02-17  Bruno Haible  <bruno@clisp.org>
59812
59813         Speed up by 10%.
59814         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
59815         result_entries, rather than an index-based loop.
59816
59817 2008-02-17  Bruno Haible  <bruno@clisp.org>
59818
59819         Speed up by 25%.
59820         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
59821         'hashcode_cached'.
59822         (entry_create): New function.
59823         (entry_hashcode): Use the cached hashcode if possible.
59824         (read_changelog_file, try_split_merged_entry): Use entry_create.
59825
59826 2008-02-17  Bruno Haible  <bruno@clisp.org>
59827
59828         Speed up from O(n^2) to O(n) for long ChangeLog files.
59829         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
59830         (read_changelog_file): Change implementation of entries_reversed list
59831         to rbtreehash.
59832         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
59833
59834 2008-02-17  Bruno Haible  <bruno@clisp.org>
59835
59836         New option --split-merged-entry.
59837         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
59838         (find_paragraph_end, try_split_merged_entry): New functions.
59839         (long_options): Add option --split-merged-entry.
59840         (usage): Document option --split-merged-entry.
59841         (main): Implement option --split-merged-entry.
59842         Reported by Eric Blake.
59843
59844 2008-02-17  Bruno Haible  <bruno@clisp.org>
59845
59846         * lib/git-merge-changelog.c: Include c-strstr.h.
59847         (main): Support the "git pull --rebase" situation.
59848         * modules/git-merge-changelog (Depends-on): Add c-strstr.
59849         Reported by Eric Blake.
59850
59851 2008-02-16  Eric Blake  <ebb9@byu.net>
59852
59853         Avoid doubling \ in common case of "c-maybe" quoting style.
59854         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
59855         eliding outer quotes.
59856         * lib/quotearg.h: Document this.
59857         * tests/test-quotearg.c (result_strings, inputs, results_g)
59858         (flag_results, locale_results): Test it by adding a new string to
59859         each test group.
59860         (compare_strings): Test new string.
59861
59862 2008-02-13  Eric Blake  <ebb9@byu.net>
59863
59864         Avoid trigraph quoting in default output.
59865         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
59866         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
59867         unless explicitly requested.
59868         * tests/test-quotearg.c (flag_results, main): Add additional tests.
59869
59870 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
59871
59872         Don't rely on signed integer overflowing to negative value.
59873         * lib/getugroups.c (getugroups): Include <limits.h>.
59874         Instead, compare against INT_MAX, and increment only if the test passes.
59875
59876 2008-02-13  Jim Meyering  <meyering@redhat.com>
59877         and Eric Blake  <ebb9@byu.net>
59878
59879         Avoid shadowing warning and compile errors on Linux.
59880         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
59881         forwarding macros on Linux.
59882         (dcgettext): Define a stub, for Linux.
59883         (results_g, main): Avoid warnings.
59884
59885 2008-02-12  Eric Blake  <ebb9@byu.net>
59886
59887         Silence warning in last patch.
59888         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
59889
59890         Quotearg part 4: add tests, fix c-maybe colon quoting.
59891         * lib/quotearg.h: Improve documentation.
59892         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
59893         escapes when adding outer quotes.  When quoting trigraphs, use
59894         valid C notation.  When quoting NUL, omit extra characters if next
59895         character is not digit.  Alter prototype.
59896         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
59897         callers.
59898         * modules/quotearg-tests: New module.
59899         * tests/test-quotearg.c: New test.
59900
59901 2008-02-07  Eric Blake  <ebb9@byu.net>
59902
59903         Quotearg part 3: add flag to control outer quote elision.
59904         * lib/quotearg.h (c_maybe_quoting_style): New style.
59905         (enum quoting_flags): Better documentation of flags.
59906         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
59907         c-maybe style.
59908         (quotearg_buffer_restyled): Handle new flag to elide outer
59909         quotes.
59910
59911         Quotearg part 2: add flag that can control NUL elision.
59912         * lib/quotearg.h (set_quoting_flags): New prototype.
59913         * lib/quotearg.c (struct quoting_options): Add flag field.
59914         (set_quoting_flags): New function.
59915         (quotearg_buffer_restyled): Add flags parameter.
59916         (quotearg_alloc_mem): Set the flag if length cannot be returned.
59917         (quotearg_n_options): Set the flag, since length cannot be
59918         returned.
59919         (quoting_options_from_style): Default flags correctly.
59920
59921         Quotearg part 1: more wrappers, restore quotearg_char state.
59922         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
59923         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
59924         (quotearg_colon_mem): New wrappers.
59925         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
59926         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
59927         functions.
59928         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
59929         (quotearg_colon_mem): New functions.
59930
59931 2008-02-11  Bruno Haible  <bruno@clisp.org>
59932
59933         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
59934         library in the current directory: it does not work with parallel make.
59935         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59936
59937 2008-02-11  Bruno Haible  <bruno@clisp.org>
59938
59939         * .gitattributes: New file.
59940
59941 2008-02-11  Jim Meyering  <meyering@redhat.com>
59942
59943         useless-if-before-free: Fix reversed exit values.
59944         * build-aux/useless-if-before-free: Use correct values
59945         for EXIT_MATCH and EXIT_NO_MATCH.
59946
59947         * build-aux/useless-if-before-free: Close stdout carefully.
59948
59949 2008-02-10  Bruno Haible  <bruno@clisp.org>
59950
59951         New module 'git-merge-changelog'.
59952         * modules/git-merge-changelog: New file.
59953         * lib/git-merge-changelog.c: New file.
59954
59955 2008-02-10  Jim Meyering  <meyering@redhat.com>
59956
59957         useless-if-before-free: New option: --list (-l).
59958
59959         useless-if-before-free: Don't exit immediately upon open failure.
59960         * build-aux/useless-if-before-free: Exit 2 for errors.
59961         Upon failure to open a file, don't exit immediately.
59962         Rather, just warn and continue with any remaining files.
59963
59964 2008-02-10  Bruno Haible  <bruno@clisp.org>
59965
59966         New abstract list operation 'node_set_value'.
59967         * lib/gl_list.h (gl_list_node_set_value): New function.
59968         (struct gl_list_implementation): New field node_set_value.
59969         * lib/gl_list.c (gl_list_node_set_value): New function.
59970         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59971         (gl_array_list_implementation): Update.
59972         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59973         (gl_carray_list_implementation): Update.
59974         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59975         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59976         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59977         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59978         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59979         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59980         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59981         Update.
59982         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59983         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59984         (gl_sublist_list_implementation): Update.
59985
59986 2008-02-10  Bruno Haible  <bruno@clisp.org>
59987
59988         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59989         Needed when ELEMENT is #defined to 'some_type *'.
59990
59991 2008-02-10  Jim Meyering  <meyering@redhat.com>
59992
59993         New script and module: useless-if-before-free
59994         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59995         * build-aux/useless-if-before-free: New file.
59996         * modules/useless-if-before-free: New file.
59997
59998         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59999
60000         xstrtol_error: Fix typo.
60001         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
60002         s/exit_failure/exit_status/.
60003
60004 2008-02-09  Jim Meyering  <meyering@redhat.com>
60005
60006         New script and module: gitlog-to-changelog
60007         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
60008         * modules/gitlog-to-changelog: New file.
60009         * build-aux/gitlog-to-changelog: New file.
60010
60011 2008-02-08  Jim Meyering  <meyering@redhat.com>
60012
60013         Avoid two "parameter unused" warnings.
60014         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
60015         Mark "st" as used.
60016
60017         Use "git COMMAND", not "git-COMMAND".
60018         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
60019         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
60020         * build-aux/git-version-gen: Use "git status", not "git-status".
60021
60022 2008-02-07  Bruno Haible  <bruno@clisp.org>
60023
60024         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
60025         Avoids a crash on Windows Vista.
60026         Reported by Adam Strzelecki <ono@java.pl> via
60027         Simon Josefsson <simon@josefsson.org>.
60028
60029 2008-02-06  Bruno Haible  <bruno@clisp.org>
60030
60031         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
60032         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
60033         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
60034         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
60035         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60036         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60037         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
60038         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
60039         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60040         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60041         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60042         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60043         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60044         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60045         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60046         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
60047         left-adjust flag.
60048         * tests/test-snprintf-posix.h (test_function): Likewise.
60049         * tests/test-sprintf-posix.h (test_function): Likewise.
60050         * tests/test-vasprintf-posix.c (test_function): Likewise.
60051         * doc/posix-functions/fprintf.texi: Update.
60052         * doc/posix-functions/printf.texi: Update.
60053         * doc/posix-functions/snprintf.texi: Update.
60054         * doc/posix-functions/sprintf.texi: Update.
60055         * doc/posix-functions/vfprintf.texi: Update.
60056         * doc/posix-functions/vprintf.texi: Update.
60057         * doc/posix-functions/vsnprintf.texi: Update.
60058         * doc/posix-functions/vsprintf.texi: Update.
60059         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60060
60061 2008-02-06  Bruno Haible  <bruno@clisp.org>
60062
60063         Fix bug introduced on 2008-01-26.
60064         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
60065
60066 2008-02-06  Bruno Haible  <bruno@clisp.org>
60067
60068         Fix bug introduced on 2007-06-10.
60069         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
60070         !NEED_PRINTF_FLAG_ZERO.
60071
60072 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
60073
60074         getloadavg: use libperfstat on AIX5
60075         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
60076
60077 2008-02-03  Bruno Haible  <bruno@clisp.org>
60078
60079         * lib/diffseq.h: Add comments about required #includes.
60080         Reported by Michael Biggs <gnulib@doubleplum.net>.
60081
60082 2008-02-01  Bruno Haible  <bruno@clisp.org>
60083
60084         * users.txt: Add gnuit.
60085
60086 2008-01-31  Bruno Haible  <bruno@clisp.org>
60087
60088         * lib/md4.c (set_uint32): Mark as inline.
60089         * lib/md5.c (set_uint32): Likewise.
60090         * lib/sha1.c (set_uint32): Likewise.
60091         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
60092         * m4/md5.m4 (gl_MD5): Likewise.
60093         * m4/sha1.m4 (gl_SHA1): Likewise.
60094
60095 2008-01-31  Jim Meyering  <meyering@redhat.com>
60096
60097         Use "sizeof VAR", rather than a literal "4".
60098         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
60099         * lib/md4.c (md4_read_ctx): Likewise.
60100         * lib/sha1.c (sha1_read_ctx): Likewise.
60101
60102 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60103
60104         * tests/test-sha1.c: New file, based on test-md5.c.
60105
60106         * modules/crypto/sha1-tests: New file.
60107
60108 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60109
60110         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
60111
60112 2008-01-31  Jim Meyering  <meyering@redhat.com>
60113
60114         Prefer "sizeof v" over the equivalent "4".
60115         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
60116         * lib/md5.c (set_uint32): Likewise.
60117         * lib/sha1.c (set_uint32): Likewise.
60118
60119 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60120
60121         * lib/sha1.c (set_uint32): Mark function as static.
60122
60123 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60124
60125         md2: clarify comments to say that alignment is not required.
60126         * lib/md2.h: Remove warning about alignment in comment.
60127         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
60128         never been required.
60129
60130 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60131
60132         md4: adapt alignment constraint fix from sha1.
60133         * lib/md4.c (set_uint32): New function, from sha1.c
60134         (md4_read_ctx): Use it.
60135         (md4_finish_ctx): Doc fix.
60136         * lib/md4.h: Doc fix.
60137
60138 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60139
60140         md5: adapt alignment constraint fix from sha1.
60141         * lib/md5.c (set_uint32): New function, from sha1.c
60142         (md5_read_ctx): Use it.
60143         (md5_finish_ctx): Doc fix.
60144         * lib/md5.h: Doc fix.
60145
60146 2008-01-30  Peter Palfrader  <weasel@debian.org>
60147
60148         sha1: remove the result buffer alignment constraint
60149         * lib/sha1.c (set_uint32): New function.
60150         (sha1_read_ctx): Rewrite to remove the result buffer alignment
60151         constraint.
60152         (sha1_finish_ctx): Remove comment warning about alignment constraint.
60153         * lib/sha1.h: Likewise.
60154
60155 2008-01-30  Andreas Schwab  <schwab@suse.de>
60156             Bruno Haible  <bruno@clisp.org>
60157
60158         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
60159         correct definition of LDBL_MIN_EXP.
60160
60161 2008-01-30  Karl Berry  <karl@gnu.org>
60162
60163         * config/srclist-update: try to preserve x bit on updates.
60164         * config/srclistvars.sh: update for karl.
60165
60166 2008-01-29  Jim Meyering  <meyering@redhat.com>
60167
60168         vasnprintf.c: Avoid warning about unused label
60169         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
60170         "overflow" label definition and associated code with the
60171         same cpp condition that guards the sole use of that label.
60172
60173 2008-01-26  Bruno Haible  <bruno@clisp.org>
60174
60175         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
60176         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
60177         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
60178         * lib/isnanl-nolibm.h (isnanl): Likewise.
60179         Reported by Paul Eggert <eggert@cs.ucla.edu>.
60180
60181 2008-01-26  Bruno Haible  <bruno@clisp.org>
60182
60183         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
60184         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
60185
60186 2008-01-26  Bruno Haible  <bruno@clisp.org>
60187
60188         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
60189         GCC >= 4.0 built-in.
60190         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
60191
60192 2008-01-26  Bruno Haible  <bruno@clisp.org>
60193
60194         Rename isnan, applicable to 'double' only, to isnand.
60195         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
60196         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
60197         (configure.ac): Update.
60198         (Include): Replace "isnan.h" with "isnand.h".
60199         * m4/isnand.m4: Renamed from m4/isnan.m4.
60200         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
60201         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
60202         instead of isnan.c.
60203         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
60204         instead of HAVE_ISNAN_IN_LIBC.
60205         (isnand): Renamed from isnan.
60206         * lib/isnand.c: New file.
60207         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
60208         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
60209         (Makefile.am): Update.
60210         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
60211         Include isnand.h instead of isnan.h.
60212         (main): Test isnand instead of isnan.
60213         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
60214         isnan-nolibm.
60215         * modules/frexp (Depends-on): Likewise.
60216         * modules/frexp-tests (Depends-on): Likewise.
60217         * modules/frexp-nolibm (Depends-on): Likewise.
60218         * modules/frexp-nolibm-tests (Depends-on): Likewise.
60219         * modules/isfinite (Depends-on): Likewise.
60220         * modules/round-tests (Depends-on): Likewise.
60221         * modules/signbit (Depends-on): Likewise.
60222         * modules/signbit-tests (Depends-on): Likewise.
60223         * modules/snprintf-posix (Depends-on): Likewise.
60224         * modules/sprintf-posix (Depends-on): Likewise.
60225         * modules/trunc-tests (Depends-on): Likewise.
60226         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60227         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60228         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60229         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60230         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60231         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60232         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60233         * modules/vasnprintf-posix (Depends-on): Likewise.
60234         * modules/vasprintf-posix (Depends-on): Likewise.
60235         * modules/vfprintf-posix (Depends-on): Likewise.
60236         * modules/vsnprintf-posix (Depends-on): Likewise.
60237         * modules/vsprintf-posix (Depends-on): Likewise.
60238         * lib/frexp.c: Include isnand.h instead of isnan.h.
60239         (ISNAN): Set to isnand instead of isnan.
60240         * lib/isfinite.c: Include isnand.h instead of isnan.h.
60241         (gl_isfinited): Use isnand instead of isnan.
60242         * lib/signbitd.c: Include isnand.h instead of isnan.h.
60243         (gl_signbitd): Use isnand instead of isnan.
60244         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
60245         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
60246         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
60247         (main): Use isnand instead of isnan.
60248         * tests/test-round1.c: Include isnand.h.
60249         (main): Use isnand instead of isnan.
60250         * tests/test-round2.c: Include isnand.h instead of isnan.h.
60251         (ISNAN): Set to isnand instead of isnan.
60252         * tests/test-trunc1.c: Include isnand.h.
60253         (main): Use isnand instead of isnan.
60254         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
60255         (equal): Use isnand instead of isnan.
60256         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
60257         isnand-nolibm.
60258         * NEWS: Mention the change.
60259
60260 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60261             Bruno Haible  <bruno@clisp.org>
60262
60263         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
60264         the GCC builtins for signbits are present and set
60265         REPLACE_SIGNBIT_USING_GCC if so.
60266         * lib/math.in.h (signbit): Define using GCC builtins if
60267         REPLACE_SIGNBIT_USING_GCC is set.
60268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
60269         REPLACE_SIGNBIT_USING_GCC.
60270         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
60271
60272 2008-01-25  Jim Meyering  <meyering@redhat.com>
60273
60274         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
60275         * lib/poll.c: Include <config.h>, not "config.h".
60276         * tests/test-getaddrinfo.c: Likewise.
60277
60278 2008-01-25  Simon Josefsson  <simon@josefsson.org>
60279
60280         * modules/sockets-tests: New file.
60281
60282 2008-01-24  Simon Josefsson  <simon@josefsson.org>
60283
60284         * modules/sockets: New module, can be used to call WSA_Startup and
60285         WSA_Cleanup when needed.
60286
60287         * lib/sockets.h, lib/sockets.c: New files.
60288
60289         * m4/sockets.m4: New file.
60290
60291         * tests/test-sockets.c: New file.
60292
60293 2008-01-19  Bruno Haible  <bruno@clisp.org>
60294
60295         * doc/posix-headers: Renamed from doc/headers.
60296         * doc/posix-functions: Renamed from doc/functions.
60297         * doc/gnulib.texi: Update.
60298
60299 2008-01-19  Bruno Haible  <bruno@clisp.org>
60300
60301         * doc/glibc-functions/strcasestr.texi: Include contents of
60302         doc/functions/strcasestr.texi, fixing the list of platforms.
60303         * doc/functions/strcasestr.texi: Remove file.
60304
60305 2008-01-19  Bruno Haible  <bruno@clisp.org>
60306
60307         * doc/glibc-functions/memmem.texi: Include contents of
60308         doc/functions/memmem.texi.
60309         * doc/functions/memmem.texi: Remove file.
60310
60311 2008-01-18  Bruno Haible  <bruno@clisp.org>
60312
60313         * doc/glibc-functions/*.texi: New files.
60314         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
60315         to use the new files.
60316
60317 2008-01-17  Bruno Haible  <bruno@clisp.org>
60318
60319         * tests/test-gethostname.c (main): Fix printf statement.
60320
60321 2008-01-17  Simon Josefsson  <simon@josefsson.org>
60322
60323         * modules/gethostname-tests: New file.
60324
60325         * tests/test-gethostname.c: New file.
60326
60327 2008-01-17  Simon Josefsson  <simon@josefsson.org>
60328
60329         * lib/gethostname.c: Include string.h unconditionally, strncpy is
60330         used by the UNAME case.  Reported by Bruno Haible
60331         <bruno@clisp.org>.
60332
60333 2008-01-17  Eric Blake  <ebb9@byu.net>
60334
60335         Convert c-strcasestr to be more efficient.
60336         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
60337         (Depends-on): Add c-strcase, remove malloca, strnlen.
60338         * tests/test-c-strcasestr.c (main): Enhance test.
60339         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
60340
60341 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
60342
60343         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
60344         Use it in creating po/Makevars.
60345
60346 2008-01-15  Simon Josefsson  <simon@josefsson.org>
60347
60348         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
60349         Applications that requires it should initialize libgcrypt
60350         manually.
60351
60352 2008-01-16  Simon Josefsson  <simon@josefsson.org>
60353
60354         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
60355
60356 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
60357
60358         Fix problem with getdate on mingw32 reported by Simon Josefsson
60359         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
60360         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
60361         tzname", when deciding whether to declare tzname.
60362         * lib/strftime.c (tzname): Likewise.
60363
60364 2008-01-15  Bruno Haible  <bruno@clisp.org>
60365
60366         Work around a MacOS X 10.5 bug in frexpl().
60367         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
60368         * doc/functions/frexpl.texi: Document the bug.
60369         Reported by Elias Pipping <pipping@gentoo.org>.
60370
60371 2008-01-14  Eric Blake  <ebb9@byu.net>
60372
60373         Touch up previous patch.
60374         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
60375         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
60376
60377         Convert strcasestr module to use Two-Way algorithm.
60378         * modules/strcasestr-simple: New module, based on the old
60379         strcasestr, but with Two-Way rather than KMP.
60380         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
60381         * lib/string.in.h (rpl_strcasestr): Declare.
60382         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
60383         performance.
60384         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
60385         * modules/string (Makefile.am): Support strcasestr.
60386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
60387         * modules/strcasestr-tests (Depends-on): Check for alarm.
60388         * tests/test-strcasestr.c: Augment test.
60389         * lib/str-two-way.h: Clean up stray macro.
60390         * NEWS: Document new module.
60391         * MODULES.html.sh (string handling): Likewise.
60392         * doc/functions/strcasestr.texi: New file.
60393         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
60394         here, since it is not a POSIX function.
60395
60396 2008-01-14  Colin Watson  <cjwatson@debian.org>
60397             Bruno Haible  <bruno@clisp.org>
60398
60399         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
60400         works fine; if not, set REPLACE_STRSIGNAL.
60401         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
60402         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60403         REPLACE_STRSIGNAL.
60404         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
60405         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
60406         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
60407
60408 2008-01-14  Bruno Haible  <bruno@clisp.org>
60409
60410         * modules/strsignal (Include): Change to <string.h>.
60411
60412 2008-01-14  Colin Watson  <cjwatson@debian.org>
60413
60414         * modules/argp (Notice): Add a notice recommending to change
60415         XGETTEXT_OPTIONS.
60416         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
60417
60418 2008-01-13  Colin Watson  <cjwatson@debian.org>
60419
60420         * modules/strsignal-tests: New file.
60421         * tests/test-strsignal.c: New file.
60422
60423         * lib/strsignal.c: New file, from glibc with modifications.
60424         * lib/siglist.h: New file, from glibc with modifications.
60425         * lib/string.in.h (strsignal): New declaration.
60426         * m4/strsignal.m4: New file.
60427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60428         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
60429         * modules/strsignal: New file.
60430         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
60431         HAVE_DECL_STRSIGNAL.
60432
60433 2008-01-13  Bruno Haible  <bruno@clisp.org>
60434
60435         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
60436         locale encoding is not ASCII. Needed for OpenBSD 4.0.
60437         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60438         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60439
60440 2008-01-13  Bruno Haible  <bruno@clisp.org>
60441
60442         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
60443         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
60444         * lib/argp.h (__attribute__): Likewise.
60445         * lib/c-stack.c (__attribute__): Likewise.
60446         * lib/error.h (__attribute__): Likewise.
60447         * lib/fts.c (__attribute__): Likewise.
60448         * lib/openat.h (__attribute__): Likewise.
60449         * lib/stdio.in.h (__attribute__): Likewise.
60450         * lib/string.in.h (__attribute__): Likewise.
60451         * lib/utimens.c (__attribute__): Likewise.
60452         * lib/vasnprintf.h (__attribute__): Likewise.
60453         * lib/xalloc.h (__attribute__): Likewise.
60454         * lib/xprintf.h (__attribute__): Likewise.
60455         * lib/xstrtol.h (__attribute__): Likewise.
60456         * lib/xvasprintf.h (__attribute__): Likewise.
60457
60458 2008-01-12  Bruno Haible  <bruno@clisp.org>
60459
60460         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
60461         * doc/glibc-headers/a.out.texi: New file.
60462         * doc/glibc-headers/aliases.texi: New file.
60463         * doc/glibc-headers/alloca.texi: New file.
60464         * doc/glibc-headers/ar.texi: New file.
60465         * doc/glibc-headers/argp.texi: New file.
60466         * doc/glibc-headers/argz.texi: New file.
60467         * doc/glibc-headers/byteswap.texi: New file.
60468         * doc/glibc-headers/crypt.texi: New file.
60469         * doc/glibc-headers/endian.texi: New file.
60470         * doc/glibc-headers/envz.texi: New file.
60471         * doc/glibc-headers/err.texi: New file.
60472         * doc/glibc-headers/error.texi: New file.
60473         * doc/glibc-headers/execinfo.texi: New file.
60474         * doc/glibc-headers/fpu_control.texi: New file.
60475         * doc/glibc-headers/fstab.texi: New file.
60476         * doc/glibc-headers/fts.texi: New file.
60477         * doc/glibc-headers/getopt.texi: New file.
60478         * doc/glibc-headers/ieee754.texi: New file.
60479         * doc/glibc-headers/ifaddrs.texi: New file.
60480         * doc/glibc-headers/libintl.texi: New file.
60481         * doc/glibc-headers/mcheck.texi: New file.
60482         * doc/glibc-headers/mntent.texi: New file.
60483         * doc/glibc-headers/obstack.texi: New file.
60484         * doc/glibc-headers/paths.texi: New file.
60485         * doc/glibc-headers/printf.texi: New file.
60486         * doc/glibc-headers/pty.texi: New file.
60487         * doc/glibc-headers/resolv.texi: New file.
60488         * doc/glibc-headers/shadow.texi: New file.
60489         * doc/glibc-headers/sysexits.texi: New file.
60490         * doc/glibc-headers/ttyent.texi: New file.
60491
60492 2008-01-12  Jim Meyering  <meyering@redhat.com>
60493
60494         announce-gen: emit Gnulib's git-based version string.
60495         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
60496         New option --gnulib-version=V, where V is expected to be
60497         the output of running git describe in the gnulib directory.
60498         (get_tool_versions): Request feedback on xdelta.  I suspect it's
60499         not useful, and plan to stop publishing an xdelta file with each
60500         coreutils release.
60501
60502         * build-aux/announce-gen: Also check for lzma-compressed files.
60503
60504 2008-01-11  Bruno Haible  <bruno@clisp.org>
60505
60506         * tests/test-memmem.c (main): Increase maximum allowed time.
60507         * tests/test-strstr.c (main): Likewise.
60508
60509 2008-01-11  Bruno Haible  <bruno@clisp.org>
60510
60511         * doc/functions/memmem.texi: Add more precisions about platforms.
60512         * doc/functions/strstr.texi: Likewise.
60513
60514 2008-01-10  Eric Blake  <ebb9@byu.net>
60515
60516         * m4/strstr.m4: Delete cruft from copy-n-paste.
60517         Reported by Bruno Haible.
60518
60519 2008-01-10  Bruno Haible  <bruno@clisp.org>
60520
60521         Make c-strstr rely on strstr.
60522         * lib/c-strstr.c: Don't include str-kmp.h.
60523         (c_strstr): Define in terms of strstr.
60524         * modules/c-strstr (Files): Remove lib/str-kmp.h.
60525         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
60526
60527 2008-01-10  Bruno Haible  <bruno@clisp.org>
60528
60529         * doc/gnulib.texi (String Functions in C Locale): New section.
60530         * doc/c-ctype.texi: New file.
60531         * doc/c-strcase.texi: New file.
60532         * doc/c-strcaseeq.texi: New file.
60533         * doc/c-strcasestr.texi: New file.
60534         * doc/c-strstr.texi: New file.
60535         * doc/c-strtod.texi: New file.
60536         * doc/c-strtold.texi: New file.
60537
60538 2008-01-10  Eric Blake  <ebb9@byu.net>
60539
60540         * lib/relocatable.h: Fix a comment.
60541
60542 2008-01-10  Eric Blake  <ebb9@byu.net>
60543
60544         Share two-way algorithm.
60545         * lib/str-two-way.h: New file, merged from...
60546         * lib/memmem.c: ...here...
60547         * lib/strstr.c: ...and here.
60548         * modules/memmem (Files): Use it.
60549         * modules/strstr (Files): Likewise.
60550
60551         Avoid quadratic strstr implementations.
60552         * lib/strstr.c: New file.
60553         * m4/strstr.m4: Likewise.
60554         * modules/strstr: Likewise.
60555         * modules/strstr-tests: Likewise.
60556         * tests/test-strstr.c: Likewise.
60557         * lib/string.in.h (rpl_strstr): Declare.
60558         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
60559         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
60560         * modules/string (Makefile.am): Likewise.
60561         * MODULES.html.sh (string handling): Mention new module.
60562         * doc/functions/strstr.texi (strstr): Document the bug.
60563
60564 2008-01-10  Bruno Haible  <bruno@clisp.org>
60565
60566         * lib/relocatable.h (relocate): State whether result is freshly
60567         allocated or not.
60568         * lib/relocatable.c (relocate): Return a freshly allocated string
60569         instead of a pointer to a privately held string.
60570         Reported by Sylvain Beucler <beuc@gnu.org>.
60571
60572 2008-01-10  Colin Watson  <cjwatson@debian.org>
60573
60574         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
60575         s/S_ISNLK/S_ISLNK/.
60576
60577 2008-01-09  Bruno Haible  <bruno@clisp.org>
60578
60579         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
60580         and other files.
60581         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
60582         if it's only a guess.
60583         * modules/memmem: Simplify by depending on memmem-simple.
60584
60585 2008-01-09  Bruno Haible  <bruno@clisp.org>
60586
60587         Work around OpenBSD 4.0 tdelete() bug.
60588         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
60589         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
60590         macros and don't redefine the enum values.
60591         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
60592         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
60593         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
60594
60595 2008-01-09  Bruno Haible  <bruno@clisp.org>
60596
60597         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
60598         (main): Don't perform the tests if setlocale did not install a UTF-8
60599         locale. Needed on OpenBSD 4.0.
60600         * modules/wcwidth-tests (Depends-on): Add localcharset.
60601
60602 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60603
60604         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
60605         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
60606         * NEWS: announce this.
60607         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
60608
60609 2008-01-09  Simon Josefsson  <simon@josefsson.org>
60610         and Eric Blake  <ebb9@byu.net>
60611
60612         Add memmem-simple module.
60613         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
60614         (gl_FUNC_MEMMEM): Separate performance from presence checks.
60615         * modules/memmem-simple: New file.
60616         * modules/memmem (Description): Tweak.
60617         * MODULES.html.sh (string handling): Mention new module.
60618         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
60619         addressed by memmem-simple.
60620         * NEWS: Document the difference.
60621
60622 2008-01-09  Eric Blake  <ebb9@byu.net>
60623
60624         Give gcc some memmem optimization hints.
60625         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
60626         (strcasestr): Declare as pure.
60627         * modules/memmem (Maintainer): Claim my implementation.
60628
60629 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60630
60631         Support AIX 6.1 and higher.
60632         * build-aux/config.libpath: Likewise.
60633         * build-aux/config.rpath: Likewise.
60634
60635 2008-01-08  Jim Meyering  <meyering@redhat.com>
60636             Bruno Haible  <bruno@clisp.org>
60637
60638         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
60639         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
60640         Reported by Peter Fales in
60641         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
60642
60643 2008-01-08  Bruno Haible  <bruno@clisp.org>
60644
60645         * modules/unictype/category-of (Depends-on): Add
60646         unictype/category-none.
60647         * modules/unictype/category-and-tests (Depends-on): Add
60648         unictype/category-{L,N,Lu,Nd}.
60649         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
60650         * modules/unictype/category-or-tests (Depends-on): Add
60651         unictype/category-{L,N}.
60652         * modules/unictype/category-name-tests (Depends-on): Add
60653         unictype/category-{Z,Nl}.
60654         Reported by Simon Josefsson.
60655
60656 2008-01-08  Bruno Haible  <bruno@clisp.org>
60657
60658         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
60659         convention better.
60660         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
60661         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
60662         Reported by Peter Miller <millerp@canb.auug.org.au>.
60663
60664 2008-01-08  Eric Blake  <ebb9@byu.net>
60665
60666         Rewrite memmem to guarantee linear complexity without malloc.
60667         * lib/memmem.c (memmem): Use Two-Way rather than
60668         Knuth-Morris-Pratt, to allow O(1) space usage.
60669         (critical_factorization, two_way_short_needle)
60670         (two_way_long_needle): New functions.
60671         (knuth_morris_pratt): Delete.
60672         * modules/memmem (Depends-on): No longer need malloca or stdbool.
60673         Add stdint.
60674         * tests/test-memmem.c (main): Add tests for periodic needle and
60675         sublinear performance.
60676         * doc/functions/memmem.texi (memmem): Document other deficiencies
60677         in cygwin and older glibc.
60678
60679 2008-01-08  Bruno Haible  <bruno@clisp.org>
60680
60681         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
60682         augmentation.
60683
60684 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
60685
60686         Add a configure time option: --disable-acl.
60687         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
60688         AC_ARG_ENABLE(acl).
60689
60690 2008-01-06  Simon Josefsson  <simon@josefsson.org>
60691
60692         * tests/test-localename.c: Don't include obsolete "setenv.h".
60693
60694         * modules/localename-tests (Depends-on): Need unsetenv.
60695
60696 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60697
60698         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
60699
60700 2008-01-06  Colin Watson  <cjwatson@debian.org>
60701
60702         * users.txt: Add man-db.
60703
60704 2008-01-07  Bruno Haible  <bruno@clisp.org>
60705
60706         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
60707         previous section name.
60708
60709 2008-01-07  Bruno Haible  <bruno@clisp.org>
60710
60711         * lib/progname.c (set_program_name): Don't strip off a leading
60712         "lt-" prefix outside a .libs directory.
60713         Suggested by Paul Eggert.
60714
60715 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
60716             Bruno Haible  <bruno@clisp.org>
60717
60718         Improve memory cleanup in 'relocatable' module.
60719         * lib/relocatable.h (compute_curr_prefix): Change return type to
60720         'char *'.
60721         * lib/relocatable.c (compute_curr_prefix): Change return type to
60722         'char *'. Free curr_installdir after use.
60723         (relocate): Free curr_prefix_better after use.
60724         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
60725
60726 2008-01-01  Bruno Haible  <bruno@clisp.org>
60727
60728         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
60729         failure on older glibc systems.
60730         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60731
60732 2008-01-05  Eric Blake  <ebb9@byu.net>
60733
60734         Avoid quadratic system memmem.
60735         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
60736         Reported by Ralf Wildenhues.
60737
60738         Fix memmem test for mingw.
60739         * modules/memmem-tests (configure.ac): Check for alarm.
60740         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
60741         it.
60742         * doc/functions/memmem.texi: New file.
60743         * doc/gnulib.texi (Function Substitutes): Add memmem.
60744         Reported by Bruno Haible.
60745
60746 2008-01-04  Bruno Haible  <bruno@clisp.org>
60747
60748         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60749         Require gl_HEADER_STRINGS_H_DEFAULTS, not
60750         gl_HEADER_STRING_H_DEFAULTS.
60751
60752 2008-01-04  Eric Blake  <ebb9@byu.net>
60753
60754         Shorten duration of memmem test.
60755         * tests/test-memmem.c (main): Use alarm to declare failure if test
60756         is taking too long.
60757         Reported by Ralf Wildenhues.
60758
60759 2007-12-21  Simon Josefsson  <simon@josefsson.org>
60760
60761         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
60762         string, needed by strerror.
60763
60764 2008-01-03  Colin Watson  <cjwatson@debian.org>
60765             Bruno Haible  <bruno@clisp.org>
60766
60767         * doc/gnulib-tool.texi (Localization): New section.
60768
60769 2008-01-02  Bruno Haible  <bruno@clisp.org>
60770
60771         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
60772         variables to 'unsigned char *' type.
60773         Reported by Paul Eggert.
60774
60775 2008-01-02  Jim Meyering  <jim@meyering.net>
60776
60777         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
60778
60779 2007-12-31  Jim Meyering  <jim@meyering.net>
60780
60781         Avoid use of private FTS type name.
60782         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
60783
60784 2007-12-30  Karl Berry  <karl@gnu.org>
60785
60786         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
60787         work around defect in Texinfo and/or the standalone Info browser.
60788
60789 2007-12-30  Bruno Haible  <bruno@clisp.org>
60790
60791         Unify 5 copies of the KMP code.
60792         * lib/str-kmp.h: New file.
60793         * lib/c-strcasestr.c: Include str-kmp.h.
60794         (knuth_morris_pratt): Remove function.
60795         (c_strcasestr): Update.
60796         * lib/c-strstr.c: Include str-kmp.h.
60797         (knuth_morris_pratt): Remove function.
60798         (c_strcasestr): Update.
60799         * lib/mbscasestr.c: Include str-kmp.h.
60800         (knuth_morris_pratt_unibyte): Remove function.
60801         * lib/mbsstr.c: Include str-kmp.h.
60802         (knuth_morris_pratt_unibyte): Remove function.
60803         * lib/strcasestr.c: Include str-kmp.h.
60804         (knuth_morris_pratt): Remove function.
60805         (strcasestr): Update.
60806         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
60807         * modules/c-strstr (Files): Likewise.
60808         * modules/mbscasestr (Files): Likewise.
60809         * modules/mbsstr (Files): Likewise.
60810         * modules/strcasestr (Files): Likewise.
60811         Suggested by Paul Eggert.
60812
60813 2007-12-30  Bruno Haible  <bruno@clisp.org>
60814
60815         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
60816         defined.
60817
60818 2007-12-30  Bruno Haible  <bruno@clisp.org>
60819
60820         * lib/xmalloca.h: Include xalloc.h.
60821         (xnmalloca): New macro.
60822
60823 2007-12-30  Bruno Haible  <bruno@clisp.org>
60824
60825         * lib/malloca.h (nmalloca): New macro.
60826         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
60827         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
60828         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
60829         knuth_morris_pratt_multibyte): Likewise.
60830         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
60831         knuth_morris_pratt_multibyte): Likewise.
60832         * lib/memmem.c (knuth_morris_pratt): Likewise.
60833         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
60834
60835 2007-12-25  Bruno Haible  <bruno@clisp.org>
60836
60837         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
60838         * lib/glob.c: Don't include openat.h.
60839         (link_exists2_p): Add back the code that deals with the
60840         !GLOB_ALTDIRFUNC case.
60841         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
60842         let it do the filename concatenation.
60843         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
60844         * modules/glob (Depends-on): Remove openat.
60845
60846 2007-12-31  Bruno Haible  <bruno@clisp.org>
60847
60848         * modules/dirfd (License): Change to LGPLv2+.
60849         Approved by Jim Meyering.
60850
60851 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60852
60853         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
60854         when multiplying M by sizeof (size_t).
60855
60856 2007-12-10  Martin Lambers  <marlam@marlam.de>
60857
60858         Override getpagesize on mingw.
60859         * lib/getpagesize.c: New file.
60860         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
60861         * modules/getpagesize (Files): Add lib/getpagesize.c.
60862         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
60863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60864         REPLACE_GETPAGESIZE.
60865         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
60866
60867 2007-12-25  Bruno Haible  <bruno@clisp.org>
60868
60869         * modules/localcharset (Notice): New field.
60870         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
60871         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
60872
60873 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60874             Bruno Haible  <bruno@clisp.org>
60875
60876         Avoid using the syntax symbol() in formatted documentation.
60877         * MODULES.html.sh (func_module): When replacing symbol() with a
60878         hyperlink, remove the parentheses. Show an error if some remain.
60879         Recognize and render the '...' syntax.
60880         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
60881         Rework. Add paragraph about GCC's inlining.
60882         * doc/alloca.texi: Likewise.
60883         * doc/error.texi: Remove parentheses from symbol reference.
60884         * doc/gnulib-intro.texi: Likewise.
60885         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
60886         * modules/fnmatch (Description): Reword to say "the ... function".
60887         * modules/full-read (Description): Likewise.
60888         * modules/full-write (Description): Likewise.
60889         * modules/safe-read (Description): Likewise.
60890         * modules/safe-write (Description): Likewise.
60891         * modules/strchrnul (Description): Likewise.
60892         * modules/trim (Description): Likewise.
60893         * modules/error (Description): Remove parentheses from symbol
60894         references.
60895         * modules/verror (Description): Likewise.
60896         Reported by Karl Berry.
60897
60898 2007-12-25  Bruno Haible  <bruno@clisp.org>
60899
60900         Fixup after 2007-10-16 commit.
60901         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
60902
60903 2007-12-24  Bruno Haible  <bruno@clisp.org>
60904
60905         Make --enable-relocatable work with DESTDIR.
60906         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
60907         to compute installdir from destprog.
60908         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
60909         also set the RELOC_DESTDIR variable.
60910         Reported by Левашев Иван <octagram@bluebottle.com>.
60911
60912 2007-12-24  Bruno Haible  <bruno@clisp.org>
60913
60914         Fix link error due to xalloc_die().
60915         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
60916         of xreadlink.
60917         * lib/relocwrapper.c: Update comments.
60918         * build-aux/install-reloc: Remove xreadlink.c from file list.
60919         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
60920         xreadlink.c.
60921         Reported by Левашев Иван <octagram@bluebottle.com>.
60922
60923 2007-12-24  Bruno Haible  <bruno@clisp.org>
60924
60925         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
60926         * lib/setenv.h: Remove file.
60927         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
60928         lib/setenv.h.
60929         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
60930         (Depends-on): Add stdlib.
60931         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
60932         gl_FUNC_UNSETENV.
60933         (Include): Replace setenv.h with <stdlib.h>.
60934         * modules/unsetenv: New file.
60935         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
60936         * lib/unsetenv.c: Include <stdlib.h> first.
60937         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
60938         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
60939         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
60940         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
60941         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
60942         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60943         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60944         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60945         * doc/functions/unsetenv.texi: Update.
60946         * modules/xsetenv (Depends-on): Add unsetenv.
60947         * modules/getdate (Depends-on): Likewise.
60948         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60949         * lib/xsetenv.c: Don't include setenv.h.
60950         * lib/getdate.y: Likewise.
60951         * lib/relocwrapper.c: Likewise.
60952         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60953         (Depends-on): Add stdlib.
60954         * NEWS: Mention the changes.
60955         Reported by Левашев Иван <octagram@bluebottle.com>.
60956
60957 2007-12-23  Bruno Haible  <bruno@clisp.org>
60958
60959         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60960         indentation.
60961
60962 2007-12-23  Bruno Haible  <bruno@clisp.org>
60963
60964         * lib/c-strcasestr.c: Add more comments.
60965         * lib/c-strstr.c: Likewise.
60966         * lib/mbscasestr.c: Likewise.
60967         * lib/mbsstr.c: Likewise.
60968         * lib/strcasestr.c: Likewise.
60969         * lib/memmem.c: Likewise.
60970
60971 2007-12-23  Bruno Haible  <bruno@clisp.org>
60972
60973         * tests/test-memmem.c: Include <string.h> first.
60974
60975 2007-12-22  Bruno Haible  <bruno@clisp.org>
60976
60977         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60978         the contents of $testsbase.
60979         Reported by Ralf Wildenhues.
60980
60981 2007-12-22  Bruno Haible  <bruno@clisp.org>
60982
60983         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60984         two variables local_ldadd_before, local_ldadd_last.
60985
60986 2007-12-20  Eric Blake  <ebb9@byu.net>
60987
60988         Work around circular library issue when cross-compiling.
60989         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60990         that progname.o does not need to pull in rpl_memcmp.
60991
60992 2007-12-19  Eric Blake  <ebb9@byu.net>
60993
60994         Fix memmem to avoid O(n^2) worst-case complexity.
60995         * lib/memmem.c (knuth_morris_pratt): New function.
60996         (memmem): Use it if first few naive iterations fail.
60997         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60998         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60999         * modules/memchr (License): Likewise.
61000         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
61001         malloca.
61002         * tests/test-memmem.c: Rewrite, borrowing ideas from
61003         test-mbsstr1.c; the old version wouldn't even compile!
61004         * modules/memmem-tests: New file.
61005         * lib/string.in.h (rpl_memmem): Add declaration.
61006         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
61007         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
61008         REPLACE_MEMMEM.
61009
61010 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61011
61012         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
61013         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
61014         before any system include files, and undef after them all.  This
61015         should fix a problem on VMS reported by John E. Malmberg in
61016         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
61017
61018 2007-12-17  Eric Blake  <ebb9@byu.net>
61019
61020         Revert addition of verify, for BSD/OS.
61021         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
61022         can't handle large files, for the sake of obsolete platforms.
61023         * modules/fseeko (Depends-on): Remove verify.
61024         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
61025         * doc/functions/ftello.texi (ftello): Likewise.
61026         * doc/functions/fgetpos.texi (fgetpos): Likewise.
61027         Reported by Larry Jones.
61028
61029 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
61030
61031         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
61032         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
61033
61034 2007-12-17  Jim Meyering  <meyering@redhat.com>
61035
61036         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
61037         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
61038         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
61039         * modules/getcwd (Depends-on): Add openat.
61040         Reported by Petr Salinger.
61041
61042 2007-12-17  Bruno Haible  <bruno@clisp.org>
61043
61044         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
61045         avoid a segmentation fault of the configure test on x86_64 systems.
61046
61047 2007-12-15  Jim Meyering  <meyering@redhat.com>
61048
61049         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
61050
61051 2007-12-13  Eric Blake  <ebb9@byu.net>
61052
61053         Another fseek test.
61054         * tests/test-fseek.c (main): Also test ungetc handling.
61055         * tests/test-fseeko.c (main): Likewise.
61056         * modules/fseeko (Depends-on): Add verify.
61057         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
61058         large.
61059         Reported by Larry Jones.
61060
61061         Fix fseeko on mingw.
61062         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
61063         seek.
61064
61065         Beef up fseek tests.
61066         * tests/test-fseek.c (main): Also test eof handling.
61067         * tests/test-fseeko.c (main): Likewise.
61068         Reported by Larry Jones.
61069
61070 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
61071
61072         Fix fseeko on BSD-based platforms.
61073         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
61074         successful seek.
61075
61076 2007-12-12  Eric Blake  <ebb9@byu.net>
61077
61078         Allow circular dependency of separate libtests.a
61079         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
61080         when use_libtests.
61081
61082 2007-12-11  Eric Blake  <ebb9@byu.net>
61083
61084         Fix bug with -0.0L in previous patch.
61085         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
61086         * tests/test-isnan.c (main): Also test on zeroes.
61087         * tests/test-isnanf.c (main): Likewise.
61088         * tests/test-isnanl.h (main): Likewise.
61089
61090         Detect pseudo-denormals on x86 even when cross-compiling.
61091         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
61092         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
61093         invalid bit patterns that happen to satisfy ==.
61094
61095         Avoid link failures with separate libtests.a.
61096         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
61097         last, to satisfy circular dependencies.
61098
61099 2007-12-11  Eric Blake  <ebb9@byu.net>
61100         and Bruno Haible  <bruno@clisp.org>
61101
61102         Fix OpenBSD 4.0 <float.h> handling of long double.
61103         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
61104         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
61105         * doc/headers/float.texi (float.h): Document OpenBSD bug.
61106
61107 2007-12-11  Jim Meyering  <meyering@redhat.com>
61108
61109         * users.txt: Add libvirt.
61110
61111         Support versions of autoconf prior to 2.59c.
61112         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
61113         if it is not already defined.
61114
61115 2007-12-09  Bruno Haible  <bruno@clisp.org>
61116
61117         Let 'gnulib-tool --import' collect sources needed for the tests in
61118         tests/ rather than in lib/.
61119         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
61120         argument. If true, add rules to generate libtests.a, and put libtests.a
61121         into $(LDADD). Consider source files in subdirectories and set
61122         uses_subdirs.
61123         (func_emit_initmacro_start, func_emit_initmacro_end,
61124         func_emit_initmacro_done): Pass all arguments explicitly.
61125         (func_import): Determine two module lists main_modules,
61126         testsrelated_modules. Determine use_libtests. Determine two variables
61127         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
61128         instead of just sed_transform_lib_file. Determine two variables
61129         main_files and testsrelated_files. Compute 'files' as the union of
61130         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
61131         func_add_or_update. In the generated gnulib-comp.m4, collect the
61132         object files for tests/ in different variables than those for lib/.
61133         Substitute LIBTESTS_LIBDEPS.
61134         (func_create_testdir): Combine the uses_subdirs results from
61135         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
61136
61137 2007-12-09  Bruno Haible  <bruno@clisp.org>
61138
61139         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
61140         the build-aux directory.
61141
61142 2007-12-09  Bruno Haible  <bruno@clisp.org>
61143
61144         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
61145         introduced on 2006-09-09.
61146
61147 2007-12-07  Jim Meyering  <meyering@redhat.com>
61148
61149         Let these macros work also with autoconf-2.59.
61150         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
61151         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
61152         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61153
61154 2007-12-06  Jim Meyering  <meyering@redhat.com>
61155
61156         Avoid a configure-time syntax error in gl_FUNC_ACL.
61157         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
61158         function in each branch, before testing the cache variable.
61159
61160 2007-12-04  Eric Blake  <ebb9@byu.net>
61161
61162         Make scripts executable.
61163         * build-aux/config.guess: Add execute permissions.
61164         * build-aux/config.sub: Likewise.
61165         * build-aux/gendocs.sh: Likewise.
61166
61167         Fix frexp on mingw.
61168         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
61169         cross-compiling.
61170         * doc/functions/frexp.texi (frexp): Document the bug.
61171
61172         Make cygwin fseeko check more reliable.
61173         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
61174         version numbers, rather than unrelated feature check.
61175         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
61176         * doc/functions/ftello.texi (ftello): Likewise.
61177         Reported by Bruno Haible.
61178
61179         * m4/strerror.m4: Bump version number.
61180
61181 2007-12-03  Bruno Haible  <bruno@clisp.org>
61182
61183         * doc/functions/mprotect.texi: Mention the mingw problem.
61184
61185 2007-12-03  Eric Blake  <ebb9@byu.net>
61186
61187         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
61188         REPLACE_STRERROR is initialized before this macro.
61189
61190 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
61191
61192         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
61193         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
61194         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
61195         put -lsec in even for programs other than 'ls'.  This fixes a problem
61196         for gettext reported by Bruno Haible in
61197         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
61198         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
61199         Add support for Solaris 10.  This isn't efficient, but should get the
61200         job done for now.
61201
61202 2007-12-03  James Youngman  <jay@gnu.org>
61203
61204         * doc/regexprops-generic.texi: change "an close-group" to "a
61205         close-group" and "illegal" to "not allowed".
61206
61207 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61208
61209         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
61210         pr_byname.h. Needed for the rare case when the maintainer has done
61211         "make maintainer-clean" in the source directory and then attempts a
61212         build outside the source directory.
61213         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
61214         scripts_byname.h.
61215
61216 2007-12-02  Martin Lambers <marlam@marlam.de>
61217             Bruno Haible  <bruno@clisp.org>
61218
61219         * lib/getpagesize.h: Remove file.
61220         * lib/unistd.in.h: Include declaration of getpagesize here.
61221         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
61222         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
61223         HAVE_SYS_PARAM_H.
61224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
61225         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
61226         * modules/getpagesize (Files): Remove lib/getpagesize.h.
61227         (Depends-on): Add unistd.
61228         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61229         (Include): Use <unistd.h> instead of getpagesize.h.
61230         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
61231         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
61232         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
61233         gl_GETPAGESIZE invocation, already handled by module dependency.
61234         * lib/pagealign_alloc.c: Don't include getpagesize.h.
61235
61236 2007-12-02  Bruno Haible  <bruno@clisp.org>
61237
61238         * modules/strings-tests: New file.
61239         * tests/test-strings.c: New file.
61240
61241         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
61242         * lib/strings.in.h: New file.
61243         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
61244         * m4/strings_h.m4: New file.
61245         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
61246         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
61247         * modules/strings: New file.
61248         * modules/string (Makefile.am): Update.
61249         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
61250         Reported by Karl Berry.
61251
61252 2007-12-01  Eric Blake  <ebb9@byu.net>
61253
61254         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
61255         accommodate fix in cygwin 1.5.25.
61256
61257 2007-12-01  Jim Meyering  <meyering@redhat.com>
61258
61259         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
61260         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
61261         that would inhibit utf8-optimization of a regexp containing line-
61262         or buffer-anchors, e.g., `^', `$'.
61263
61264 2007-11-30  Bruno Haible  <bruno@clisp.org>
61265
61266         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
61267         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
61268         glthread_recursive_lock_init.
61269         * lib/lock.c (glthread_recursive_lock_init)
61270         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
61271         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61272
61273 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
61274
61275         New function qset_acl, like set_acl but with syscall semantics.
61276         * lib/acl.h (qset_acl): New decl.
61277         * lib/acl.c (qset_acl): New function.
61278         (set_acl): Use new function.  Use more-consistent diagnostics.
61279
61280 2007-11-28  Jim Meyering  <meyering@redhat.com>
61281
61282         * modules/physmem (License): Change from GPL to LGPLv2+.
61283
61284 2007-11-26  Bruno Haible  <bruno@clisp.org>
61285
61286         * lib/vasnprintf.c (decode_long_double): Don't abort if the
61287         'long double' type has excess precision.
61288         Reported by Jim Meyering in
61289         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
61290
61291 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61292
61293         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
61294         Sync from <http://gnu.org/licenses>.
61295         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
61296         with license text from same location.
61297         * doc/maintain.texi, doc/standards.texi:  Sync from
61298         <http://savannah.gnu.org/projects/gnustandards>.
61299
61300 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
61301         and Jim Meyering  <meyering@redhat.com>
61302
61303         Adjust getdate' grammar to accept a slightly more regular language.
61304         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
61305         Before, the former was rejected.
61306         * lib/getdate.y (digits_to_date_time): New function, factored
61307         out of ...
61308         (number): ...here.  Just call digits_to_date_time.
61309         (hybrid): New non-terminal to handle an <unsigned number,
61310         signed relative offset> sequence consistently.
61311
61312 2007-11-18  Jim Meyering  <meyering@redhat.com>
61313
61314         Pull my changes from coreutils:
61315         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
61316         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
61317         use of $gnulib_tool_option_extras, so that it's separated from the
61318         preceding argument.
61319
61320         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
61321         * build-aux/bootstrap (cp_mark_as_generated): Create any required
61322         parent destination directories before copying a file into place.
61323
61324 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
61325
61326         bootstrap: work also with 4-argument variant of AC_INIT
61327         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
61328
61329 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61330
61331         Port test-getaddrinfo to Solaris.
61332         Problem reported by Bruno Haible in
61333         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
61334         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
61335         explanation of setting 'hints'.
61336         Don't reject an implementation merely because it returns EAI_SERVICE.
61337         (EAI_SERVICE): Define to 0 if not defined.
61338
61339 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61340
61341         The license of gnu-make and posix-shell is now "GPLed build tool".
61342         * modules/gnu-make (License): Likewise.
61343         * modules/posix-shell (License): Likewise.
61344
61345         New module posix-shell, for determining a POSIX shell
61346         or perhaps something that is close enough to a POSIX shell.
61347         * m4/posix-shell.m4: New file.
61348         * modules/posix-shell: New file.
61349
61350         * MODULES.html.sh: Mention new module.
61351
61352         New module gnu-make, for determining whether we're using GNU Make.
61353         * m4/gnu-make.m4: New file.
61354         * modules/gnu-make: New file.
61355         * MODULES.html.sh: Mention new module.
61356
61357 2007-11-14  Jim Meyering  <meyering@redhat.com>
61358
61359         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
61360         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
61361         use this macro to create a function _definition_.
61362         Remove useless "#undef ARGMATCH_DIE".
61363
61364 2007-11-14  Bruno Haible  <bruno@clisp.org>
61365
61366         * lib/config.charset: Update for OpenBSD 4.1.
61367         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
61368
61369 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
61370
61371         Document 64-bit #if problems in stdint.texi.
61372         * doc/headers/stdint.texi (stdint.h): Mention problems with
61373         64-bit-#if, and how to work around them.
61374
61375         Don't insist on 'long long int' support in the preprocessor.  It
61376         breaks too many things.  For example, PRIdMAX still uses a 'long
61377         long int' format with the latest Sun compiler, even though
61378         HAVE_LONG_LONG_INT isn't defined due to that compiler's
61379         preprocessor problem.  This causes the latest coreutils to dump
61380         core on Solaris 10 sparc with the Sun C compiler.
61381         Instead, fix the 2007-10-16 problem in a different way, by evaluating
61382         the troublesome expressions at configure-time, not at #if-time.
61383         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
61384         preprocessor.
61385         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
61386         compile-time C checks, done at 'configure'-time.
61387         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
61388         * modules/inttypes (Makefile): Substitute the new symbols that
61389         gl_INTTYPES_H now generates.
61390         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
61391
61392 2007-11-12  Bruno Haible  <bruno@clisp.org>
61393
61394         Tests for Unicode character classification functions.
61395
61396         * modules/unictype/bidicategory-byname-tests: New file.
61397         * modules/unictype/bidicategory-name-tests: New file.
61398         * modules/unictype/bidicategory-of-tests: New file.
61399         * modules/unictype/bidicategory-test-tests: New file.
61400         * modules/unictype/block-list-tests: New file.
61401         * modules/unictype/block-of-tests: New file.
61402         * modules/unictype/block-test-tests: New file.
61403         * modules/unictype/category-C-tests: New file.
61404         * modules/unictype/category-Cc-tests: New file.
61405         * modules/unictype/category-Cf-tests: New file.
61406         * modules/unictype/category-Cn-tests: New file.
61407         * modules/unictype/category-Co-tests: New file.
61408         * modules/unictype/category-Cs-tests: New file.
61409         * modules/unictype/category-L-tests: New file.
61410         * modules/unictype/category-Ll-tests: New file.
61411         * modules/unictype/category-Lm-tests: New file.
61412         * modules/unictype/category-Lo-tests: New file.
61413         * modules/unictype/category-Lt-tests: New file.
61414         * modules/unictype/category-Lu-tests: New file.
61415         * modules/unictype/category-M-tests: New file.
61416         * modules/unictype/category-Mc-tests: New file.
61417         * modules/unictype/category-Me-tests: New file.
61418         * modules/unictype/category-Mn-tests: New file.
61419         * modules/unictype/category-N-tests: New file.
61420         * modules/unictype/category-Nd-tests: New file.
61421         * modules/unictype/category-Nl-tests: New file.
61422         * modules/unictype/category-No-tests: New file.
61423         * modules/unictype/category-P-tests: New file.
61424         * modules/unictype/category-Pc-tests: New file.
61425         * modules/unictype/category-Pd-tests: New file.
61426         * modules/unictype/category-Pe-tests: New file.
61427         * modules/unictype/category-Pf-tests: New file.
61428         * modules/unictype/category-Pi-tests: New file.
61429         * modules/unictype/category-Po-tests: New file.
61430         * modules/unictype/category-Ps-tests: New file.
61431         * modules/unictype/category-S-tests: New file.
61432         * modules/unictype/category-Sc-tests: New file.
61433         * modules/unictype/category-Sk-tests: New file.
61434         * modules/unictype/category-Sm-tests: New file.
61435         * modules/unictype/category-So-tests: New file.
61436         * modules/unictype/category-Z-tests: New file.
61437         * modules/unictype/category-Zl-tests: New file.
61438         * modules/unictype/category-Zp-tests: New file.
61439         * modules/unictype/category-Zs-tests: New file.
61440         * modules/unictype/category-and-not-tests: New file.
61441         * modules/unictype/category-and-tests: New file.
61442         * modules/unictype/category-byname-tests: New file.
61443         * modules/unictype/category-name-tests: New file.
61444         * modules/unictype/category-none-tests: New file.
61445         * modules/unictype/category-of-tests: New file.
61446         * modules/unictype/category-or-tests: New file.
61447         * modules/unictype/category-test-withtable-tests: New file.
61448         * modules/unictype/combining-class-tests: New file.
61449         * modules/unictype/ctype-alnum-tests: New file.
61450         * modules/unictype/ctype-alpha-tests: New file.
61451         * modules/unictype/ctype-blank-tests: New file.
61452         * modules/unictype/ctype-cntrl-tests: New file.
61453         * modules/unictype/ctype-digit-tests: New file.
61454         * modules/unictype/ctype-graph-tests: New file.
61455         * modules/unictype/ctype-lower-tests: New file.
61456         * modules/unictype/ctype-print-tests: New file.
61457         * modules/unictype/ctype-punct-tests: New file.
61458         * modules/unictype/ctype-space-tests: New file.
61459         * modules/unictype/ctype-upper-tests: New file.
61460         * modules/unictype/ctype-xdigit-tests: New file.
61461         * modules/unictype/decimal-digit-tests: New file.
61462         * modules/unictype/digit-tests: New file.
61463         * modules/unictype/mirror-tests: New file.
61464         * modules/unictype/numeric-tests: New file.
61465         * modules/unictype/property-alphabetic-tests: New file.
61466         * modules/unictype/property-ascii-hex-digit-tests: New file.
61467         * modules/unictype/property-bidi-arabic-digit-tests: New file.
61468         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
61469         * modules/unictype/property-bidi-block-separator-tests: New file.
61470         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
61471         * modules/unictype/property-bidi-common-separator-tests: New file.
61472         * modules/unictype/property-bidi-control-tests: New file.
61473         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
61474         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
61475         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
61476         * modules/unictype/property-bidi-european-digit-tests: New file.
61477         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
61478         * modules/unictype/property-bidi-left-to-right-tests: New file.
61479         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
61480         * modules/unictype/property-bidi-other-neutral-tests: New file.
61481         * modules/unictype/property-bidi-pdf-tests: New file.
61482         * modules/unictype/property-bidi-segment-separator-tests: New file.
61483         * modules/unictype/property-bidi-whitespace-tests: New file.
61484         * modules/unictype/property-byname-tests: New file.
61485         * modules/unictype/property-combining-tests: New file.
61486         * modules/unictype/property-composite-tests: New file.
61487         * modules/unictype/property-currency-symbol-tests: New file.
61488         * modules/unictype/property-dash-tests: New file.
61489         * modules/unictype/property-decimal-digit-tests: New file.
61490         * modules/unictype/property-default-ignorable-code-point-tests: New file.
61491         * modules/unictype/property-deprecated-tests: New file.
61492         * modules/unictype/property-diacritic-tests: New file.
61493         * modules/unictype/property-extender-tests: New file.
61494         * modules/unictype/property-format-control-tests: New file.
61495         * modules/unictype/property-grapheme-base-tests: New file.
61496         * modules/unictype/property-grapheme-extend-tests: New file.
61497         * modules/unictype/property-grapheme-link-tests: New file.
61498         * modules/unictype/property-hex-digit-tests: New file.
61499         * modules/unictype/property-hyphen-tests: New file.
61500         * modules/unictype/property-id-continue-tests: New file.
61501         * modules/unictype/property-id-start-tests: New file.
61502         * modules/unictype/property-ideographic-tests: New file.
61503         * modules/unictype/property-ids-binary-operator-tests: New file.
61504         * modules/unictype/property-ids-trinary-operator-tests: New file.
61505         * modules/unictype/property-ignorable-control-tests: New file.
61506         * modules/unictype/property-iso-control-tests: New file.
61507         * modules/unictype/property-join-control-tests: New file.
61508         * modules/unictype/property-left-of-pair-tests: New file.
61509         * modules/unictype/property-line-separator-tests: New file.
61510         * modules/unictype/property-logical-order-exception-tests: New file.
61511         * modules/unictype/property-lowercase-tests: New file.
61512         * modules/unictype/property-math-tests: New file.
61513         * modules/unictype/property-non-break-tests: New file.
61514         * modules/unictype/property-not-a-character-tests: New file.
61515         * modules/unictype/property-numeric-tests: New file.
61516         * modules/unictype/property-other-alphabetic-tests: New file.
61517         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
61518         * modules/unictype/property-other-grapheme-extend-tests: New file.
61519         * modules/unictype/property-other-id-continue-tests: New file.
61520         * modules/unictype/property-other-id-start-tests: New file.
61521         * modules/unictype/property-other-lowercase-tests: New file.
61522         * modules/unictype/property-other-math-tests: New file.
61523         * modules/unictype/property-other-uppercase-tests: New file.
61524         * modules/unictype/property-paired-punctuation-tests: New file.
61525         * modules/unictype/property-paragraph-separator-tests: New file.
61526         * modules/unictype/property-pattern-syntax-tests: New file.
61527         * modules/unictype/property-pattern-white-space-tests: New file.
61528         * modules/unictype/property-private-use-tests: New file.
61529         * modules/unictype/property-punctuation-tests: New file.
61530         * modules/unictype/property-quotation-mark-tests: New file.
61531         * modules/unictype/property-radical-tests: New file.
61532         * modules/unictype/property-sentence-terminal-tests: New file.
61533         * modules/unictype/property-soft-dotted-tests: New file.
61534         * modules/unictype/property-space-tests: New file.
61535         * modules/unictype/property-terminal-punctuation-tests: New file.
61536         * modules/unictype/property-test-tests: New file.
61537         * modules/unictype/property-titlecase-tests: New file.
61538         * modules/unictype/property-unassigned-code-value-tests: New file.
61539         * modules/unictype/property-unified-ideograph-tests: New file.
61540         * modules/unictype/property-uppercase-tests: New file.
61541         * modules/unictype/property-variation-selector-tests: New file.
61542         * modules/unictype/property-white-space-tests: New file.
61543         * modules/unictype/property-xid-continue-tests: New file.
61544         * modules/unictype/property-xid-start-tests: New file.
61545         * modules/unictype/property-zero-width-tests: New file.
61546         * modules/unictype/scripts-tests: New file.
61547         * modules/unictype/syntax-c-ident-tests: New file.
61548         * modules/unictype/syntax-c-whitespace-tests: New file.
61549         * modules/unictype/syntax-java-ident-tests: New file.
61550         * modules/unictype/syntax-java-whitespace-tests: New file.
61551         * tests/unictype/test-bidi_byname.c: New file.
61552         * tests/unictype/test-bidi_name.c: New file.
61553         * tests/unictype/test-bidi_of.c: New file.
61554         * tests/unictype/test-bidi_test.c: New file.
61555         * tests/unictype/test-block_list.c: New file.
61556         * tests/unictype/test-block_of.c: New file.
61557         * tests/unictype/test-block_test.c: New file.
61558         * tests/unictype/test-categ_and.c: New file.
61559         * tests/unictype/test-categ_and_not.c: New file.
61560         * tests/unictype/test-categ_byname.c: New file.
61561         * tests/unictype/test-categ_name.c: New file.
61562         * tests/unictype/test-categ_none.c: New file.
61563         * tests/unictype/test-categ_of.c: New file.
61564         * tests/unictype/test-categ_or.c: New file.
61565         * tests/unictype/test-categ_test_withtable.c: New file.
61566         * tests/unictype/test-combining.c: New file.
61567         * tests/unictype/test-decdigit.c: New file.
61568         * tests/unictype/test-digit.c: New file.
61569         * tests/unictype/test-mirror.c: New file.
61570         * tests/unictype/test-numeric.c: New file.
61571         * tests/unictype/test-pr_byname.c: New file.
61572         * tests/unictype/test-pr_test.c: New file.
61573         * tests/unictype/test-predicate-part1.h: New file.
61574         * tests/unictype/test-predicate-part2.h: New file.
61575         * tests/unictype/test-scripts.c: New file.
61576         * tests/unictype/test-sy_c_ident.c: New file.
61577         * tests/unictype/test-sy_java_ident.c: New file.
61578
61579         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
61580         for Unicode 5.0.0.
61581         * tests/unictype/test-categ_Cc.c: Likewise.
61582         * tests/unictype/test-categ_Cf.c: Likewise.
61583         * tests/unictype/test-categ_Cn.c: Likewise.
61584         * tests/unictype/test-categ_Co.c: Likewise.
61585         * tests/unictype/test-categ_Cs.c: Likewise.
61586         * tests/unictype/test-categ_L.c: Likewise.
61587         * tests/unictype/test-categ_Ll.c: Likewise.
61588         * tests/unictype/test-categ_Lm.c: Likewise.
61589         * tests/unictype/test-categ_Lo.c: Likewise.
61590         * tests/unictype/test-categ_Lt.c: Likewise.
61591         * tests/unictype/test-categ_Lu.c: Likewise.
61592         * tests/unictype/test-categ_M.c: Likewise.
61593         * tests/unictype/test-categ_Mc.c: Likewise.
61594         * tests/unictype/test-categ_Me.c: Likewise.
61595         * tests/unictype/test-categ_Mn.c: Likewise.
61596         * tests/unictype/test-categ_N.c: Likewise.
61597         * tests/unictype/test-categ_Nd.c: Likewise.
61598         * tests/unictype/test-categ_Nl.c: Likewise.
61599         * tests/unictype/test-categ_No.c: Likewise.
61600         * tests/unictype/test-categ_P.c: Likewise.
61601         * tests/unictype/test-categ_Pc.c: Likewise.
61602         * tests/unictype/test-categ_Pd.c: Likewise.
61603         * tests/unictype/test-categ_Pe.c: Likewise.
61604         * tests/unictype/test-categ_Pf.c: Likewise.
61605         * tests/unictype/test-categ_Pi.c: Likewise.
61606         * tests/unictype/test-categ_Po.c: Likewise.
61607         * tests/unictype/test-categ_Ps.c: Likewise.
61608         * tests/unictype/test-categ_S.c: Likewise.
61609         * tests/unictype/test-categ_Sc.c: Likewise.
61610         * tests/unictype/test-categ_Sk.c: Likewise.
61611         * tests/unictype/test-categ_Sm.c: Likewise.
61612         * tests/unictype/test-categ_So.c: Likewise.
61613         * tests/unictype/test-categ_Z.c: Likewise.
61614         * tests/unictype/test-categ_Zl.c: Likewise.
61615         * tests/unictype/test-categ_Zp.c: Likewise.
61616         * tests/unictype/test-categ_Zs.c: Likewise.
61617         * tests/unictype/test-ctype_alnum.c: Likewise.
61618         * tests/unictype/test-ctype_alpha.c: Likewise.
61619         * tests/unictype/test-ctype_blank.c: Likewise.
61620         * tests/unictype/test-ctype_cntrl.c: Likewise.
61621         * tests/unictype/test-ctype_digit.c: Likewise.
61622         * tests/unictype/test-ctype_graph.c: Likewise.
61623         * tests/unictype/test-ctype_lower.c: Likewise.
61624         * tests/unictype/test-ctype_print.c: Likewise.
61625         * tests/unictype/test-ctype_punct.c: Likewise.
61626         * tests/unictype/test-ctype_space.c: Likewise.
61627         * tests/unictype/test-ctype_upper.c: Likewise.
61628         * tests/unictype/test-ctype_xdigit.c: Likewise.
61629         * tests/unictype/test-decdigit.h: Likewise.
61630         * tests/unictype/test-digit.h: Likewise.
61631         * tests/unictype/test-numeric.h: Likewise.
61632         * tests/unictype/test-pr_alphabetic.c: Likewise.
61633         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
61634         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61635         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61636         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
61637         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61638         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
61639         * tests/unictype/test-pr_bidi_control.c: Likewise.
61640         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
61641         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
61642         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61643         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61644         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61645         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61646         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61647         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61648         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
61649         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
61650         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
61651         * tests/unictype/test-pr_combining.c: Likewise.
61652         * tests/unictype/test-pr_composite.c: Likewise.
61653         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61654         * tests/unictype/test-pr_dash.c: Likewise.
61655         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61656         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
61657         * tests/unictype/test-pr_deprecated.c: Likewise.
61658         * tests/unictype/test-pr_diacritic.c: Likewise.
61659         * tests/unictype/test-pr_extender.c: Likewise.
61660         * tests/unictype/test-pr_format_control.c: Likewise.
61661         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61662         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61663         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61664         * tests/unictype/test-pr_hex_digit.c: Likewise.
61665         * tests/unictype/test-pr_hyphen.c: Likewise.
61666         * tests/unictype/test-pr_id_continue.c: Likewise.
61667         * tests/unictype/test-pr_id_start.c: Likewise.
61668         * tests/unictype/test-pr_ideographic.c: Likewise.
61669         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
61670         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
61671         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61672         * tests/unictype/test-pr_iso_control.c: Likewise.
61673         * tests/unictype/test-pr_join_control.c: Likewise.
61674         * tests/unictype/test-pr_left_of_pair.c: Likewise.
61675         * tests/unictype/test-pr_line_separator.c: Likewise.
61676         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61677         * tests/unictype/test-pr_lowercase.c: Likewise.
61678         * tests/unictype/test-pr_math.c: Likewise.
61679         * tests/unictype/test-pr_non_break.c: Likewise.
61680         * tests/unictype/test-pr_not_a_character.c: Likewise.
61681         * tests/unictype/test-pr_numeric.c: Likewise.
61682         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61683         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
61684         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
61685         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61686         * tests/unictype/test-pr_other_id_start.c: Likewise.
61687         * tests/unictype/test-pr_other_lowercase.c: Likewise.
61688         * tests/unictype/test-pr_other_math.c: Likewise.
61689         * tests/unictype/test-pr_other_uppercase.c: Likewise.
61690         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
61691         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
61692         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
61693         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
61694         * tests/unictype/test-pr_private_use.c: Likewise.
61695         * tests/unictype/test-pr_punctuation.c: Likewise.
61696         * tests/unictype/test-pr_quotation_mark.c: Likewise.
61697         * tests/unictype/test-pr_radical.c: Likewise.
61698         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61699         * tests/unictype/test-pr_soft_dotted.c: Likewise.
61700         * tests/unictype/test-pr_space.c: Likewise.
61701         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61702         * tests/unictype/test-pr_titlecase.c: Likewise.
61703         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61704         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61705         * tests/unictype/test-pr_uppercase.c: Likewise.
61706         * tests/unictype/test-pr_variation_selector.c: Likewise.
61707         * tests/unictype/test-pr_white_space.c: Likewise.
61708         * tests/unictype/test-pr_xid_continue.c: Likewise.
61709         * tests/unictype/test-pr_xid_start.c: Likewise.
61710         * tests/unictype/test-pr_zero_width.c: Likewise.
61711         * tests/unictype/test-sy_c_whitespace.c: Likewise.
61712         * tests/unictype/test-sy_java_whitespace.c: Likewise.
61713
61714 2007-11-12  Bruno Haible  <bruno@clisp.org>
61715
61716         Unicode character classification functions.
61717         * lib/unictype.h: New file.
61718         * modules/unictype/base: New file.
61719         * modules/unictype/category-L: New file.
61720         * modules/unictype/category-Lu: New file.
61721         * modules/unictype/category-Ll: New file.
61722         * modules/unictype/category-Lt: New file.
61723         * modules/unictype/category-Lm: New file.
61724         * modules/unictype/category-Lo: New file.
61725         * modules/unictype/category-M: New file.
61726         * modules/unictype/category-Mn: New file.
61727         * modules/unictype/category-Mc: New file.
61728         * modules/unictype/category-Me: New file.
61729         * modules/unictype/category-N: New file.
61730         * modules/unictype/category-Nd: New file.
61731         * modules/unictype/category-Nl: New file.
61732         * modules/unictype/category-No: New file.
61733         * modules/unictype/category-P: New file.
61734         * modules/unictype/category-Pc: New file.
61735         * modules/unictype/category-Pd: New file.
61736         * modules/unictype/category-Ps: New file.
61737         * modules/unictype/category-Pe: New file.
61738         * modules/unictype/category-Pi: New file.
61739         * modules/unictype/category-Pf: New file.
61740         * modules/unictype/category-Po: New file.
61741         * modules/unictype/category-S: New file.
61742         * modules/unictype/category-Sm: New file.
61743         * modules/unictype/category-Sc: New file.
61744         * modules/unictype/category-Sk: New file.
61745         * modules/unictype/category-So: New file.
61746         * modules/unictype/category-Z: New file.
61747         * modules/unictype/category-Zs: New file.
61748         * modules/unictype/category-Zl: New file.
61749         * modules/unictype/category-Zp: New file.
61750         * modules/unictype/category-C: New file.
61751         * modules/unictype/category-Cc: New file.
61752         * modules/unictype/category-Cf: New file.
61753         * modules/unictype/category-Cs: New file.
61754         * modules/unictype/category-Co: New file.
61755         * modules/unictype/category-Cn: New file.
61756         * modules/unictype/category-or: New file.
61757         * modules/unictype/category-of: New file.
61758         * modules/unictype/category-test: New file.
61759         * modules/unictype/category-test-withtable: New file.
61760         * modules/unictype/category-byname: New file.
61761         * modules/unictype/category-none: New file.
61762         * modules/unictype/category-and: New file.
61763         * modules/unictype/category-and-not: New file.
61764         * modules/unictype/category-name: New file.
61765         * modules/unictype/combining-class: New file.
61766         * modules/unictype/category-all: New file.
61767         * modules/unictype/bidicategory-all: New file.
61768         * modules/unictype/bidicategory-byname: New file.
61769         * modules/unictype/bidicategory-name: New file.
61770         * modules/unictype/bidicategory-of: New file.
61771         * modules/unictype/bidicategory-test: New file.
61772         * modules/unictype/decimal-digit: New file.
61773         * modules/unictype/digit: New file.
61774         * modules/unictype/numeric: New file.
61775         * modules/unictype/mirror: New file.
61776         * modules/unictype/property-white-space: New file.
61777         * modules/unictype/property-alphabetic: New file.
61778         * modules/unictype/property-other-alphabetic: New file.
61779         * modules/unictype/property-not-a-character: New file.
61780         * modules/unictype/property-default-ignorable-code-point: New file.
61781         * modules/unictype/property-other-default-ignorable-code-point: New
61782         file.
61783         * modules/unictype/property-deprecated: New file.
61784         * modules/unictype/property-logical-order-exception: New file.
61785         * modules/unictype/property-variation-selector: New file.
61786         * modules/unictype/property-private-use: New file.
61787         * modules/unictype/property-unassigned-code-value: New file.
61788         * modules/unictype/property-uppercase: New file.
61789         * modules/unictype/property-other-uppercase: New file.
61790         * modules/unictype/property-lowercase: New file.
61791         * modules/unictype/property-other-lowercase: New file.
61792         * modules/unictype/property-titlecase: New file.
61793         * modules/unictype/property-soft-dotted: New file.
61794         * modules/unictype/property-id-start: New file.
61795         * modules/unictype/property-other-id-start: New file.
61796         * modules/unictype/property-id-continue: New file.
61797         * modules/unictype/property-other-id-continue: New file.
61798         * modules/unictype/property-xid-start: New file.
61799         * modules/unictype/property-xid-continue: New file.
61800         * modules/unictype/property-pattern-white-space: New file.
61801         * modules/unictype/property-pattern-syntax: New file.
61802         * modules/unictype/property-join-control: New file.
61803         * modules/unictype/property-grapheme-base: New file.
61804         * modules/unictype/property-grapheme-extend: New file.
61805         * modules/unictype/property-other-grapheme-extend: New file.
61806         * modules/unictype/property-grapheme-link: New file.
61807         * modules/unictype/property-bidi-control: New file.
61808         * modules/unictype/property-bidi-left-to-right: New file.
61809         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
61810         * modules/unictype/property-bidi-arabic-right-to-left: New file.
61811         * modules/unictype/property-bidi-european-digit: New file.
61812         * modules/unictype/property-bidi-eur-num-separator: New file.
61813         * modules/unictype/property-bidi-eur-num-terminator: New file.
61814         * modules/unictype/property-bidi-arabic-digit: New file.
61815         * modules/unictype/property-bidi-common-separator: New file.
61816         * modules/unictype/property-bidi-block-separator: New file.
61817         * modules/unictype/property-bidi-segment-separator: New file.
61818         * modules/unictype/property-bidi-whitespace: New file.
61819         * modules/unictype/property-bidi-non-spacing-mark: New file.
61820         * modules/unictype/property-bidi-boundary-neutral: New file.
61821         * modules/unictype/property-bidi-pdf: New file.
61822         * modules/unictype/property-bidi-embedding-or-override: New file.
61823         * modules/unictype/property-bidi-other-neutral: New file.
61824         * modules/unictype/property-hex-digit: New file.
61825         * modules/unictype/property-ascii-hex-digit: New file.
61826         * modules/unictype/property-ideographic: New file.
61827         * modules/unictype/property-unified-ideograph: New file.
61828         * modules/unictype/property-radical: New file.
61829         * modules/unictype/property-ids-binary-operator: New file.
61830         * modules/unictype/property-ids-trinary-operator: New file.
61831         * modules/unictype/property-zero-width: New file.
61832         * modules/unictype/property-space: New file.
61833         * modules/unictype/property-non-break: New file.
61834         * modules/unictype/property-iso-control: New file.
61835         * modules/unictype/property-format-control: New file.
61836         * modules/unictype/property-dash: New file.
61837         * modules/unictype/property-hyphen: New file.
61838         * modules/unictype/property-punctuation: New file.
61839         * modules/unictype/property-line-separator: New file.
61840         * modules/unictype/property-paragraph-separator: New file.
61841         * modules/unictype/property-quotation-mark: New file.
61842         * modules/unictype/property-sentence-terminal: New file.
61843         * modules/unictype/property-terminal-punctuation: New file.
61844         * modules/unictype/property-currency-symbol: New file.
61845         * modules/unictype/property-math: New file.
61846         * modules/unictype/property-other-math: New file.
61847         * modules/unictype/property-paired-punctuation: New file.
61848         * modules/unictype/property-left-of-pair: New file.
61849         * modules/unictype/property-combining: New file.
61850         * modules/unictype/property-composite: New file.
61851         * modules/unictype/property-decimal-digit: New file.
61852         * modules/unictype/property-numeric: New file.
61853         * modules/unictype/property-diacritic: New file.
61854         * modules/unictype/property-extender: New file.
61855         * modules/unictype/property-ignorable-control: New file.
61856         * modules/unictype/property-test: New file.
61857         * modules/unictype/property-byname: New file.
61858         * modules/unictype/property-all: New file.
61859         * modules/unictype/scripts: New file.
61860         * modules/unictype/scripts-all: New file.
61861         * modules/unictype/block-of: New file.
61862         * modules/unictype/block-test: New file.
61863         * modules/unictype/block-list: New file.
61864         * modules/unictype/block-all: New file.
61865         * modules/unictype/syntax-c-whitespace: New file.
61866         * modules/unictype/syntax-java-whitespace: New file.
61867         * modules/unictype/syntax-c-ident: New file.
61868         * modules/unictype/syntax-java-ident: New file.
61869         * modules/unictype/ctype-alnum: New file.
61870         * modules/unictype/ctype-alpha: New file.
61871         * modules/unictype/ctype-cntrl: New file.
61872         * modules/unictype/ctype-digit: New file.
61873         * modules/unictype/ctype-graph: New file.
61874         * modules/unictype/ctype-lower: New file.
61875         * modules/unictype/ctype-print: New file.
61876         * modules/unictype/ctype-punct: New file.
61877         * modules/unictype/ctype-space: New file.
61878         * modules/unictype/ctype-upper: New file.
61879         * modules/unictype/ctype-xdigit: New file.
61880         * modules/unictype/ctype-blank: New file.
61881         * lib/unictype/bidi_byname.c: New file.
61882         * lib/unictype/bidi_name.c: New file.
61883         * lib/unictype/bidi_of.c: New file.
61884         * lib/unictype/bidi_test.c: New file.
61885         * lib/unictype/bitmap.h: New file.
61886         * lib/unictype/block_test.c: New file.
61887         * lib/unictype/blocks.c: New file.
61888         * lib/unictype/categ_C.c: New file.
61889         * lib/unictype/categ_Cc.c: New file.
61890         * lib/unictype/categ_Cf.c: New file.
61891         * lib/unictype/categ_Cn.c: New file.
61892         * lib/unictype/categ_Co.c: New file.
61893         * lib/unictype/categ_Cs.c: New file.
61894         * lib/unictype/categ_L.c: New file.
61895         * lib/unictype/categ_Ll.c: New file.
61896         * lib/unictype/categ_Lm.c: New file.
61897         * lib/unictype/categ_Lo.c: New file.
61898         * lib/unictype/categ_Lt.c: New file.
61899         * lib/unictype/categ_Lu.c: New file.
61900         * lib/unictype/categ_M.c: New file.
61901         * lib/unictype/categ_Mc.c: New file.
61902         * lib/unictype/categ_Me.c: New file.
61903         * lib/unictype/categ_Mn.c: New file.
61904         * lib/unictype/categ_N.c: New file.
61905         * lib/unictype/categ_Nd.c: New file.
61906         * lib/unictype/categ_Nl.c: New file.
61907         * lib/unictype/categ_No.c: New file.
61908         * lib/unictype/categ_P.c: New file.
61909         * lib/unictype/categ_Pc.c: New file.
61910         * lib/unictype/categ_Pd.c: New file.
61911         * lib/unictype/categ_Pe.c: New file.
61912         * lib/unictype/categ_Pf.c: New file.
61913         * lib/unictype/categ_Pi.c: New file.
61914         * lib/unictype/categ_Po.c: New file.
61915         * lib/unictype/categ_Ps.c: New file.
61916         * lib/unictype/categ_S.c: New file.
61917         * lib/unictype/categ_Sc.c: New file.
61918         * lib/unictype/categ_Sk.c: New file.
61919         * lib/unictype/categ_Sm.c: New file.
61920         * lib/unictype/categ_So.c: New file.
61921         * lib/unictype/categ_Z.c: New file.
61922         * lib/unictype/categ_Zl.c: New file.
61923         * lib/unictype/categ_Zp.c: New file.
61924         * lib/unictype/categ_Zs.c: New file.
61925         * lib/unictype/categ_and.c: New file.
61926         * lib/unictype/categ_and_not.c: New file.
61927         * lib/unictype/categ_byname.c: New file.
61928         * lib/unictype/categ_name.c: New file.
61929         * lib/unictype/categ_none.c: New file.
61930         * lib/unictype/categ_of.c: New file.
61931         * lib/unictype/categ_or.c: New file.
61932         * lib/unictype/categ_test.c: New file.
61933         * lib/unictype/combining.c: New file.
61934         * lib/unictype/ctype_alnum.c: New file.
61935         * lib/unictype/ctype_alpha.c: New file.
61936         * lib/unictype/ctype_blank.c: New file.
61937         * lib/unictype/ctype_cntrl.c: New file.
61938         * lib/unictype/ctype_digit.c: New file.
61939         * lib/unictype/ctype_graph.c: New file.
61940         * lib/unictype/ctype_lower.c: New file.
61941         * lib/unictype/ctype_print.c: New file.
61942         * lib/unictype/ctype_punct.c: New file.
61943         * lib/unictype/ctype_space.c: New file.
61944         * lib/unictype/ctype_upper.c: New file.
61945         * lib/unictype/ctype_xdigit.c: New file.
61946         * lib/unictype/decdigit.c: New file.
61947         * lib/unictype/digit.c: New file.
61948         * lib/unictype/identsyntaxmap.h: New file.
61949         * lib/unictype/mirror.c: New file.
61950         * lib/unictype/numeric.c: New file.
61951         * lib/unictype/pr_alphabetic.c: New file.
61952         * lib/unictype/pr_ascii_hex_digit.c: New file.
61953         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61954         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61955         * lib/unictype/pr_bidi_block_separator.c: New file.
61956         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61957         * lib/unictype/pr_bidi_common_separator.c: New file.
61958         * lib/unictype/pr_bidi_control.c: New file.
61959         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61960         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61961         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61962         * lib/unictype/pr_bidi_european_digit.c: New file.
61963         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61964         * lib/unictype/pr_bidi_left_to_right.c: New file.
61965         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61966         * lib/unictype/pr_bidi_other_neutral.c: New file.
61967         * lib/unictype/pr_bidi_pdf.c: New file.
61968         * lib/unictype/pr_bidi_segment_separator.c: New file.
61969         * lib/unictype/pr_bidi_whitespace.c: New file.
61970         * lib/unictype/pr_byname.c: New file.
61971         * lib/unictype/pr_byname.gperf: New file.
61972         * lib/unictype/pr_combining.c: New file.
61973         * lib/unictype/pr_composite.c: New file.
61974         * lib/unictype/pr_currency_symbol.c: New file.
61975         * lib/unictype/pr_dash.c: New file.
61976         * lib/unictype/pr_decimal_digit.c: New file.
61977         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61978         * lib/unictype/pr_deprecated.c: New file.
61979         * lib/unictype/pr_diacritic.c: New file.
61980         * lib/unictype/pr_extender.c: New file.
61981         * lib/unictype/pr_format_control.c: New file.
61982         * lib/unictype/pr_grapheme_base.c: New file.
61983         * lib/unictype/pr_grapheme_extend.c: New file.
61984         * lib/unictype/pr_grapheme_link.c: New file.
61985         * lib/unictype/pr_hex_digit.c: New file.
61986         * lib/unictype/pr_hyphen.c: New file.
61987         * lib/unictype/pr_id_continue.c: New file.
61988         * lib/unictype/pr_id_start.c: New file.
61989         * lib/unictype/pr_ideographic.c: New file.
61990         * lib/unictype/pr_ids_binary_operator.c: New file.
61991         * lib/unictype/pr_ids_trinary_operator.c: New file.
61992         * lib/unictype/pr_ignorable_control.c: New file.
61993         * lib/unictype/pr_iso_control.c: New file.
61994         * lib/unictype/pr_join_control.c: New file.
61995         * lib/unictype/pr_left_of_pair.c: New file.
61996         * lib/unictype/pr_line_separator.c: New file.
61997         * lib/unictype/pr_logical_order_exception.c: New file.
61998         * lib/unictype/pr_lowercase.c: New file.
61999         * lib/unictype/pr_math.c: New file.
62000         * lib/unictype/pr_non_break.c: New file.
62001         * lib/unictype/pr_not_a_character.c: New file.
62002         * lib/unictype/pr_numeric.c: New file.
62003         * lib/unictype/pr_other_alphabetic.c: New file.
62004         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
62005         * lib/unictype/pr_other_grapheme_extend.c: New file.
62006         * lib/unictype/pr_other_id_continue.c: New file.
62007         * lib/unictype/pr_other_id_start.c: New file.
62008         * lib/unictype/pr_other_lowercase.c: New file.
62009         * lib/unictype/pr_other_math.c: New file.
62010         * lib/unictype/pr_other_uppercase.c: New file.
62011         * lib/unictype/pr_paired_punctuation.c: New file.
62012         * lib/unictype/pr_paragraph_separator.c: New file.
62013         * lib/unictype/pr_pattern_syntax.c: New file.
62014         * lib/unictype/pr_pattern_white_space.c: New file.
62015         * lib/unictype/pr_private_use.c: New file.
62016         * lib/unictype/pr_punctuation.c: New file.
62017         * lib/unictype/pr_quotation_mark.c: New file.
62018         * lib/unictype/pr_radical.c: New file.
62019         * lib/unictype/pr_sentence_terminal.c: New file.
62020         * lib/unictype/pr_soft_dotted.c: New file.
62021         * lib/unictype/pr_space.c: New file.
62022         * lib/unictype/pr_terminal_punctuation.c: New file.
62023         * lib/unictype/pr_test.c: New file.
62024         * lib/unictype/pr_titlecase.c: New file.
62025         * lib/unictype/pr_unassigned_code_value.c: New file.
62026         * lib/unictype/pr_unified_ideograph.c: New file.
62027         * lib/unictype/pr_uppercase.c: New file.
62028         * lib/unictype/pr_variation_selector.c: New file.
62029         * lib/unictype/pr_white_space.c: New file.
62030         * lib/unictype/pr_xid_continue.c: New file.
62031         * lib/unictype/pr_xid_start.c: New file.
62032         * lib/unictype/pr_zero_width.c: New file.
62033         * lib/unictype/scripts.c: New file.
62034         * lib/unictype/sy_c_ident.c: New file.
62035         * lib/unictype/sy_c_whitespace.c: New file.
62036         * lib/unictype/sy_java_ident.c: New file.
62037         * lib/unictype/sy_java_whitespace.c: New file.
62038
62039         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
62040         Unicode 5.0.0.
62041         * lib/unictype/blocks.h: Likewise.
62042         * lib/unictype/categ_C.h: Likewise.
62043         * lib/unictype/categ_Cc.h: Likewise.
62044         * lib/unictype/categ_Cf.h: Likewise.
62045         * lib/unictype/categ_Cn.h: Likewise.
62046         * lib/unictype/categ_Co.h: Likewise.
62047         * lib/unictype/categ_Cs.h: Likewise.
62048         * lib/unictype/categ_L.h: Likewise.
62049         * lib/unictype/categ_Ll.h: Likewise.
62050         * lib/unictype/categ_Lm.h: Likewise.
62051         * lib/unictype/categ_Lo.h: Likewise.
62052         * lib/unictype/categ_Lt.h: Likewise.
62053         * lib/unictype/categ_Lu.h: Likewise.
62054         * lib/unictype/categ_M.h: Likewise.
62055         * lib/unictype/categ_Mc.h: Likewise.
62056         * lib/unictype/categ_Me.h: Likewise.
62057         * lib/unictype/categ_Mn.h: Likewise.
62058         * lib/unictype/categ_N.h: Likewise.
62059         * lib/unictype/categ_Nd.h: Likewise.
62060         * lib/unictype/categ_Nl.h: Likewise.
62061         * lib/unictype/categ_No.h: Likewise.
62062         * lib/unictype/categ_P.h: Likewise.
62063         * lib/unictype/categ_Pc.h: Likewise.
62064         * lib/unictype/categ_Pd.h: Likewise.
62065         * lib/unictype/categ_Pe.h: Likewise.
62066         * lib/unictype/categ_Pf.h: Likewise.
62067         * lib/unictype/categ_Pi.h: Likewise.
62068         * lib/unictype/categ_Po.h: Likewise.
62069         * lib/unictype/categ_Ps.h: Likewise.
62070         * lib/unictype/categ_S.h: Likewise.
62071         * lib/unictype/categ_Sc.h: Likewise.
62072         * lib/unictype/categ_Sk.h: Likewise.
62073         * lib/unictype/categ_Sm.h: Likewise.
62074         * lib/unictype/categ_So.h: Likewise.
62075         * lib/unictype/categ_Z.h: Likewise.
62076         * lib/unictype/categ_Zl.h: Likewise.
62077         * lib/unictype/categ_Zp.h: Likewise.
62078         * lib/unictype/categ_Zs.h: Likewise.
62079         * lib/unictype/categ_of.h: Likewise.
62080         * lib/unictype/combining.h: Likewise.
62081         * lib/unictype/ctype_alnum.h: Likewise.
62082         * lib/unictype/ctype_alpha.h: Likewise.
62083         * lib/unictype/ctype_blank.h: Likewise.
62084         * lib/unictype/ctype_cntrl.h: Likewise.
62085         * lib/unictype/ctype_digit.h: Likewise.
62086         * lib/unictype/ctype_graph.h: Likewise.
62087         * lib/unictype/ctype_lower.h: Likewise.
62088         * lib/unictype/ctype_print.h: Likewise.
62089         * lib/unictype/ctype_punct.h: Likewise.
62090         * lib/unictype/ctype_space.h: Likewise.
62091         * lib/unictype/ctype_upper.h: Likewise.
62092         * lib/unictype/ctype_xdigit.h: Likewise.
62093         * lib/unictype/decdigit.h: Likewise.
62094         * lib/unictype/digit.h: Likewise.
62095         * lib/unictype/mirror.h: Likewise.
62096         * lib/unictype/numeric.h: Likewise.
62097         * lib/unictype/pr_alphabetic.h: Likewise.
62098         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62099         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
62100         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62101         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62102         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62103         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62104         * lib/unictype/pr_bidi_control.h: Likewise.
62105         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62106         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62107         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
62108         * lib/unictype/pr_bidi_european_digit.h: Likewise.
62109         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
62110         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
62111         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
62112         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
62113         * lib/unictype/pr_bidi_pdf.h: Likewise.
62114         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62115         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62116         * lib/unictype/pr_combining.h: Likewise.
62117         * lib/unictype/pr_composite.h: Likewise.
62118         * lib/unictype/pr_currency_symbol.h: Likewise.
62119         * lib/unictype/pr_dash.h: Likewise.
62120         * lib/unictype/pr_decimal_digit.h: Likewise.
62121         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62122         * lib/unictype/pr_deprecated.h: Likewise.
62123         * lib/unictype/pr_diacritic.h: Likewise.
62124         * lib/unictype/pr_extender.h: Likewise.
62125         * lib/unictype/pr_format_control.h: Likewise.
62126         * lib/unictype/pr_grapheme_base.h: Likewise.
62127         * lib/unictype/pr_grapheme_extend.h: Likewise.
62128         * lib/unictype/pr_grapheme_link.h: Likewise.
62129         * lib/unictype/pr_hex_digit.h: Likewise.
62130         * lib/unictype/pr_hyphen.h: Likewise.
62131         * lib/unictype/pr_id_continue.h: Likewise.
62132         * lib/unictype/pr_id_start.h: Likewise.
62133         * lib/unictype/pr_ideographic.h: Likewise.
62134         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62135         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62136         * lib/unictype/pr_ignorable_control.h: Likewise.
62137         * lib/unictype/pr_iso_control.h: Likewise.
62138         * lib/unictype/pr_join_control.h: Likewise.
62139         * lib/unictype/pr_left_of_pair.h: Likewise.
62140         * lib/unictype/pr_line_separator.h: Likewise.
62141         * lib/unictype/pr_logical_order_exception.h: Likewise.
62142         * lib/unictype/pr_lowercase.h: Likewise.
62143         * lib/unictype/pr_math.h: Likewise.
62144         * lib/unictype/pr_non_break.h: Likewise.
62145         * lib/unictype/pr_not_a_character.h: Likewise.
62146         * lib/unictype/pr_numeric.h: Likewise.
62147         * lib/unictype/pr_other_alphabetic.h: Likewise.
62148         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62149         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62150         * lib/unictype/pr_other_id_continue.h: Likewise.
62151         * lib/unictype/pr_other_id_start.h: Likewise.
62152         * lib/unictype/pr_other_lowercase.h: Likewise.
62153         * lib/unictype/pr_other_math.h: Likewise.
62154         * lib/unictype/pr_other_uppercase.h: Likewise.
62155         * lib/unictype/pr_paired_punctuation.h: Likewise.
62156         * lib/unictype/pr_paragraph_separator.h: Likewise.
62157         * lib/unictype/pr_pattern_syntax.h: Likewise.
62158         * lib/unictype/pr_pattern_white_space.h: Likewise.
62159         * lib/unictype/pr_private_use.h: Likewise.
62160         * lib/unictype/pr_punctuation.h: Likewise.
62161         * lib/unictype/pr_quotation_mark.h: Likewise.
62162         * lib/unictype/pr_radical.h: Likewise.
62163         * lib/unictype/pr_sentence_terminal.h: Likewise.
62164         * lib/unictype/pr_soft_dotted.h: Likewise.
62165         * lib/unictype/pr_space.h: Likewise.
62166         * lib/unictype/pr_terminal_punctuation.h: Likewise.
62167         * lib/unictype/pr_titlecase.h: Likewise.
62168         * lib/unictype/pr_unassigned_code_value.h: Likewise.
62169         * lib/unictype/pr_unified_ideograph.h: Likewise.
62170         * lib/unictype/pr_uppercase.h: Likewise.
62171         * lib/unictype/pr_variation_selector.h: Likewise.
62172         * lib/unictype/pr_white_space.h: Likewise.
62173         * lib/unictype/pr_xid_continue.h: Likewise.
62174         * lib/unictype/pr_xid_start.h: Likewise.
62175         * lib/unictype/pr_zero_width.h: Likewise.
62176         * lib/unictype/scripts.h: Likewise.
62177         * lib/unictype/scripts_byname.gperf: Likewise.
62178         * lib/unictype/sy_c_ident.h: Likewise.
62179         * lib/unictype/sy_c_whitespace.h: Likewise.
62180         * lib/unictype/sy_java_ident.h: Likewise.
62181         * lib/unictype/sy_java_whitespace.h: Likewise.
62182
62183         * lib/unictype/Makefile: New file.
62184         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
62185         glibc.
62186         * lib/unictype/3level.h: New file, copied from glibc.
62187         * lib/unictype/3levelbit.h: New file.
62188
62189 2007-11-11  Bruno Haible  <bruno@clisp.org>
62190
62191         * modules/gperf: New file.
62192         * modules/iconv_open (Depends-on): Add it.
62193         (Makefile.am): Remove the GPERF definition.
62194
62195 2007-11-11  Bruno Haible  <bruno@clisp.org>
62196
62197         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
62198         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
62199
62200 2007-11-11  Bruno Haible  <bruno@clisp.org>
62201
62202         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
62203         (usage): Remove function.
62204
62205 2007-11-11  Bruno Haible  <bruno@clisp.org>
62206
62207         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
62208         gl_FUNC_CEILF_LIBS.
62209         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
62210         gl_FUNC_CEIL_LIBS.
62211         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
62212         gl_FUNC_CEILL_LIBS.
62213         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
62214         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
62215         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
62216
62217 2007-11-11  Bruno Haible  <bruno@clisp.org>
62218
62219         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
62220         roundf were declared but do not exist on functions.
62221         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
62222         roundl were declared but do not exist on functions.
62223         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
62224         HAVE_FLOORL_AND_CEILL, respectively.
62225         Needed for Sun C on Solaris 10.
62226
62227 2007-11-11  Bruno Haible  <bruno@clisp.org>
62228
62229         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
62230         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
62231         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
62232         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
62233         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
62234         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
62235         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
62236         HAVE_DECL_ROUNDF.
62237         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
62238         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
62239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
62240         of HAVE_DECL_ROUND*.
62241         * modules/math (Makefile.am): Update.
62242
62243 2007-11-10  Bruno Haible  <bruno@clisp.org>
62244
62245         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
62246         ptrdiff_t as m4/intl.m4.
62247
62248 2007-11-10  Jim Meyering  <meyering@redhat.com>
62249
62250         Avoid link failure for the argmatch test.
62251         * tests/test-argmatch.c (usage): Define function to avoid a link
62252         failure: argmatch_die requires a usage function.
62253
62254 2007-11-09  Bruno Haible  <bruno@clisp.org>
62255
62256         * doc/functions/snprintf.texi: Mention BeOS deficiency.
62257         * doc/functions/vsnprintf.texi: Likewise.
62258         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
62259         with a size argument < 2.
62260
62261 2007-11-09  Bruno Haible  <bruno@clisp.org>
62262
62263         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
62264         buffer. Fixes an inefficiency introduced on 2007-11-03.
62265
62266 2007-11-09  Bruno Haible  <bruno@clisp.org>
62267
62268         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
62269         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
62270
62271 2007-11-08  Jim Meyering  <meyering@redhat.com>
62272
62273         Change cache variable name prefix "jm_" to "gl_" everywhere.
62274         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
62275         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
62276         * m4/uptime.m4: s/gl_/jm_/
62277
62278 2007-11-07  Bruno Haible  <bruno@clisp.org>
62279
62280         Update to GNU gettext 0.17.
62281         * m4/intl.m4: Update to GNU gettext 0.17.
62282         * m4/po.m4: Likewise.
62283         * modules/gettext (Files): Remove m4/ulonglong.m4.
62284         (configure.ac): Require gettext infrastructure from version 0.17.
62285
62286 2007-11-06  Bruno Haible  <bruno@clisp.org>
62287
62288         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
62289         symbolic values are not defined in a public header.
62290         * lib/freadable.c (freadable) [QNX]: Likewise.
62291         * lib/freadahead.c (freadahead) [QNX]: Likewise.
62292         * lib/freading.c (freading) [QNX]: Likewise.
62293         * lib/fseterr.c (fseterr) [QNX]: Likewise.
62294         * lib/fwritable.c (fwritable) [QNX]: Likewise.
62295         * lib/fwriting.c (fwriting) [QNX]: Likewise.
62296         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
62297         Reported by Alain Magloire.
62298
62299         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
62300
62301 2007-11-05  Bruno Haible  <bruno@clisp.org>
62302
62303         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
62304         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
62305         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
62306         Reported by Eric Blake.
62307
62308 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62309             Bruno Haible  <bruno@clisp.org>
62310
62311         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
62312         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
62313         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
62314         (malloc): Undefine also before including <stdlib.h>.
62315         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
62316         Needed on OSF/1 4.0.
62317
62318 2007-11-05  Jim Meyering  <meyering@redhat.com>
62319
62320         git-version-gen: sync from coreutils.
62321         * build-aux/git-version-gen: Add comments.
62322         Change the first '-' to '.' in the snapshot version string,
62323         e.g., 6.9-377-08144 -> 6.9.377-08144
62324         Remove first parameter.
62325         Don't declare a version "-dirty" merely because a time
62326         stamp has changed.
62327
62328 2007-11-04  Bruno Haible  <bruno@clisp.org>
62329
62330         * lib/lock.h: Protect all macro definitions containing an 'if'
62331         statement through a "do { ... } while (0)".
62332         * lib/tls.h: Likewise.
62333
62334 2007-11-04  Bruno Haible  <bruno@clisp.org>
62335
62336         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
62337
62338 2007-11-04  Bruno Haible  <bruno@clisp.org>
62339
62340         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
62341         * modules/fprintf-posix (Depends-on): Add nocrash.
62342         * modules/snprintf-posix (Depends-on): Likewise.
62343         * modules/sprintf-posix (Depends-on): Likewise.
62344         * modules/vasnprintf-posix (Depends-on): Likewise.
62345         * modules/vasprintf-posix (Depends-on): Likewise.
62346         * modules/vfprintf-posix (Depends-on): Likewise.
62347         * modules/vsnprintf-posix (Depends-on): Likewise.
62348         * modules/vsprintf-posix (Depends-on): Likewise.
62349         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62350         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62351         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62352         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62353         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62354         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62355         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62356
62357 2007-11-04  Bruno Haible  <bruno@clisp.org>
62358
62359         * modules/nocrash: New file.
62360         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
62361         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
62362
62363 2007-11-04  Bruno Haible  <bruno@clisp.org>
62364
62365         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
62366         precision handling.
62367         * tests/test-vasprintf-posix.c (test_function): Likewise.
62368         * tests/test-snprintf-posix.h (test_function): Likewise.
62369         * tests/test-sprintf-posix.h (test_function): Likewise.
62370
62371         Fix *printf behaviour for large precisions on mingw and BeOS.
62372         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
62373         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
62374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
62375         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62376         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62377         gl_PRINTF_PRECISION and test its result. Invoke
62378         gl_PREREQ_VASNPRINTF_PRECISION.
62379         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62380         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62381         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62382         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62383         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62384         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62385         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62386         * doc/functions/fprintf.texi: Update.
62387         * doc/functions/printf.texi: Update.
62388         * doc/functions/snprintf.texi: Update.
62389         * doc/functions/sprintf.texi: Update.
62390         * doc/functions/vfprintf.texi: Update.
62391         * doc/functions/vprintf.texi: Update.
62392         * doc/functions/vsnprintf.texi: Update.
62393         * doc/functions/vsprintf.texi: Update.
62394
62395 2007-11-04  Bruno Haible  <bruno@clisp.org>
62396
62397         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
62398
62399 2007-11-04  Bruno Haible  <bruno@clisp.org>
62400
62401         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
62402         Reported by Sylvain Beucler <beuc@gnu.org>.
62403
62404 2007-11-03  Bruno Haible  <bruno@clisp.org>
62405
62406         * tests/test-fprintf-posix2.sh: New file.
62407         * tests/test-fprintf-posix2.c: New file.
62408         * modules/fprintf-posix-tests (Files): Add them.
62409         (TESTS): Add test-fprintf-posix2.sh.
62410         (configure.ac): Check for getrlimit and setrlimit.
62411         (check_PROGRAMS): Add test-fprintf-posix2.
62412
62413         * tests/test-printf-posix2.sh: New file.
62414         * tests/test-printf-posix2.c: New file.
62415         * modules/printf-posix-tests (Files): Add them.
62416         (TESTS): Add test-printf-posix2.sh.
62417         (configure.ac): Check for getrlimit and setrlimit.
62418         (check_PROGRAMS): Add test-printf-posix2.
62419
62420         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
62421         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
62422         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
62423         (decode_double): New function, copied from decode_long_double.
62424         (scale10_round_decimal_decoded): New function, extracted from
62425         scale10_round_decimal_long_double.
62426         (scale10_round_decimal_long_double): Use it.
62427         (scale10_round_decimal_double): New function.
62428         (floorlog10): New function.
62429         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
62430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
62431         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62432         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62433         gl_PRINTF_ENOMEM and test its result. Invoke
62434         gl_PREREQ_VASNPRINTF_ENOMEM.
62435         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62436         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62437         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62438         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62439         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62440         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62441         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62442         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
62443         * modules/snprintf-posix (Depends-on): Likewise.
62444         * modules/sprintf-posix (Depends-on): Likewise.
62445         * modules/vasnprintf-posix (Depends-on): Likewise.
62446         * modules/vasprintf-posix (Depends-on): Likewise.
62447         * modules/vfprintf-posix (Depends-on): Likewise.
62448         * modules/vsnprintf-posix (Depends-on): Likewise.
62449         * modules/vsprintf-posix (Depends-on): Likewise.
62450         * doc/functions/fprintf.texi: Update.
62451         * doc/functions/printf.texi: Update.
62452         * doc/functions/snprintf.texi: Update.
62453         * doc/functions/sprintf.texi: Update.
62454         * doc/functions/vfprintf.texi: Update.
62455         * doc/functions/vprintf.texi: Update.
62456         * doc/functions/vsnprintf.texi: Update.
62457         * doc/functions/vsprintf.texi: Update.
62458
62459 2007-11-03  Bruno Haible  <bruno@clisp.org>
62460
62461         * modules/frexp-nolibm-tests: New file.
62462
62463         * modules/frexp-nolibm: New file.
62464         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
62465
62466 2007-11-03  Bruno Haible  <bruno@clisp.org>
62467
62468         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
62469         value is C99 compliant.
62470         Needed for OSF/1 5.1.
62471
62472 2007-11-03  Bruno Haible  <bruno@clisp.org>
62473
62474         Fix out-of-memory handling of vasnprintf.
62475         * lib/printf-parse.c: Include <errno.h>.
62476         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
62477         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
62478         is already set.
62479
62480 2007-11-02  Eric Blake  <ebb9@byu.net>
62481
62482         Fix tests on cygwin.
62483         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
62484
62485 2007-11-01  Bruno Haible  <bruno@clisp.org>
62486
62487         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
62488         warning.
62489         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
62490         needed for POSIX compatibility.
62491
62492 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62493
62494         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
62495         for compatibility with GNU.
62496
62497 2007-11-01  Bruno Haible  <bruno@clisp.org>
62498
62499         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
62500         (putenv): Renamed from rpl_putenv. Change argument type from
62501         'const char *' to 'char *'.
62502         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
62503         of defining putenv in config.h, just set REPLACE_PUTENV.
62504         * modules/putenv (Depends-on): Add stdlib.
62505         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62506         (Include): Use <stdlib.h>.
62507         * lib/stdlib.in.h (putenv): New declaration.
62508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
62509         REPLACE_PUTENV.
62510         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
62511         REPLACE_PUTENV.
62512         Needed for MacOS X 10.5.0.
62513         Reported by Peter O'Gorman <peter@pogma.com>.
62514
62515 2007-11-01  Jim Meyering  <meyering@redhat.com>
62516
62517         Treat an empty date string exactly like "0".
62518         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
62519         if the remaining date string (to be parsed) is empty, use "0".
62520         Reported by Mischa Molhoek and discussed in this thread:
62521         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
62522
62523 2007-10-31  Bruno Haible  <bruno@clisp.org>
62524
62525         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
62526         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
62527         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
62528         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
62529         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
62530         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
62531
62532 2007-10-31  Bruno Haible  <bruno@clisp.org>
62533
62534         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
62535         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
62536         (AC_TYPE_LONG_LONG_INT): Use it.
62537         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
62538         it as well.
62539         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
62540         to m4/longlong.m4.
62541         * modules/stdint (Files): Remove m4/ulonglong.m4.
62542         * modules/strtoull (Files): Use m4/longlong.m4 instead of
62543         m4/ulonglong.m4.
62544         * modules/strtoumax (Files): Likewise.
62545
62546 2007-10-30  Bruno Haible  <bruno@clisp.org>
62547
62548         * modules/xvasprintf-posix: New file.
62549         Suggested by Eric Blake.
62550
62551 2007-10-30  Bruno Haible  <bruno@clisp.org>
62552
62553         * modules/xprintf-posix-tests: New file.
62554         * tests/test-xprintf-posix.sh: New file.
62555         * tests/test-xprintf-posix.c: New file.
62556         * tests/test-xfprintf-posix.c: New file.
62557
62558         * modules/xprintf-posix: New file.
62559
62560 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62561
62562         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
62563         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
62564         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
62565
62566 2007-10-29  Bruno Haible  <bruno@clisp.org>
62567
62568         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
62569         contain the special marker '_cv_'.
62570         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
62571         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
62572         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
62573         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
62574         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
62575         Reported by Ralf Wildenhues.
62576
62577 2007-10-29  Bruno Haible  <bruno@clisp.org>
62578
62579         * gnulib-tool (func_import): When --lgpl is not specified, set
62580         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
62581         GPLv3.
62582         Reported by Simon Josefsson.
62583
62584 2007-10-28  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
62587         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
62588         HAVE_DECL_ISFINITE.
62589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62590         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
62591         HAVE_DECL_ISFINITE.
62592
62593 2007-10-28  Bruno Haible  <bruno@clisp.org>
62594
62595         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
62596         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
62597
62598 2007-10-28  Bruno Haible  <bruno@clisp.org>
62599
62600         Fix link errors with Sun C 5.0 on Solaris 10.
62601         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
62602         function is declared but not present in the compiler's libm.
62603         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
62604         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
62605         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
62606         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
62607         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
62608         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
62609         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
62610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62611         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
62612         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
62613         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
62614         HAVE_DECL_FLOORL.
62615
62616 2007-10-28  Bruno Haible  <bruno@clisp.org>
62617
62618         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
62619         gl_FUNC_FLOORL. Cache the result.
62620         (gl_FUNC_FLOORL): Use it.
62621         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
62622         gl_FUNC_CEILL. Cache the result.
62623         (gl_FUNC_CEILL): Use it.
62624
62625         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
62626         gl_FUNC_FLOOR. Cache the result.
62627         (gl_FUNC_FLOOR): Use it.
62628         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
62629         gl_FUNC_CEIL. Cache the result.
62630         (gl_FUNC_CEIL): Use it.
62631
62632         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
62633         gl_FUNC_FLOORF. Cache the result.
62634         (gl_FUNC_FLOORF): Use it.
62635         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
62636         gl_FUNC_CEILF. Cache the result.
62637         (gl_FUNC_CEILF): Use it.
62638
62639 2007-10-28  Bruno Haible  <bruno@clisp.org>
62640
62641         * gnulib-tool: Allow specifying the LGPL version number through
62642         --lgpl=2 or --lgpl=3.
62643         (func_usage): Document --lgpl with argument.
62644         Handle --lgpl=... arguments.
62645         (func_import): Recognize also gl_LGPL calls with an argument. When
62646         --lgpl=2 is used and the module's license is just LGPL, report an
62647         error. Set sed_transform_lib_file according to the lgpl variable. In
62648         the generated files, use --lgpl or gl_LGPL invocations with argument,
62649         if necessary.
62650         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
62651         an LGPv2+ license.
62652         * doc/gnulib-tool.texi (Modified imports): Update explanation of
62653         gl_LGPL macro.
62654
62655 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62656             Bruno Haible  <bruno@clisp.org>
62657
62658         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
62659         (u16_uctomb_aux): Likewise.
62660         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
62661         !HAVE_INLINE.
62662         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
62663
62664 2007-10-28  Bruno Haible  <bruno@clisp.org>
62665
62666         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
62667         Invoke AM_GETTEXT_OPTION if it exists.
62668         * modules/vasprintf: Likewise.
62669         * modules/verror: Likewise.
62670         * modules/xprintf: Likewise.
62671         * modules/xvasprintf: Likewise.
62672
62673 2007-10-27  Ben Pfaff  <blp@gnu.org>
62674
62675         * lib/math.in.h: Define isfinite macro and prototypes for
62676         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
62677         implementations.
62678         * m4/math_h.m4: New substitutions for isfinite module.
62679         * lib/isfinite.c: New file.
62680         * m4/isfinite.m4: New file.
62681         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
62682         * modules/isfinite: New file.
62683         * modules/isfinite-tests: New file.
62684         * tests/tests-isfinite.c: New file.
62685         * doc/functions/isfinite.texi: Mention isfinite module.
62686         * MODULES.html.sh: Mention new module.
62687
62688 2007-10-27  Ben Pfaff  <blp@gnu.org>
62689
62690         Ralf Wildenhues reported that Tru64 4.0D declares the round
62691         functions but does not have definitions.
62692         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
62693         cannot be found in any library, set the output variable to
62694         "missing" instead of "".
62695         * m4/round.m4: Also use our substitute if we cannot find round in
62696         any library, even if it is declared.
62697         * m4/roundf.m4: Likewise for roundf.
62698         * m4/roundl.m4: Likewise for roundl.
62699         * lib/math.in.h: Undefine roundf, round, roundl before defining
62700         their replacements, to allow for hypothetical systems where these
62701         may be defined as macros but not available in libraries.
62702
62703 2007-10-27  Bruno Haible  <bruno@clisp.org>
62704
62705         * doc/gnulib.texi: Invoke @firstparagraphindent.
62706         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
62707         changes in gnulib.
62708         (Source changes): New section.
62709
62710 2007-10-26  Bruno Haible  <bruno@clisp.org>
62711
62712         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
62713         borrowed from autoconf.
62714
62715 2007-10-26  Bruno Haible  <bruno@clisp.org>
62716
62717         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
62718         strerror returned the empty string. Needed on HP-UX 11.00.
62719
62720 2007-10-24  Micah Cowan  <micah@cowan.name>
62721
62722         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
62723         * build-aux/bootstrap: Remove support for now-unnecessary option,
62724         --cvs-user, and envvars CVS_USER, CVS_RSH.
62725
62726 2007-10-24  Jim Meyering  <meyering@redhat.com>
62727
62728         Avoid diagnostics from sha1sum when there is no cached checksum.
62729         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
62730         if the po.s1 file hasn't been created yet.
62731
62732         * build-aux/bootstrap: Sync from coreutils:
62733         2007-10-24  Jim Meyering  <meyering@redhat.com>
62734         Get gnulib from the git repository, not from an obsolete cvs one.
62735         * build-aux/bootstrap: Suggestion from Micah Cowan.
62736         2007-10-04  Jim Meyering  <jim@meyering.net>
62737         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
62738         (update_po_files): Work also when there are no .po files in po/.
62739
62740 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62741
62742         * README: Append ".git" to git and cg examples.
62743         Problem reported by Benoit Sigoure.
62744
62745 2007-10-23  Micah Cowan  <micah@cowan.name>
62746
62747         * users.txt: Add wget.
62748
62749 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62750
62751         Fix linking of some unistdio tests on FreeBSD.
62752         * modules/unistdio/u16-vsnprintf-tests
62753         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
62754         * modules/unistdio/u16-vsprintf-tests
62755         (test_u16_vsnprintf1_LDADD): Likewise.
62756         * modules/unistdio/u32-vsnprintf-tests
62757         (test_u32_vsnprintf1_LDADD): Likewise.
62758         * modules/unistdio/u32-vsprintf-tests
62759         (test_u32_vsprintf1_LDADD): Likewise.
62760         * modules/unistdio/u8-vsnprintf-tests
62761         (test_u8_vsnprintf1_LDADD): Likewise.
62762         * modules/unistdio/u8-vsprintf-tests
62763         (test_u8_vsprintf1_LDADD): Likewise.
62764         * modules/unistdio/ulc-vsnprintf-tests
62765         (test_ulc_vsnprintf1_LDADD): Likewise.
62766         * modules/unistdio/ulc-vsprintf-tests
62767         (test_ulc_vsprintf1_LDADD): Likewise.
62768
62769         Fix linking of some uniconv tests on FreeBSD.
62770         * modules/uniconv/u16-conv-from-enc-tests
62771         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
62772         * modules/uniconv/u16-conv-to-enc-tests
62773         (test_u16_conv_to_enc_LDADD): Likewise.
62774         * modules/uniconv/u16-strconv-from-enc-tests
62775         (test_u16_strconv_from_enc_LDADD): Likewise.
62776         * modules/uniconv/u16-strconv-to-enc-tests
62777         (test_u16_strconv_to_enc_LDADD): Likewise.
62778         * modules/uniconv/u32-conv-from-enc-tests
62779         (test_u32_conv_from_enc_LDADD): Likewise.
62780         * modules/uniconv/u32-conv-to-enc-tests
62781         (test_u32_conv_to_enc_LDADD): Likewise.
62782         * modules/uniconv/u32-strconv-from-enc-tests
62783         (test_u32_strconv_from_enc_LDADD): Likewise.
62784         * modules/uniconv/u32-strconv-to-enc-tests
62785         (test_u32_strconv_to_enc_LDADD): Likewise.
62786         * modules/uniconv/u8-conv-from-enc-tests
62787         (test_u8_conv_from_enc_LDADD): Likewise.
62788         * modules/uniconv/u8-conv-to-enc-tests
62789         (test_u8_conv_to_enc_LDADD): Likewise.
62790         * modules/uniconv/u8-strconv-from-enc-tests
62791         (test_u8_strconv_from_enc_LDADD): Likewise.
62792         * modules/uniconv/u8-strconv-to-enc-tests
62793         (test_u8_strconv_to_enc_LDADD): Likewise.
62794
62795 2007-10-22  Bruno Haible  <bruno@clisp.org>
62796
62797         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
62798         size.
62799
62800 2007-10-22  Eric Blake  <ebb9@byu.net>
62801
62802         Tweak x*printf documentation.
62803         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
62804         variable name and comments.
62805         Suggested by Bruno Haible.
62806
62807 2007-10-22  Bruno Haible  <bruno@clisp.org>
62808
62809         * lib/acl.c (copy_acl): Fix file name in comment.
62810
62811 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62812
62813         Fix Tru64 problem with stdbool.h.
62814         * lib/stdbool.in.h (false, true):
62815         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
62816         Don't declare as an enum in this situation; it runs afoul of Tru64.
62817         Problem reported by Steven M. Schweda in
62818         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
62819
62820 2007-10-22  Eric Blake  <ebb9@byu.net>
62821
62822         Also wrap vf?printf.
62823         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
62824         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
62825         (xvprintf, xvfprintf): New functions.
62826
62827 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62828
62829         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
62830         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
62831
62832         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
62833         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
62834
62835 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62836
62837         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
62838         by Bruno Haible.
62839
62840 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62841
62842         * lib/getloadavg.c
62843         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
62844         Undef `sys' after including sys/table.h, for Tru64 4.0D.
62845
62846         * tests/test-i-ring.c: Work for C89.
62847
62848 2007-10-22  Bruno Haible  <bruno@clisp.org>
62849
62850         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
62851         -1u, in preprocessor expression, so that we don't test for the bug
62852         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
62853         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
62854
62855 2007-10-22  Eric Blake  <ebb9@byu.net>
62856
62857         * tests/test-yesno.sh: Silence stderr during test.
62858
62859 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62860
62861         * modules/crypto/gc-camellia: New file.
62862
62863         * m4/gc-camellia.m4: New file.
62864
62865         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
62866
62867         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
62868
62869 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62870
62871         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
62872         --help to stdout.  Reported by sms@antinode.org (Steven
62873         M. Schweda).
62874
62875 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62876
62877         * users.txt: Fix link to libksba.
62878
62879 2007-10-21  Ben Pfaff  <blp@gnu.org>
62880
62881         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
62882         round.c roundf implementation that depends on floorf and ceilf to
62883         be tested unconditionally.
62884
62885 2007-10-21  Ben Pfaff  <blp@gnu.org>
62886
62887         * m4/check-libm-func.m4: Removed.
62888         * m4/check-math-lib.m4: New file.
62889         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
62890         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
62891         definition and lack of AC_LIBOBJ([roundf]).
62892         * m4/roundl.m4: Ditto, and similarly for roundl.
62893         * modules/round: Reference new m4 file.
62894         * modules/roundf: Ditto.
62895         * modules/roundl: Ditto.
62896         * tests/test-round2.c (main): Use ROUND instead of round.
62897         Bug report from Bruno Haible.
62898
62899 2007-10-21  Bruno Haible  <bruno@clisp.org>
62900
62901         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
62902         context.
62903
62904 2007-10-21  Bruno Haible  <bruno@clisp.org>
62905
62906         * tests/test-wcwidth.c (main): Allow negative result for some control
62907         characters.
62908
62909         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
62910         Needed on OSF/1 5.1.
62911
62912 2007-10-21  Bruno Haible  <bruno@clisp.org>
62913
62914         * tests/test-floorf1.c: Include isnanf.h.
62915         (main): Use isnanf() instead of isnan().
62916         * tests/test-ceilf1.c: Include isnanf.h.
62917         (main): Use isnanf() instead of isnan().
62918         * tests/test-truncf1.c: Include isnanf.h.
62919         (main): Use isnanf() instead of isnan().
62920         * tests/test-roundf1.c: Include isnanf.h.
62921         (main): Use isnanf() instead of isnan().
62922
62923 2007-10-21  Eric Blake  <ebb9@byu.net>
62924
62925         * users.txt: Update URL for m4.
62926
62927 2007-10-21  Bruno Haible  <bruno@clisp.org>
62928
62929         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
62930
62931 2007-10-21  Bruno Haible  <bruno@clisp.org>
62932
62933         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
62934         Git's management files if the CVS files are not present.
62935
62936 2007-10-20  Bruno Haible  <bruno@clisp.org>
62937
62938         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
62939         gcc-3.4.x.
62940
62941 2007-10-20  Ben Pfaff  <blp@gnu.org>
62942
62943         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62944         implementations.
62945         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62946         * lib/round.c: New file.
62947         * lib/roundf.c: New file.
62948         * lib/roundl.c: New file.
62949         * m4/round.m4: New file.
62950         * m4/roundf.m4: New file.
62951         * m4/roundl.m4: New file.
62952         * m4/check-libm-func-m4: New file.
62953         * modules/math: Replace round, roundf, roundl related @VARS@ in
62954         math.in.h.
62955         * modules/round: New file.
62956         * modules/round-tests: New file.
62957         * modules/roundf: New file.
62958         * modules/roundf-tests: New file.
62959         * modules/roundl: New file.
62960         * modules/roundl-tests: New file.
62961         * tests/test-round1.c: New file.
62962         * tests/test-round2.c: New file.
62963         * tests/test-roundf1.c: New file.
62964         * tests/test-roundf2.c: New file.
62965         * tests/test-roundl.c: New file.
62966         * doc/functions/round.texi: Mention round module.
62967         * doc/functions/roundf.texi: Mention roundf module.
62968         * doc/functions/roundl.texi: Mention roundl module.
62969         * MODULES.html.sh: Mention new modules.
62970         Thanks to Bruno Haible for suggestions.
62971
62972 2007-10-20  Jim Meyering  <meyering@redhat.com>
62973
62974         * lib/xprintf.c: Include <config.h> unconditionally.
62975
62976         Change xprintf's license to GPL.
62977         * modules/xprintf (License): s/LGPL/GPL/, since this module
62978         depends on modules (exit and exitfail) which are GPL.
62979         Suggestion from Bruno Haible.
62980
62981         xprintf fixes.
62982         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62983         Use a clearer diagnostic.
62984         Patch from Bruno Haible.
62985
62986 2007-10-20  Bruno Haible  <bruno@clisp.org>
62987
62988         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62989         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62990         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62991
62992 2007-10-20  Bruno Haible  <bruno@clisp.org>
62993
62994         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62995         precision in the comparison result > x - 1 or similar.
62996         * tests/test-ceilf2.c (correct_result_p): Likewise.
62997         * tests/test-truncf2.c (correct_result_p): Likewise.
62998         * tests/test-trunc2.c (correct_result_p): Likewise.
62999         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63000
63001 2007-10-20  Bruno Haible  <bruno@clisp.org>
63002
63003         * modules/ceil: New file.
63004         * m4/ceil.m4: New file.
63005         * doc/functions/ceil.texi: Mention the 'ceil' module.
63006
63007 2007-10-20  Bruno Haible  <bruno@clisp.org>
63008
63009         * modules/floor: New file.
63010         * m4/floor.m4: New file.
63011         * doc/functions/floor.texi: Mention the 'floor' module.
63012
63013 2007-10-20  Bruno Haible  <bruno@clisp.org>
63014
63015         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
63016         of %a.
63017         * modules/floorf-tests (Depends-on): Likewise.
63018         * modules/truncf-tests (Depends-on): Likewise.
63019         * modules/trunc-tests (Depends-on): Likewise.
63020         Reported by Ben Pfaff.
63021
63022 2007-10-19  Jim Meyering  <meyering@redhat.com>
63023
63024         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
63025         Don't bother testing specific errno values.  Just test ferror.
63026
63027         New module: xprintf
63028         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
63029
63030 2007-10-19  Bruno Haible  <bruno@clisp.org>
63031
63032         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
63033         syntax.
63034         * modules/javaexec (Makefile.am): Likewise.
63035         * modules/relocatable-prog (Makefile.am): Likewise.
63036         Suggested by Jim Meyering.
63037
63038 2007-10-18  Bruno Haible  <bruno@clisp.org>
63039
63040         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
63041         Reported by Jim Meyering.
63042
63043 2007-10-18  Eric Blake  <ebb9@byu.net>
63044
63045         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
63046
63047 2007-10-18  Bruno Haible  <bruno@clisp.org>
63048
63049         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
63050         the format string into writable memory. Needed in Fortify conditions.
63051
63052 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
63053             Bruno Haible  <bruno@clisp.org>
63054
63055         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
63056         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
63057         * modules/trim (Depends-on): Add mbchar.
63058         (configure.ac): Add gl_FUNC_MBRTOWC.
63059         (Makefile.am): Augment lib_SOURCES.
63060
63061 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
63062
63063         Modify glob.c to use fstatat and dirfd, to simplify it.
63064         Suggested by Eric Blake.
63065         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
63066         Don't include <stdbool.h>; not used.
63067         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
63068         (link_exists_p): Simplify implementation, since we can now assume
63069         dirfd and fstatat.
63070         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
63071
63072 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63073
63074         * gnulib-tool (func_get_dependencies): Fix sed script to
63075         match only tests.
63076
63077 2007-10-17  Bruno Haible  <bruno@clisp.org>
63078
63079         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
63080         allow locale names without encoding suffix.
63081         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
63082         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63083
63084 2007-10-16  Bruno Haible  <bruno@clisp.org>
63085
63086         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
63087         * lib/getgroups.c (getgroups): Likewise.
63088         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
63089
63090 2007-10-16  Bruno Haible  <bruno@clisp.org>
63091
63092         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
63093         * modules/malloc-posix (License): Likewise.
63094         * modules/realloc-posix (License): Likewise.
63095         * modules/calloc-posix (License): Likewise.
63096         * modules/intprops (License): Change from GPL to LGPL, with
63097         Paul Eggert's approval.
63098
63099 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63100
63101         Merge glibc changes into lib/glob.c.
63102
63103         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
63104         2007-10-15 04:59:03 UTC.  Here are the changes:
63105
63106         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
63107
63108         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
63109
63110         * lib/glob.c: Add some branch prediction throughout.
63111
63112         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
63113
63114         [BZ #5103]
63115         * lib/glob.c (glob): Recognize patterns starting \/.
63116
63117         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
63118
63119         [BZ #3996]
63120         * lib/glob.c (attribute_hidden): Define if not defined.
63121         (glob): Unescape dirname, filename or username when needed and not
63122         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
63123         is NULL.  Handle unescaped [ in pattern without closing ].
63124         Don't pass GLOB_CHECK down to recursive glob for directories.
63125         (__glob_pattern_type): New function.
63126         (__glob_pattern_p): Implement using __glob_pattern_type.
63127         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
63128         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
63129         Remove unreachable code.
63130
63131         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
63132
63133         * lib/glob.c (glob_in_dir): Add some comments and asserts to
63134         explain why there are no leaks.
63135
63136         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
63137
63138         [BZ #3253]
63139         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
63140         time, rather allocate increasingly bigger arrays of pointers, if
63141         possible with alloca, if too large with malloc.
63142
63143 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63144
63145         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
63146         Problem reported by H.Merijn Brand in
63147         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
63148         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
63149         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
63150
63151 2007-10-15  Bruno Haible  <bruno@clisp.org>
63152
63153         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
63154         with explicit rpl_ prefix.
63155         * lib/fopen.c (fopen): Likewise.
63156         * lib/freopen.c (freopen): Likewise.
63157         * lib/iconv.c (iconv): Likewise.
63158         * lib/iconv_close.c (iconv_close): Likewise.
63159
63160 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63161
63162         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
63163
63164 2007-10-15  Bruno Haible  <bruno@clisp.org>
63165
63166         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
63167         <stddef.h> instead of <stdlib.h> since we only need NULL.
63168         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63169
63170 2007-10-15  Bruno Haible  <bruno@clisp.org>
63171
63172         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
63173         Replace paragraph talking about LIBOBJS.
63174         Reported by Colin Watson <cjwatson@debian.org>.
63175
63176 2007-10-15  Bruno Haible  <bruno@clisp.org>
63177
63178         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
63179         <stdlib.h> before using NULL.
63180
63181 2007-10-15  Simon Josefsson  <simon@josefsson.org>
63182
63183         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
63184         Reported by Albert Chin <china@thewrittenword.com>.
63185
63186 2007-10-14  Bruno Haible  <bruno@clisp.org>
63187
63188         * modules/iconv_open-utf-tests: New file.
63189         * tests/test-iconv-utf.c: New file.
63190
63191         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
63192         * modules/iconv_open-utf: New file.
63193         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
63194         (iconv, iconv_close): New declarations.
63195         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
63196         be defined.
63197         (iconv_open): Add special handling of conversion between UTF-8 and
63198         UTF-{16,32}{BE,LE}.
63199         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
63200         * lib/iconv_close.c: New file.
63201         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
63202         gl_FUNC_ICONV_OPEN.
63203         (gl_FUNC_ICONV_OPEN): Use it.
63204         (gl_FUNC_ICONV_OPEN_UTF): New macro.
63205         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
63206         and REPLACE_ICONV_UTF.
63207         * modules/iconv_open (Depends-on): Add c-strcase.
63208         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
63209         ICONV_CONST.
63210         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
63211
63212 2007-10-13  Albert Chin  <china@thewrittenword.com>
63213             Bruno Haible  <bruno@clisp.org>
63214
63215         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
63216         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
63217
63218 2007-10-13  Bruno Haible  <bruno@clisp.org>
63219
63220         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
63221         defined, use the ISO C99 inline semantics.
63222         * lib/argp.h (ARGP_EI): Likewise.
63223
63224 2007-10-13  Bruno Haible  <bruno@clisp.org>
63225
63226         Handle 'inline' change in gcc 4.3.0.
63227         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
63228         argp_fmtstream_write, argp_fmtstream_set_lmargin,
63229         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
63230         argp_fmtstream_point): Disable 'extern' declaration if the function
63231         definition is going to be provided inline.
63232         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
63233         semantics, not the ISO C99 inline semantics.
63234         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
63235         'extern' declaration if the function definition is going to be provided
63236         inline.
63237         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
63238         the GNU C inline semantics, not the ISO C99 inline semantics. With
63239         GCC 4.2, avoid a warning.
63240
63241 2007-10-13  Bruno Haible  <bruno@clisp.org>
63242
63243         * lib/freading.h (freading): Enable the use of __freading for
63244         glibc >= 2.7.
63245         * lib/freading.c (freading): Likewise.
63246
63247 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63248
63249         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
63250         "warning: C99 inline functions are not supported; using GNU89".
63251
63252 2007-10-12  Bruno Haible  <bruno@clisp.org>
63253
63254         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
63255         of 2.
63256         * tests/test-ceilf2.c: New file.
63257         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
63258
63259         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
63260         * modules/ceilf-tests: Update.
63261
63262 2007-10-12  Bruno Haible  <bruno@clisp.org>
63263
63264         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
63265         of 2.
63266         * tests/test-floorf2.c: New file.
63267         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
63268
63269         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
63270         * modules/floorf-tests: Update.
63271
63272 2007-10-12  Bruno Haible  <bruno@clisp.org>
63273
63274         * tests/test-trunc2.c: New file.
63275         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
63276
63277         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
63278         * modules/trunc-tests: Update.
63279
63280 2007-10-12  Bruno Haible  <bruno@clisp.org>
63281
63282         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
63283         of 2.
63284         * tests/test-truncf2.c: New file.
63285         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
63286
63287         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
63288         * modules/truncf-tests: Update.
63289
63290 2007-10-11  Eric Blake  <ebb9@byu.net>
63291
63292         Don't claim strerror is broken on Interix.
63293         * doc/functions/strerror.texi (strerror): Known broken systems are
63294         now Solaris 8, and not Interix.
63295         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
63296         Interix on cross-compile.
63297         Reported by Martin Koeppe in
63298         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
63299
63300 2007-10-11  Bruno Haible  <bruno@clisp.org>
63301
63302         * modules/i-ring-tests: New file.
63303         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
63304         instead of assert.
63305
63306 2007-10-11  Bruno Haible  <bruno@clisp.org>
63307
63308         * modules/filenamecat-tests: New file.
63309         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
63310         * lib/filenamecat.c: Remove test code.
63311
63312 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63313
63314         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
63315
63316         * lib/strerror.c: Include <string.h> always, to test interface,
63317         and to remove the need for the dummy.
63318         Include intprops.h to compute width instead of doing it ourselves
63319         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
63320         (strerror): Define it to return NULL if there's no system strerror.
63321         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
63322         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
63323         ancient pre-strerror Unix systems well any more.  Saying "unknown
63324         system error" is enough.
63325         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
63326         simpler strerror.c implementation.
63327         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
63328         Simplify the tests to reflect the simpler strerror implementation.
63329         * modules/strerror (Depends-on): Add intprops.
63330
63331 2007-10-09  Eric Blake  <ebb9@byu.net>
63332
63333         Silence test-fpending.
63334         * modules/fpending-tests (Files): Add wrapper script.
63335         * tests/test-fpending.sh: New file.
63336
63337 2007-10-09  Bruno Haible  <bruno@clisp.org>
63338
63339         * MODULES.html.sh (func_module): Don't create a hyperlink for
63340         function names like 'printf_frexp'.
63341         (Misc): Add crc, memxor.
63342         (Characteristics of floating types): New section.
63343         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
63344         isnanf-nolibm, signbit, trunc, truncf, truncl.
63345         (Enhancements for ISO C 99 functions): New subsection Input/output.
63346         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
63347         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
63348         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
63349         (Compatibility checks for POSIX:2001 functions): Add clock-time.
63350         (Enhancements for POSIX:2001 functions): Add chdir-long.
63351         (File system functions): Add areadlink, chdir-safer, read-file.
63352         Remove cycle-check.
63353         (File system as inode set): New section.
63354         (Date and time): Add gethrxtime.
63355         (Multithreading): Add openmp.
63356         (Internationalization functions): Add localename.
63357         (Unicode string functions): Add unistr/u*-mbsnlen.
63358         (Support for maintaining and releasing projects): Add git-version-gen.
63359         (Lone files): Remove directories.
63360
63361 2007-10-08  Ben Pfaff  <blp@gnu.org>
63362
63363         * lib/xmalloca.h: Fix typo in comment.
63364
63365 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63366
63367         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
63368         when avoiding problems with integer overflow.  Use a portable test
63369         instead.
63370
63371 2007-10-08  Simon Josefsson  <simon@josefsson.org>
63372
63373         * modules/dummy (License): Change to LGPLv2+.
63374         * modules/float (License): Likewise
63375         * modules/realloc (License): Likewise
63376         * modules/stdlib (License): Likewise
63377
63378 2007-10-07  Bruno Haible  <bruno@clisp.org>
63379
63380         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
63381         * floor.c (TWO_MANT_DIG): Likewise.
63382         * ceil.c (TWO_MANT_DIG): Likewise.
63383         Reported by Ben Pfaff.
63384
63385 2007-10-07  Bruno Haible  <bruno@clisp.org>
63386
63387         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
63388         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
63389         * lib/frexp.c (FUNC): Likewise.
63390         * lib/printf-frexp.h (printf_frexp): Likewise.
63391         * lib/printf-frexpl.h (printf_frexpl): Likewise.
63392         * lib/printf-frexp.c (FUNC): Likewise.
63393         Suggested by Jim Meyering.
63394
63395 2007-10-07  Jim Meyering  <meyering@redhat.com>
63396
63397         Make xnanosleep's integer overflow test more robust.
63398         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
63399         so that gcc-4.3.0 doesn't optimize away this test for overflow.
63400
63401 2007-10-07  Bruno Haible  <bruno@clisp.org>
63402
63403         * NEWS: Mention the license change.
63404
63405         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
63406         abbreviations in the modules files.
63407
63408         Change copyright notice from GPLv2+ to GPLv3+.
63409         * README: Change copyright notice.
63410         * MODULES.html.sh: Likewise.
63411         * build-aux/bootstrap.conf: Likewise.
63412         * build-aux/config.libpath: Likewise.
63413         * build-aux/csharpcomp.sh.in: Likewise.
63414         * build-aux/csharpexec.sh.in: Likewise.
63415         * build-aux/install-reloc: Likewise.
63416         * build-aux/javacomp.sh.in: Likewise.
63417         * build-aux/javaexec.sh.in: Likewise.
63418         * build-aux/ldd.sh.in: Likewise.
63419         * build-aux/reloc-ldflags: Likewise.
63420         * build-aux/relocatable.sh.in: Likewise.
63421         * build-aux/x-to-1.in: Likewise.
63422         * check-module: Likewise.
63423         * config/srclistvars.sh: Likewise.
63424         * gnulib-tool: Likewise.
63425         * lib/acl-internal.h: Likewise.
63426         * lib/acl.c: Likewise.
63427         * lib/acl.h: Likewise.
63428         * lib/acl_entries.c: Likewise.
63429         * lib/areadlink-with-size.c: Likewise.
63430         * lib/areadlink.c: Likewise.
63431         * lib/areadlink.h: Likewise.
63432         * lib/argmatch.c: Likewise.
63433         * lib/argmatch.h: Likewise.
63434         * lib/argp-ba.c: Likewise.
63435         * lib/argp-eexst.c: Likewise.
63436         * lib/argp-fmtstream.c: Likewise.
63437         * lib/argp-fmtstream.h: Likewise.
63438         * lib/argp-fs-xinl.c: Likewise.
63439         * lib/argp-help.c: Likewise.
63440         * lib/argp-namefrob.h: Likewise.
63441         * lib/argp-parse.c: Likewise.
63442         * lib/argp-pin.c: Likewise.
63443         * lib/argp-pv.c: Likewise.
63444         * lib/argp-pvh.c: Likewise.
63445         * lib/argp-xinl.c: Likewise.
63446         * lib/argp.h: Likewise.
63447         * lib/at-func.c: Likewise.
63448         * lib/atanl.c: Likewise.
63449         * lib/backupfile.c: Likewise.
63450         * lib/backupfile.h: Likewise.
63451         * lib/basename.c: Likewise.
63452         * lib/binary-io.h: Likewise.
63453         * lib/byteswap.in.h: Likewise.
63454         * lib/c-stack.c: Likewise.
63455         * lib/c-stack.h: Likewise.
63456         * lib/c-strcasestr.c: Likewise.
63457         * lib/c-strcasestr.h: Likewise.
63458         * lib/c-strstr.c: Likewise.
63459         * lib/c-strstr.h: Likewise.
63460         * lib/c-strtod.c: Likewise.
63461         * lib/calloc.c: Likewise.
63462         * lib/canon-host.c: Likewise.
63463         * lib/canon-host.h: Likewise.
63464         * lib/canonicalize-lgpl.c: Likewise.
63465         * lib/canonicalize.c: Likewise.
63466         * lib/canonicalize.h: Likewise.
63467         * lib/ceil.c: Likewise.
63468         * lib/ceilf.c: Likewise.
63469         * lib/ceill.c: Likewise.
63470         * lib/chdir-long.c: Likewise.
63471         * lib/chdir-long.h: Likewise.
63472         * lib/chdir-safer.c: Likewise.
63473         * lib/chdir-safer.h: Likewise.
63474         * lib/chown.c: Likewise.
63475         * lib/classpath.c: Likewise.
63476         * lib/classpath.h: Likewise.
63477         * lib/clean-temp.c: Likewise.
63478         * lib/clean-temp.h: Likewise.
63479         * lib/cloexec.c: Likewise.
63480         * lib/close-stream.c: Likewise.
63481         * lib/closein.c: Likewise.
63482         * lib/closein.h: Likewise.
63483         * lib/closeout.c: Likewise.
63484         * lib/closeout.h: Likewise.
63485         * lib/concat-filename.c: Likewise.
63486         * lib/copy-file.c: Likewise.
63487         * lib/copy-file.h: Likewise.
63488         * lib/count-one-bits.h: Likewise.
63489         * lib/crc.c: Likewise.
63490         * lib/crc.h: Likewise.
63491         * lib/creat-safer.c: Likewise.
63492         * lib/csharpcomp.c: Likewise.
63493         * lib/csharpcomp.h: Likewise.
63494         * lib/csharpexec.c: Likewise.
63495         * lib/csharpexec.h: Likewise.
63496         * lib/cycle-check.c: Likewise.
63497         * lib/cycle-check.h: Likewise.
63498         * lib/diacrit.c: Likewise.
63499         * lib/diacrit.h: Likewise.
63500         * lib/diffseq.h: Likewise.
63501         * lib/dirchownmod.c: Likewise.
63502         * lib/dirent.in.h: Likewise.
63503         * lib/dirfd.c: Likewise.
63504         * lib/dirfd.h: Likewise.
63505         * lib/dirname.c: Likewise.
63506         * lib/dirname.h: Likewise.
63507         * lib/dummy.c: Likewise.
63508         * lib/dup-safer.c: Likewise.
63509         * lib/dup2.c: Likewise.
63510         * lib/eealloc.h: Likewise.
63511         * lib/error.c: Likewise.
63512         * lib/error.h: Likewise.
63513         * lib/euidaccess.c: Likewise.
63514         * lib/exclude.c: Likewise.
63515         * lib/exclude.h: Likewise.
63516         * lib/execute.c: Likewise.
63517         * lib/execute.h: Likewise.
63518         * lib/exitfail.c: Likewise.
63519         * lib/exitfail.h: Likewise.
63520         * lib/expl.c: Likewise.
63521         * lib/fatal-signal.c: Likewise.
63522         * lib/fatal-signal.h: Likewise.
63523         * lib/fbufmode.c: Likewise.
63524         * lib/fbufmode.h: Likewise.
63525         * lib/fchdir.c: Likewise.
63526         * lib/fchmodat.c: Likewise.
63527         * lib/fchownat.c: Likewise.
63528         * lib/fcntl--.h: Likewise.
63529         * lib/fcntl-safer.h: Likewise.
63530         * lib/fcntl.in.h: Likewise.
63531         * lib/fd-safer.c: Likewise.
63532         * lib/fflush.c: Likewise.
63533         * lib/file-has-acl.c: Likewise.
63534         * lib/file-set.c: Likewise.
63535         * lib/file-type.c: Likewise.
63536         * lib/file-type.h: Likewise.
63537         * lib/fileblocks.c: Likewise.
63538         * lib/filemode.c: Likewise.
63539         * lib/filemode.h: Likewise.
63540         * lib/filename.h: Likewise.
63541         * lib/filenamecat.c: Likewise.
63542         * lib/filenamecat.h: Likewise.
63543         * lib/findprog.c: Likewise.
63544         * lib/findprog.h: Likewise.
63545         * lib/float.in.h: Likewise.
63546         * lib/floor.c: Likewise.
63547         * lib/floorf.c: Likewise.
63548         * lib/floorl.c: Likewise.
63549         * lib/fopen-safer.c: Likewise.
63550         * lib/fopen.c: Likewise.
63551         * lib/fpending.c: Likewise.
63552         * lib/fpending.h: Likewise.
63553         * lib/fprintf.c: Likewise.
63554         * lib/fprintftime.h: Likewise.
63555         * lib/fpucw.h: Likewise.
63556         * lib/fpurge.c: Likewise.
63557         * lib/fpurge.h: Likewise.
63558         * lib/freadable.c: Likewise.
63559         * lib/freadable.h: Likewise.
63560         * lib/freadahead.c: Likewise.
63561         * lib/freadahead.h: Likewise.
63562         * lib/freading.c: Likewise.
63563         * lib/freading.h: Likewise.
63564         * lib/free.c: Likewise.
63565         * lib/freopen.c: Likewise.
63566         * lib/frexp.c: Likewise.
63567         * lib/frexpl.c: Likewise.
63568         * lib/fseek.c: Likewise.
63569         * lib/fseterr.c: Likewise.
63570         * lib/fseterr.h: Likewise.
63571         * lib/fstatat.c: Likewise.
63572         * lib/fstrcmp.c: Likewise.
63573         * lib/fstrcmp.h: Likewise.
63574         * lib/fsusage.c: Likewise.
63575         * lib/fsusage.h: Likewise.
63576         * lib/ftell.c: Likewise.
63577         * lib/ftello.c: Likewise.
63578         * lib/fts-cycle.c: Likewise.
63579         * lib/fts.c: Likewise.
63580         * lib/fts_.h: Likewise.
63581         * lib/full-read.c: Likewise.
63582         * lib/full-read.h: Likewise.
63583         * lib/full-write.c: Likewise.
63584         * lib/full-write.h: Likewise.
63585         * lib/fwritable.c: Likewise.
63586         * lib/fwritable.h: Likewise.
63587         * lib/fwriteerror.c: Likewise.
63588         * lib/fwriteerror.h: Likewise.
63589         * lib/fwriting.c: Likewise.
63590         * lib/fwriting.h: Likewise.
63591         * lib/gcd.c: Likewise.
63592         * lib/gcd.h: Likewise.
63593         * lib/getcwd.c: Likewise.
63594         * lib/getdate.h: Likewise.
63595         * lib/getdate.y: Likewise.
63596         * lib/getdomainname.c: Likewise.
63597         * lib/getdomainname.h: Likewise.
63598         * lib/getgroups.c: Likewise.
63599         * lib/gethostname.c: Likewise.
63600         * lib/gethrxtime.c: Likewise.
63601         * lib/gethrxtime.h: Likewise.
63602         * lib/getloadavg.c: Likewise.
63603         * lib/getndelim2.c: Likewise.
63604         * lib/getndelim2.h: Likewise.
63605         * lib/getnline.c: Likewise.
63606         * lib/getnline.h: Likewise.
63607         * lib/getopt.c: Likewise.
63608         * lib/getopt.in.h: Likewise.
63609         * lib/getopt1.c: Likewise.
63610         * lib/getopt_int.h: Likewise.
63611         * lib/getpagesize.h: Likewise.
63612         * lib/getsubopt.c: Likewise.
63613         * lib/gettime.c: Likewise.
63614         * lib/getugroups.c: Likewise.
63615         * lib/getugroups.h: Likewise.
63616         * lib/getusershell.c: Likewise.
63617         * lib/gl_anyavltree_list1.h: Likewise.
63618         * lib/gl_anyavltree_list2.h: Likewise.
63619         * lib/gl_anyhash_list1.h: Likewise.
63620         * lib/gl_anyhash_list2.h: Likewise.
63621         * lib/gl_anylinked_list1.h: Likewise.
63622         * lib/gl_anylinked_list2.h: Likewise.
63623         * lib/gl_anyrbtree_list1.h: Likewise.
63624         * lib/gl_anyrbtree_list2.h: Likewise.
63625         * lib/gl_anytree_list1.h: Likewise.
63626         * lib/gl_anytree_list2.h: Likewise.
63627         * lib/gl_anytree_oset.h: Likewise.
63628         * lib/gl_anytreehash_list1.h: Likewise.
63629         * lib/gl_anytreehash_list2.h: Likewise.
63630         * lib/gl_array_list.c: Likewise.
63631         * lib/gl_array_list.h: Likewise.
63632         * lib/gl_array_oset.c: Likewise.
63633         * lib/gl_array_oset.h: Likewise.
63634         * lib/gl_avltree_list.c: Likewise.
63635         * lib/gl_avltree_list.h: Likewise.
63636         * lib/gl_avltree_oset.c: Likewise.
63637         * lib/gl_avltree_oset.h: Likewise.
63638         * lib/gl_avltreehash_list.c: Likewise.
63639         * lib/gl_avltreehash_list.h: Likewise.
63640         * lib/gl_carray_list.c: Likewise.
63641         * lib/gl_carray_list.h: Likewise.
63642         * lib/gl_linked_list.c: Likewise.
63643         * lib/gl_linked_list.h: Likewise.
63644         * lib/gl_linkedhash_list.c: Likewise.
63645         * lib/gl_linkedhash_list.h: Likewise.
63646         * lib/gl_list.c: Likewise.
63647         * lib/gl_list.h: Likewise.
63648         * lib/gl_oset.c: Likewise.
63649         * lib/gl_oset.h: Likewise.
63650         * lib/gl_rbtree_list.c: Likewise.
63651         * lib/gl_rbtree_list.h: Likewise.
63652         * lib/gl_rbtree_oset.c: Likewise.
63653         * lib/gl_rbtree_oset.h: Likewise.
63654         * lib/gl_rbtreehash_list.c: Likewise.
63655         * lib/gl_rbtreehash_list.h: Likewise.
63656         * lib/gl_sublist.c: Likewise.
63657         * lib/gl_sublist.h: Likewise.
63658         * lib/group-member.c: Likewise.
63659         * lib/group-member.h: Likewise.
63660         * lib/hard-locale.c: Likewise.
63661         * lib/hard-locale.h: Likewise.
63662         * lib/hash-pjw.c: Likewise.
63663         * lib/hash-pjw.h: Likewise.
63664         * lib/hash-triple.c: Likewise.
63665         * lib/hash.c: Likewise.
63666         * lib/hash.h: Likewise.
63667         * lib/human.c: Likewise.
63668         * lib/human.h: Likewise.
63669         * lib/i-ring.c: Likewise.
63670         * lib/i-ring.h: Likewise.
63671         * lib/idcache.c: Likewise.
63672         * lib/imaxabs.c: Likewise.
63673         * lib/imaxdiv.c: Likewise.
63674         * lib/inet_pton.c: Likewise.
63675         * lib/inet_pton.h: Likewise.
63676         * lib/intprops.h: Likewise.
63677         * lib/inttostr.c: Likewise.
63678         * lib/inttostr.h: Likewise.
63679         * lib/inttypes.in.h: Likewise.
63680         * lib/isapipe.c: Likewise.
63681         * lib/isdir.c: Likewise.
63682         * lib/isnan.c: Likewise.
63683         * lib/isnan.h: Likewise.
63684         * lib/isnanf.c: Likewise.
63685         * lib/isnanf.h: Likewise.
63686         * lib/isnanl-nolibm.h: Likewise.
63687         * lib/isnanl.c: Likewise.
63688         * lib/isnanl.h: Likewise.
63689         * lib/javacomp.c: Likewise.
63690         * lib/javacomp.h: Likewise.
63691         * lib/javaexec.c: Likewise.
63692         * lib/javaexec.h: Likewise.
63693         * lib/javaversion.c: Likewise.
63694         * lib/javaversion.h: Likewise.
63695         * lib/javaversion.java: Likewise.
63696         * lib/lbrkprop.h: Likewise.
63697         * lib/lchmod.h: Likewise.
63698         * lib/lchown.c: Likewise.
63699         * lib/ldexpl.c: Likewise.
63700         * lib/linebreak.c: Likewise.
63701         * lib/linebreak.h: Likewise.
63702         * lib/linebuffer.c: Likewise.
63703         * lib/linebuffer.h: Likewise.
63704         * lib/locale.in.h: Likewise.
63705         * lib/logl.c: Likewise.
63706         * lib/long-options.c: Likewise.
63707         * lib/long-options.h: Likewise.
63708         * lib/lstat.c: Likewise.
63709         * lib/lstat.h: Likewise.
63710         * lib/math.in.h: Likewise.
63711         * lib/mbchar.c: Likewise.
63712         * lib/mbchar.h: Likewise.
63713         * lib/mbfile.h: Likewise.
63714         * lib/mbiter.h: Likewise.
63715         * lib/mbscasecmp.c: Likewise.
63716         * lib/mbscasestr.c: Likewise.
63717         * lib/mbschr.c: Likewise.
63718         * lib/mbscspn.c: Likewise.
63719         * lib/mbslen.c: Likewise.
63720         * lib/mbsncasecmp.c: Likewise.
63721         * lib/mbsnlen.c: Likewise.
63722         * lib/mbspbrk.c: Likewise.
63723         * lib/mbspcasecmp.c: Likewise.
63724         * lib/mbsrchr.c: Likewise.
63725         * lib/mbssep.c: Likewise.
63726         * lib/mbsspn.c: Likewise.
63727         * lib/mbsstr.c: Likewise.
63728         * lib/mbstok_r.c: Likewise.
63729         * lib/mbswidth.c: Likewise.
63730         * lib/mbswidth.h: Likewise.
63731         * lib/mbuiter.h: Likewise.
63732         * lib/memcasecmp.c: Likewise.
63733         * lib/memcasecmp.h: Likewise.
63734         * lib/memchr.c: Likewise.
63735         * lib/memcmp.c: Likewise.
63736         * lib/memcoll.c: Likewise.
63737         * lib/memcoll.h: Likewise.
63738         * lib/memcpy.c: Likewise.
63739         * lib/memrchr.c: Likewise.
63740         * lib/mkancesdirs.c: Likewise.
63741         * lib/mkdir-p.c: Likewise.
63742         * lib/mkdir-p.h: Likewise.
63743         * lib/mkdir.c: Likewise.
63744         * lib/mkdirat.c: Likewise.
63745         * lib/mkdtemp.c: Likewise.
63746         * lib/mkstemp-safer.c: Likewise.
63747         * lib/mkstemp.c: Likewise.
63748         * lib/modechange.c: Likewise.
63749         * lib/modechange.h: Likewise.
63750         * lib/mountlist.c: Likewise.
63751         * lib/mountlist.h: Likewise.
63752         * lib/mpsort.c: Likewise.
63753         * lib/nanosleep.c: Likewise.
63754         * lib/obstack.c: Likewise.
63755         * lib/obstack.h: Likewise.
63756         * lib/open-safer.c: Likewise.
63757         * lib/open.c: Likewise.
63758         * lib/openat-die.c: Likewise.
63759         * lib/openat-priv.h: Likewise.
63760         * lib/openat-proc.c: Likewise.
63761         * lib/openat.c: Likewise.
63762         * lib/openat.h: Likewise.
63763         * lib/pagealign_alloc.c: Likewise.
63764         * lib/pagealign_alloc.h: Likewise.
63765         * lib/physmem.c: Likewise.
63766         * lib/physmem.h: Likewise.
63767         * lib/pipe-safer.c: Likewise.
63768         * lib/pipe.c: Likewise.
63769         * lib/pipe.h: Likewise.
63770         * lib/posixtm.c: Likewise.
63771         * lib/posixtm.h: Likewise.
63772         * lib/posixver.c: Likewise.
63773         * lib/printf-frexp.c: Likewise.
63774         * lib/printf-frexp.h: Likewise.
63775         * lib/printf-frexpl.c: Likewise.
63776         * lib/printf-frexpl.h: Likewise.
63777         * lib/printf.c: Likewise.
63778         * lib/progname.c: Likewise.
63779         * lib/progname.h: Likewise.
63780         * lib/progreloc.c: Likewise.
63781         * lib/putenv.c: Likewise.
63782         * lib/quote.c: Likewise.
63783         * lib/quote.h: Likewise.
63784         * lib/quotearg.c: Likewise.
63785         * lib/quotearg.h: Likewise.
63786         * lib/raise.c: Likewise.
63787         * lib/readline.c: Likewise.
63788         * lib/readline.h: Likewise.
63789         * lib/readlink.c: Likewise.
63790         * lib/readtokens.c: Likewise.
63791         * lib/readtokens.h: Likewise.
63792         * lib/readtokens0.c: Likewise.
63793         * lib/readtokens0.h: Likewise.
63794         * lib/readutmp.c: Likewise.
63795         * lib/readutmp.h: Likewise.
63796         * lib/realloc.c: Likewise.
63797         * lib/relocwrapper.c: Likewise.
63798         * lib/rename-dest-slash.c: Likewise.
63799         * lib/rename.c: Likewise.
63800         * lib/rmdir.c: Likewise.
63801         * lib/rpmatch.c: Likewise.
63802         * lib/safe-read.c: Likewise.
63803         * lib/safe-read.h: Likewise.
63804         * lib/safe-write.c: Likewise.
63805         * lib/safe-write.h: Likewise.
63806         * lib/same-inode.h: Likewise.
63807         * lib/same.c: Likewise.
63808         * lib/same.h: Likewise.
63809         * lib/save-cwd.c: Likewise.
63810         * lib/save-cwd.h: Likewise.
63811         * lib/savedir.c: Likewise.
63812         * lib/savedir.h: Likewise.
63813         * lib/savewd.c: Likewise.
63814         * lib/savewd.h: Likewise.
63815         * lib/search.in.h: Likewise.
63816         * lib/setenv.c: Likewise.
63817         * lib/setenv.h: Likewise.
63818         * lib/settime.c: Likewise.
63819         * lib/sh-quote.c: Likewise.
63820         * lib/sh-quote.h: Likewise.
63821         * lib/sig2str.c: Likewise.
63822         * lib/sig2str.h: Likewise.
63823         * lib/signal.in.h: Likewise.
63824         * lib/signbitd.c: Likewise.
63825         * lib/signbitf.c: Likewise.
63826         * lib/signbitl.c: Likewise.
63827         * lib/sigprocmask.c: Likewise.
63828         * lib/sincosl.c: Likewise.
63829         * lib/sleep.c: Likewise.
63830         * lib/sprintf.c: Likewise.
63831         * lib/sqrtl.c: Likewise.
63832         * lib/stat-time.h: Likewise.
63833         * lib/stdio--.h: Likewise.
63834         * lib/stdio-safer.h: Likewise.
63835         * lib/stdlib--.h: Likewise.
63836         * lib/stdlib-safer.h: Likewise.
63837         * lib/stdlib.in.h: Likewise.
63838         * lib/stpcpy.c: Likewise.
63839         * lib/stpncpy.c: Likewise.
63840         * lib/strchrnul.c: Likewise.
63841         * lib/strcspn.c: Likewise.
63842         * lib/strerror.c: Likewise.
63843         * lib/strftime.c: Likewise.
63844         * lib/strftime.h: Likewise.
63845         * lib/striconveh.c: Likewise.
63846         * lib/striconveh.h: Likewise.
63847         * lib/striconveha.c: Likewise.
63848         * lib/striconveha.h: Likewise.
63849         * lib/stripslash.c: Likewise.
63850         * lib/strnlen1.c: Likewise.
63851         * lib/strnlen1.h: Likewise.
63852         * lib/strtod.c: Likewise.
63853         * lib/strtoimax.c: Likewise.
63854         * lib/strtok_r.c: Likewise.
63855         * lib/strtol.c: Likewise.
63856         * lib/strtoll.c: Likewise.
63857         * lib/strtoul.c: Likewise.
63858         * lib/strtoull.c: Likewise.
63859         * lib/sysexits.in.h: Likewise.
63860         * lib/tempname.c: Likewise.
63861         * lib/tempname.h: Likewise.
63862         * lib/timespec.h: Likewise.
63863         * lib/tls.c: Likewise.
63864         * lib/tls.h: Likewise.
63865         * lib/tmpdir.c: Likewise.
63866         * lib/tmpdir.h: Likewise.
63867         * lib/tmpfile-safer.c: Likewise.
63868         * lib/tmpfile.c: Likewise.
63869         * lib/trigl.c: Likewise.
63870         * lib/trigl.h: Likewise.
63871         * lib/trim.c: Likewise.
63872         * lib/trim.h: Likewise.
63873         * lib/trunc.c: Likewise.
63874         * lib/truncf.c: Likewise.
63875         * lib/truncl.c: Likewise.
63876         * lib/tsearch.c: Likewise.
63877         * lib/unicodeio.c: Likewise.
63878         * lib/unicodeio.h: Likewise.
63879         * lib/unistd--.h: Likewise.
63880         * lib/unistd-safer.h: Likewise.
63881         * lib/unistdio/ulc-fprintf.c: Likewise.
63882         * lib/unistdio/ulc-vfprintf.c: Likewise.
63883         * lib/unlinkdir.c: Likewise.
63884         * lib/unlinkdir.h: Likewise.
63885         * lib/unlocked-io.h: Likewise.
63886         * lib/unsetenv.c: Likewise.
63887         * lib/userspec.c: Likewise.
63888         * lib/utime.c: Likewise.
63889         * lib/utimecmp.c: Likewise.
63890         * lib/utimecmp.h: Likewise.
63891         * lib/utimens.c: Likewise.
63892         * lib/verify.h: Likewise.
63893         * lib/verror.c: Likewise.
63894         * lib/verror.h: Likewise.
63895         * lib/version-etc-fsf.c: Likewise.
63896         * lib/version-etc.c: Likewise.
63897         * lib/version-etc.h: Likewise.
63898         * lib/vfprintf.c: Likewise.
63899         * lib/vprintf.c: Likewise.
63900         * lib/vsprintf.c: Likewise.
63901         * lib/w32spawn.h: Likewise.
63902         * lib/wait-process.c: Likewise.
63903         * lib/wait-process.h: Likewise.
63904         * lib/wcwidth.c: Likewise.
63905         * lib/write-any-file.c: Likewise.
63906         * lib/xalloc-die.c: Likewise.
63907         * lib/xalloc.h: Likewise.
63908         * lib/xasprintf.c: Likewise.
63909         * lib/xgetcwd.c: Likewise.
63910         * lib/xgetcwd.h: Likewise.
63911         * lib/xgetdomainname.c: Likewise.
63912         * lib/xgetdomainname.h: Likewise.
63913         * lib/xgethostname.c: Likewise.
63914         * lib/xmalloc.c: Likewise.
63915         * lib/xmalloca.c: Likewise.
63916         * lib/xmalloca.h: Likewise.
63917         * lib/xmemcoll.c: Likewise.
63918         * lib/xnanosleep.c: Likewise.
63919         * lib/xreadlink.c: Likewise.
63920         * lib/xreadlink.h: Likewise.
63921         * lib/xsetenv.c: Likewise.
63922         * lib/xsetenv.h: Likewise.
63923         * lib/xstriconv.c: Likewise.
63924         * lib/xstriconv.h: Likewise.
63925         * lib/xstrndup.c: Likewise.
63926         * lib/xstrndup.h: Likewise.
63927         * lib/xstrtod.c: Likewise.
63928         * lib/xstrtod.h: Likewise.
63929         * lib/xstrtol-error.c: Likewise.
63930         * lib/xstrtol.c: Likewise.
63931         * lib/xstrtol.h: Likewise.
63932         * lib/xtime.h: Likewise.
63933         * lib/xvasprintf.c: Likewise.
63934         * lib/xvasprintf.h: Likewise.
63935         * lib/yesno.c: Likewise.
63936         * lib/yesno.h: Likewise.
63937         * posix-modules: Likewise.
63938         * tests/test-alloca-opt.c: Likewise.
63939         * tests/test-arcfour.c: Likewise.
63940         * tests/test-arctwo.c: Likewise.
63941         * tests/test-argmatch.c: Likewise.
63942         * tests/test-argp-2.sh: Likewise.
63943         * tests/test-argp.c: Likewise.
63944         * tests/test-arpa_inet.c: Likewise.
63945         * tests/test-array_list.c: Likewise.
63946         * tests/test-array_oset.c: Likewise.
63947         * tests/test-atexit.c: Likewise.
63948         * tests/test-avltree_list.c: Likewise.
63949         * tests/test-avltree_oset.c: Likewise.
63950         * tests/test-avltreehash_list.c: Likewise.
63951         * tests/test-base64.c: Likewise.
63952         * tests/test-binary-io.c: Likewise.
63953         * tests/test-byteswap.c: Likewise.
63954         * tests/test-c-ctype.c: Likewise.
63955         * tests/test-c-strcasecmp.c: Likewise.
63956         * tests/test-c-strcasestr.c: Likewise.
63957         * tests/test-c-strncasecmp.c: Likewise.
63958         * tests/test-c-strstr.c: Likewise.
63959         * tests/test-canonicalize-lgpl.c: Likewise.
63960         * tests/test-canonicalize.c: Likewise.
63961         * tests/test-carray_list.c: Likewise.
63962         * tests/test-ceilf.c: Likewise.
63963         * tests/test-ceill.c: Likewise.
63964         * tests/test-count-one-bits.c: Likewise.
63965         * tests/test-crc.c: Likewise.
63966         * tests/test-dirname.c: Likewise.
63967         * tests/test-fbufmode.c: Likewise.
63968         * tests/test-fcntl.c: Likewise.
63969         * tests/test-fflush.c: Likewise.
63970         * tests/test-floorf.c: Likewise.
63971         * tests/test-floorl.c: Likewise.
63972         * tests/test-fopen.c: Likewise.
63973         * tests/test-fprintf-posix.c: Likewise.
63974         * tests/test-fprintf-posix.h: Likewise.
63975         * tests/test-fpurge.c: Likewise.
63976         * tests/test-freadable.c: Likewise.
63977         * tests/test-freadahead.c: Likewise.
63978         * tests/test-freading.c: Likewise.
63979         * tests/test-freopen.c: Likewise.
63980         * tests/test-frexp.c: Likewise.
63981         * tests/test-frexpl.c: Likewise.
63982         * tests/test-fseek.c: Likewise.
63983         * tests/test-fseeko.c: Likewise.
63984         * tests/test-fseterr.c: Likewise.
63985         * tests/test-fstrcmp.c: Likewise.
63986         * tests/test-ftell.c: Likewise.
63987         * tests/test-ftello.c: Likewise.
63988         * tests/test-fwritable.c: Likewise.
63989         * tests/test-fwriting.c: Likewise.
63990         * tests/test-getaddrinfo.c: Likewise.
63991         * tests/test-getpass.c: Likewise.
63992         * tests/test-gettimeofday.c: Likewise.
63993         * tests/test-hmac-md5.c: Likewise.
63994         * tests/test-hmac-sha1.c: Likewise.
63995         * tests/test-iconv.c: Likewise.
63996         * tests/test-iconvme.c: Likewise.
63997         * tests/test-inttypes.c: Likewise.
63998         * tests/test-isnan.c: Likewise.
63999         * tests/test-isnanf.c: Likewise.
64000         * tests/test-isnanl-nolibm.c: Likewise.
64001         * tests/test-isnanl.c: Likewise.
64002         * tests/test-isnanl.h: Likewise.
64003         * tests/test-ldexpl.c: Likewise.
64004         * tests/test-linked_list.c: Likewise.
64005         * tests/test-linkedhash_list.c: Likewise.
64006         * tests/test-locale.c: Likewise.
64007         * tests/test-localename.c: Likewise.
64008         * tests/test-lock.c: Likewise.
64009         * tests/test-lseek.c: Likewise.
64010         * tests/test-malloca.c: Likewise.
64011         * tests/test-math.c: Likewise.
64012         * tests/test-mbscasecmp.c: Likewise.
64013         * tests/test-mbscasestr1.c: Likewise.
64014         * tests/test-mbscasestr2.c: Likewise.
64015         * tests/test-mbscasestr3.c: Likewise.
64016         * tests/test-mbscasestr4.c: Likewise.
64017         * tests/test-mbschr.c: Likewise.
64018         * tests/test-mbscspn.c: Likewise.
64019         * tests/test-mbsncasecmp.c: Likewise.
64020         * tests/test-mbspbrk.c: Likewise.
64021         * tests/test-mbspcasecmp.c: Likewise.
64022         * tests/test-mbsrchr.c: Likewise.
64023         * tests/test-mbsspn.c: Likewise.
64024         * tests/test-mbsstr1.c: Likewise.
64025         * tests/test-mbsstr2.c: Likewise.
64026         * tests/test-mbsstr3.c: Likewise.
64027         * tests/test-md5.c: Likewise.
64028         * tests/test-memmem.c: Likewise.
64029         * tests/test-netinet_in.c: Likewise.
64030         * tests/test-open.c: Likewise.
64031         * tests/test-printf-frexp.c: Likewise.
64032         * tests/test-printf-frexpl.c: Likewise.
64033         * tests/test-printf-posix.c: Likewise.
64034         * tests/test-printf-posix.h: Likewise.
64035         * tests/test-rbtree_list.c: Likewise.
64036         * tests/test-rbtree_oset.c: Likewise.
64037         * tests/test-rbtreehash_list.c: Likewise.
64038         * tests/test-read-file.c: Likewise.
64039         * tests/test-rijndael.c: Likewise.
64040         * tests/test-search.c: Likewise.
64041         * tests/test-signbit.c: Likewise.
64042         * tests/test-sleep.c: Likewise.
64043         * tests/test-snprintf-posix.c: Likewise.
64044         * tests/test-snprintf-posix.h: Likewise.
64045         * tests/test-snprintf.c: Likewise.
64046         * tests/test-sprintf-posix.c: Likewise.
64047         * tests/test-sprintf-posix.h: Likewise.
64048         * tests/test-stat-time.c: Likewise.
64049         * tests/test-stdbool.c: Likewise.
64050         * tests/test-stdint.c: Likewise.
64051         * tests/test-stdio.c: Likewise.
64052         * tests/test-stdlib.c: Likewise.
64053         * tests/test-stpncpy.c: Likewise.
64054         * tests/test-strcasestr.c: Likewise.
64055         * tests/test-striconv.c: Likewise.
64056         * tests/test-striconveh.c: Likewise.
64057         * tests/test-striconveha.c: Likewise.
64058         * tests/test-string.c: Likewise.
64059         * tests/test-sys_select.c: Likewise.
64060         * tests/test-sys_socket.c: Likewise.
64061         * tests/test-sys_stat.c: Likewise.
64062         * tests/test-sys_time.c: Likewise.
64063         * tests/test-sysexits.c: Likewise.
64064         * tests/test-time.c: Likewise.
64065         * tests/test-tls.c: Likewise.
64066         * tests/test-trunc.c: Likewise.
64067         * tests/test-truncf.c: Likewise.
64068         * tests/test-truncl.c: Likewise.
64069         * tests/test-unistd.c: Likewise.
64070         * tests/test-vasnprintf-posix.c: Likewise.
64071         * tests/test-vasnprintf-posix2.c: Likewise.
64072         * tests/test-vasnprintf.c: Likewise.
64073         * tests/test-vasprintf-posix.c: Likewise.
64074         * tests/test-vasprintf.c: Likewise.
64075         * tests/test-verify.c: Likewise.
64076         * tests/test-vfprintf-posix.c: Likewise.
64077         * tests/test-vprintf-posix.c: Likewise.
64078         * tests/test-vsnprintf-posix.c: Likewise.
64079         * tests/test-vsnprintf.c: Likewise.
64080         * tests/test-vsprintf-posix.c: Likewise.
64081         * tests/test-wchar.c: Likewise.
64082         * tests/test-wctype.c: Likewise.
64083         * tests/test-wcwidth.c: Likewise.
64084         * tests/test-xstrtol.c: Likewise.
64085         * tests/test-xvasprintf.c: Likewise.
64086         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
64087         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
64088         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64089         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64090         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64091         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
64092         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64093         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64094         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64095         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
64096         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64097         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64098         * tests/uniname/test-uninames.c: Likewise.
64099         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
64100         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
64101         * tests/unistdio/test-u16-printf1.h: Likewise.
64102         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
64103         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
64104         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
64105         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
64106         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
64107         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
64108         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
64109         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
64110         * tests/unistdio/test-u32-printf1.h: Likewise.
64111         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
64112         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
64113         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
64114         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
64115         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
64116         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
64117         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
64118         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
64119         * tests/unistdio/test-u8-printf1.h: Likewise.
64120         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
64121         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
64122         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
64123         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
64124         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
64125         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
64126         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
64127         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
64128         * tests/unistdio/test-ulc-printf1.h: Likewise.
64129         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
64130         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
64131         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
64132         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
64133         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
64134         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
64135         * tests/uniwidth/test-u16-strwidth.c: Likewise.
64136         * tests/uniwidth/test-u16-width.c: Likewise.
64137         * tests/uniwidth/test-u32-strwidth.c: Likewise.
64138         * tests/uniwidth/test-u32-width.c: Likewise.
64139         * tests/uniwidth/test-u8-strwidth.c: Likewise.
64140         * tests/uniwidth/test-u8-width.c: Likewise.
64141         * tests/uniwidth/test-uc_width.c: Likewise.
64142         * config/srclist-update: Likewise.
64143         (fixlicense): Update to GPLv3+.
64144
64145         Change copyright notice from LGPLv2.1+ to LGPLv3+.
64146         * tests/test-tsearch.c: Change copyright notice.
64147
64148         Change copyright notice from LGPLv2.0+ to LGPLv3+.
64149         * lib/c-strcaseeq.h: Change copyright notice.
64150         * lib/streq.h: Likewise.
64151         * lib/uniconv.h: Likewise.
64152         * lib/uniconv/u-conv-from-enc.h: Likewise.
64153         * lib/uniconv/u-conv-to-enc.h: Likewise.
64154         * lib/uniconv/u-strconv-from-enc.h: Likewise.
64155         * lib/uniconv/u-strconv-to-enc.h: Likewise.
64156         * lib/uniconv/u16-conv-from-enc.c: Likewise.
64157         * lib/uniconv/u16-conv-to-enc.c: Likewise.
64158         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
64159         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
64160         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
64161         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
64162         * lib/uniconv/u32-conv-from-enc.c: Likewise.
64163         * lib/uniconv/u32-conv-to-enc.c: Likewise.
64164         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
64165         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
64166         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
64167         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
64168         * lib/uniconv/u8-conv-from-enc.c: Likewise.
64169         * lib/uniconv/u8-conv-to-enc.c: Likewise.
64170         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
64171         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
64172         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
64173         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
64174         * lib/uniname.h: Likewise.
64175         * lib/uniname/uniname.c: Likewise.
64176         * lib/unistdio.h: Likewise.
64177         * lib/unistdio/u-asnprintf.h: Likewise.
64178         * lib/unistdio/u-asprintf.h: Likewise.
64179         * lib/unistdio/u-printf-args.c: Likewise.
64180         * lib/unistdio/u-printf-args.h: Likewise.
64181         * lib/unistdio/u-printf-parse.h: Likewise.
64182         * lib/unistdio/u-snprintf.h: Likewise.
64183         * lib/unistdio/u-sprintf.h: Likewise.
64184         * lib/unistdio/u-vasprintf.h: Likewise.
64185         * lib/unistdio/u-vsnprintf.h: Likewise.
64186         * lib/unistdio/u-vsprintf.h: Likewise.
64187         * lib/unistdio/u16-asnprintf.c: Likewise.
64188         * lib/unistdio/u16-asprintf.c: Likewise.
64189         * lib/unistdio/u16-printf-parse.c: Likewise.
64190         * lib/unistdio/u16-snprintf.c: Likewise.
64191         * lib/unistdio/u16-sprintf.c: Likewise.
64192         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
64193         * lib/unistdio/u16-u16-asprintf.c: Likewise.
64194         * lib/unistdio/u16-u16-snprintf.c: Likewise.
64195         * lib/unistdio/u16-u16-sprintf.c: Likewise.
64196         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
64197         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
64198         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
64199         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
64200         * lib/unistdio/u16-vasnprintf.c: Likewise.
64201         * lib/unistdio/u16-vasprintf.c: Likewise.
64202         * lib/unistdio/u16-vsnprintf.c: Likewise.
64203         * lib/unistdio/u16-vsprintf.c: Likewise.
64204         * lib/unistdio/u32-asnprintf.c: Likewise.
64205         * lib/unistdio/u32-asprintf.c: Likewise.
64206         * lib/unistdio/u32-printf-parse.c: Likewise.
64207         * lib/unistdio/u32-snprintf.c: Likewise.
64208         * lib/unistdio/u32-sprintf.c: Likewise.
64209         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
64210         * lib/unistdio/u32-u32-asprintf.c: Likewise.
64211         * lib/unistdio/u32-u32-snprintf.c: Likewise.
64212         * lib/unistdio/u32-u32-sprintf.c: Likewise.
64213         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
64214         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
64215         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
64216         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
64217         * lib/unistdio/u32-vasnprintf.c: Likewise.
64218         * lib/unistdio/u32-vasprintf.c: Likewise.
64219         * lib/unistdio/u32-vsnprintf.c: Likewise.
64220         * lib/unistdio/u32-vsprintf.c: Likewise.
64221         * lib/unistdio/u8-asnprintf.c: Likewise.
64222         * lib/unistdio/u8-asprintf.c: Likewise.
64223         * lib/unistdio/u8-printf-parse.c: Likewise.
64224         * lib/unistdio/u8-snprintf.c: Likewise.
64225         * lib/unistdio/u8-sprintf.c: Likewise.
64226         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
64227         * lib/unistdio/u8-u8-asprintf.c: Likewise.
64228         * lib/unistdio/u8-u8-snprintf.c: Likewise.
64229         * lib/unistdio/u8-u8-sprintf.c: Likewise.
64230         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
64231         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
64232         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
64233         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
64234         * lib/unistdio/u8-vasnprintf.c: Likewise.
64235         * lib/unistdio/u8-vasprintf.c: Likewise.
64236         * lib/unistdio/u8-vsnprintf.c: Likewise.
64237         * lib/unistdio/u8-vsprintf.c: Likewise.
64238         * lib/unistdio/ulc-asnprintf.c: Likewise.
64239         * lib/unistdio/ulc-asprintf.c: Likewise.
64240         * lib/unistdio/ulc-printf-parse.c: Likewise.
64241         * lib/unistdio/ulc-snprintf.c: Likewise.
64242         * lib/unistdio/ulc-sprintf.c: Likewise.
64243         * lib/unistdio/ulc-vasnprintf.c: Likewise.
64244         * lib/unistdio/ulc-vasprintf.c: Likewise.
64245         * lib/unistdio/ulc-vsnprintf.c: Likewise.
64246         * lib/unistdio/ulc-vsprintf.c: Likewise.
64247         * lib/unistr.h: Likewise.
64248         * lib/unistr/u-cpy-alloc.h: Likewise.
64249         * lib/unistr/u-cpy.h: Likewise.
64250         * lib/unistr/u-endswith.h: Likewise.
64251         * lib/unistr/u-move.h: Likewise.
64252         * lib/unistr/u-set.h: Likewise.
64253         * lib/unistr/u-startswith.h: Likewise.
64254         * lib/unistr/u-stpcpy.h: Likewise.
64255         * lib/unistr/u-stpncpy.h: Likewise.
64256         * lib/unistr/u-strcat.h: Likewise.
64257         * lib/unistr/u-strcpy.h: Likewise.
64258         * lib/unistr/u-strcspn.h: Likewise.
64259         * lib/unistr/u-strdup.h: Likewise.
64260         * lib/unistr/u-strlen.h: Likewise.
64261         * lib/unistr/u-strncat.h: Likewise.
64262         * lib/unistr/u-strncpy.h: Likewise.
64263         * lib/unistr/u-strnlen.h: Likewise.
64264         * lib/unistr/u-strpbrk.h: Likewise.
64265         * lib/unistr/u-strspn.h: Likewise.
64266         * lib/unistr/u-strstr.h: Likewise.
64267         * lib/unistr/u-strtok.h: Likewise.
64268         * lib/unistr/u16-check.c: Likewise.
64269         * lib/unistr/u16-chr.c: Likewise.
64270         * lib/unistr/u16-cmp.c: Likewise.
64271         * lib/unistr/u16-cpy-alloc.c: Likewise.
64272         * lib/unistr/u16-cpy.c: Likewise.
64273         * lib/unistr/u16-endswith.c: Likewise.
64274         * lib/unistr/u16-mblen.c: Likewise.
64275         * lib/unistr/u16-mbsnlen.c: Likewise.
64276         * lib/unistr/u16-mbtouc-aux.c: Likewise.
64277         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
64278         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
64279         * lib/unistr/u16-mbtouc.c: Likewise.
64280         * lib/unistr/u16-mbtoucr.c: Likewise.
64281         * lib/unistr/u16-move.c: Likewise.
64282         * lib/unistr/u16-next.c: Likewise.
64283         * lib/unistr/u16-prev.c: Likewise.
64284         * lib/unistr/u16-set.c: Likewise.
64285         * lib/unistr/u16-startswith.c: Likewise.
64286         * lib/unistr/u16-stpcpy.c: Likewise.
64287         * lib/unistr/u16-stpncpy.c: Likewise.
64288         * lib/unistr/u16-strcat.c: Likewise.
64289         * lib/unistr/u16-strchr.c: Likewise.
64290         * lib/unistr/u16-strcmp.c: Likewise.
64291         * lib/unistr/u16-strcpy.c: Likewise.
64292         * lib/unistr/u16-strcspn.c: Likewise.
64293         * lib/unistr/u16-strdup.c: Likewise.
64294         * lib/unistr/u16-strlen.c: Likewise.
64295         * lib/unistr/u16-strmblen.c: Likewise.
64296         * lib/unistr/u16-strmbtouc.c: Likewise.
64297         * lib/unistr/u16-strncat.c: Likewise.
64298         * lib/unistr/u16-strncmp.c: Likewise.
64299         * lib/unistr/u16-strncpy.c: Likewise.
64300         * lib/unistr/u16-strnlen.c: Likewise.
64301         * lib/unistr/u16-strpbrk.c: Likewise.
64302         * lib/unistr/u16-strrchr.c: Likewise.
64303         * lib/unistr/u16-strspn.c: Likewise.
64304         * lib/unistr/u16-strstr.c: Likewise.
64305         * lib/unistr/u16-strtok.c: Likewise.
64306         * lib/unistr/u16-to-u32.c: Likewise.
64307         * lib/unistr/u16-to-u8.c: Likewise.
64308         * lib/unistr/u16-uctomb-aux.c: Likewise.
64309         * lib/unistr/u16-uctomb.c: Likewise.
64310         * lib/unistr/u32-check.c: Likewise.
64311         * lib/unistr/u32-chr.c: Likewise.
64312         * lib/unistr/u32-cmp.c: Likewise.
64313         * lib/unistr/u32-cpy-alloc.c: Likewise.
64314         * lib/unistr/u32-cpy.c: Likewise.
64315         * lib/unistr/u32-endswith.c: Likewise.
64316         * lib/unistr/u32-mblen.c: Likewise.
64317         * lib/unistr/u32-mbsnlen.c: Likewise.
64318         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
64319         * lib/unistr/u32-mbtouc.c: Likewise.
64320         * lib/unistr/u32-mbtoucr.c: Likewise.
64321         * lib/unistr/u32-move.c: Likewise.
64322         * lib/unistr/u32-next.c: Likewise.
64323         * lib/unistr/u32-prev.c: Likewise.
64324         * lib/unistr/u32-set.c: Likewise.
64325         * lib/unistr/u32-startswith.c: Likewise.
64326         * lib/unistr/u32-stpcpy.c: Likewise.
64327         * lib/unistr/u32-stpncpy.c: Likewise.
64328         * lib/unistr/u32-strcat.c: Likewise.
64329         * lib/unistr/u32-strchr.c: Likewise.
64330         * lib/unistr/u32-strcmp.c: Likewise.
64331         * lib/unistr/u32-strcpy.c: Likewise.
64332         * lib/unistr/u32-strcspn.c: Likewise.
64333         * lib/unistr/u32-strdup.c: Likewise.
64334         * lib/unistr/u32-strlen.c: Likewise.
64335         * lib/unistr/u32-strmblen.c: Likewise.
64336         * lib/unistr/u32-strmbtouc.c: Likewise.
64337         * lib/unistr/u32-strncat.c: Likewise.
64338         * lib/unistr/u32-strncmp.c: Likewise.
64339         * lib/unistr/u32-strncpy.c: Likewise.
64340         * lib/unistr/u32-strnlen.c: Likewise.
64341         * lib/unistr/u32-strpbrk.c: Likewise.
64342         * lib/unistr/u32-strrchr.c: Likewise.
64343         * lib/unistr/u32-strspn.c: Likewise.
64344         * lib/unistr/u32-strstr.c: Likewise.
64345         * lib/unistr/u32-strtok.c: Likewise.
64346         * lib/unistr/u32-to-u16.c: Likewise.
64347         * lib/unistr/u32-to-u8.c: Likewise.
64348         * lib/unistr/u32-uctomb.c: Likewise.
64349         * lib/unistr/u8-check.c: Likewise.
64350         * lib/unistr/u8-chr.c: Likewise.
64351         * lib/unistr/u8-cmp.c: Likewise.
64352         * lib/unistr/u8-cpy-alloc.c: Likewise.
64353         * lib/unistr/u8-cpy.c: Likewise.
64354         * lib/unistr/u8-endswith.c: Likewise.
64355         * lib/unistr/u8-mblen.c: Likewise.
64356         * lib/unistr/u8-mbsnlen.c: Likewise.
64357         * lib/unistr/u8-mbtouc-aux.c: Likewise.
64358         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
64359         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
64360         * lib/unistr/u8-mbtouc.c: Likewise.
64361         * lib/unistr/u8-mbtoucr.c: Likewise.
64362         * lib/unistr/u8-move.c: Likewise.
64363         * lib/unistr/u8-next.c: Likewise.
64364         * lib/unistr/u8-prev.c: Likewise.
64365         * lib/unistr/u8-set.c: Likewise.
64366         * lib/unistr/u8-startswith.c: Likewise.
64367         * lib/unistr/u8-stpcpy.c: Likewise.
64368         * lib/unistr/u8-stpncpy.c: Likewise.
64369         * lib/unistr/u8-strcat.c: Likewise.
64370         * lib/unistr/u8-strchr.c: Likewise.
64371         * lib/unistr/u8-strcmp.c: Likewise.
64372         * lib/unistr/u8-strcpy.c: Likewise.
64373         * lib/unistr/u8-strcspn.c: Likewise.
64374         * lib/unistr/u8-strdup.c: Likewise.
64375         * lib/unistr/u8-strlen.c: Likewise.
64376         * lib/unistr/u8-strmblen.c: Likewise.
64377         * lib/unistr/u8-strmbtouc.c: Likewise.
64378         * lib/unistr/u8-strncat.c: Likewise.
64379         * lib/unistr/u8-strncmp.c: Likewise.
64380         * lib/unistr/u8-strncpy.c: Likewise.
64381         * lib/unistr/u8-strnlen.c: Likewise.
64382         * lib/unistr/u8-strpbrk.c: Likewise.
64383         * lib/unistr/u8-strrchr.c: Likewise.
64384         * lib/unistr/u8-strspn.c: Likewise.
64385         * lib/unistr/u8-strstr.c: Likewise.
64386         * lib/unistr/u8-strtok.c: Likewise.
64387         * lib/unistr/u8-to-u16.c: Likewise.
64388         * lib/unistr/u8-to-u32.c: Likewise.
64389         * lib/unistr/u8-uctomb-aux.c: Likewise.
64390         * lib/unistr/u8-uctomb.c: Likewise.
64391         * lib/unitypes.h: Likewise.
64392         * lib/uniwidth.h: Likewise.
64393         * lib/uniwidth/cjk.h: Likewise.
64394         * lib/uniwidth/u16-strwidth.c: Likewise.
64395         * lib/uniwidth/u16-width.c: Likewise.
64396         * lib/uniwidth/u32-strwidth.c: Likewise.
64397         * lib/uniwidth/u32-width.c: Likewise.
64398         * lib/uniwidth/u8-strwidth.c: Likewise.
64399         * lib/uniwidth/u8-width.c: Likewise.
64400         * lib/uniwidth/width.c: Likewise.
64401
64402 2007-10-07  Bruno Haible  <bruno@clisp.org>
64403
64404         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
64405         The file is still under LGPL (see modules/inttypes).
64406
64407 2007-10-06  Bruno Haible  <bruno@clisp.org>
64408
64409         * modules/trunc (Dependencies): Add 'extensions'.
64410         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
64411         Reported by Ben Pfaff <blp@gnu.org>.
64412
64413 2007-10-06  Bruno Haible  <bruno@clisp.org>
64414
64415         * modules/freopen-tests: New file.
64416         * tests/test-freopen.c: New file.
64417
64418         * modules/fopen-tests: New file.
64419         * tests/test-fopen.c: New file.
64420
64421         * modules/fopen: New file.
64422         * lib/fopen.c: New file.
64423         * m4/fopen.m4: New file.
64424         * modules/freopen: New file.
64425         * lib/freopen.c: New file.
64426         * m4/freopen.m4: New file.
64427         * lib/stdio.in.h (fopen, freopen): New declarations.
64428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
64429         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
64430         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
64431         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
64432         * doc/functions/fopen.texi: Mention the 'fopen' module.
64433         * doc/functions/freopen.texi: Mention the 'freopen' module.
64434
64435 2007-10-06  Bruno Haible  <bruno@clisp.org>
64436
64437         * modules/open-tests: New file.
64438         * tests/test-open.c: New file.
64439
64440         * modules/open: New file.
64441         * lib/open.c: New file.
64442         * m4/open.m4: New file.
64443         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
64444         lib/open.c does.
64445         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
64446         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
64447         macros.
64448         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
64449         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
64450         REPLACE_OPEN.
64451         * doc/functions/open.texi: Mention the 'open' module.
64452
64453 2007-10-04  Bruno Haible  <bruno@clisp.org>
64454
64455         * modules/ceill-tests: New file.
64456         * tests/test-ceill.c: New file.
64457
64458         * modules/ceill: New file.
64459         * lib/ceill.c: Replace entire file.
64460         * m4/ceill.m4: New file.
64461         * lib/math.in.h (ceill): Replace declaration.
64462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
64463         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
64464         * doc/functions/ceill.texi: Mention the 'ceill' module.
64465         * modules/mathl (Files): Remove lib/ceill.c.
64466         (Depends-on): Add ceill.
64467
64468 2007-10-04  Bruno Haible  <bruno@clisp.org>
64469
64470         * modules/ceilf-tests: New file.
64471         * tests/test-ceilf.c: New file.
64472
64473         * modules/ceilf: New file.
64474         * lib/ceil.c: New file.
64475         * lib/ceilf.c: New file.
64476         * m4/ceilf.m4: New file.
64477         * lib/math.in.h (ceilf): New declaration.
64478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
64479         HAVE_DECL_CEILF.
64480         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
64481         HAVE_DECL_CEILF.
64482         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
64483
64484 2007-10-04  Bruno Haible  <bruno@clisp.org>
64485
64486         * modules/floorl-tests: New file.
64487         * tests/test-floorl.c: New file.
64488
64489         * modules/floorl: New file.
64490         * lib/floorl.c: Replace entire file.
64491         * m4/floorl.m4: New file.
64492         * lib/math.in.h (floorl): Replace declaration.
64493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
64494         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
64495         * doc/functions/floorl.texi: Mention the 'floorl' module.
64496         * modules/mathl (Files): Remove lib/floorl.c.
64497         (Depends-on): Add floorl.
64498
64499 2007-10-04  Bruno Haible  <bruno@clisp.org>
64500
64501         * modules/floorf-tests: New file.
64502         * tests/test-floorf.c: New file.
64503
64504         * modules/floorf: New file.
64505         * lib/floor.c: New file.
64506         * lib/floorf.c: New file.
64507         * m4/floorf.m4: New file.
64508         * lib/math.in.h (floorf): New declaration.
64509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
64510         HAVE_DECL_FLOORF.
64511         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
64512         HAVE_DECL_FLOORF.
64513         * doc/functions/floorf.texi: Mention the 'floorf' module.
64514
64515 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
64516             Bruno Haible  <bruno@clisp.org>
64517
64518         Advertise for the Git server instead of the CVS server.
64519         * doc/gnulib-intro.texi (Steady Development): Mention the Git
64520         repository instead of the CVS one.
64521         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
64522         about all VCS systems generically.
64523         * doc/gnulib.texi (Introduction): Capitalize `Git'.
64524
64525 2007-10-04  Bruno Haible  <bruno@clisp.org>
64526
64527         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
64528         means.
64529         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
64530
64531 2007-10-04  Bruno Haible  <bruno@clisp.org>
64532
64533         * modules/truncl-tests: New file.
64534         * tests/test-truncl.c: New file.
64535
64536         * modules/truncl: New file.
64537         * lib/truncl.c: New file.
64538         * m4/truncl.m4: New file.
64539         * lib/math.in.h (truncl): New declaration.
64540         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
64541         HAVE_DECL_TRUNCL.
64542         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
64543         HAVE_DECL_TRUNCL.
64544         * doc/functions/truncl.texi: Mention the 'truncl' module.
64545
64546 2007-10-04  Bruno Haible  <bruno@clisp.org>
64547
64548         * modules/truncf-tests: New file.
64549         * tests/test-truncf.c: New file.
64550
64551         * modules/truncf: New file.
64552         * lib/trunc.c: Make paramerizable through USE_* macros.
64553         * lib/truncf.c: New file.
64554         * m4/truncf.m4: New file.
64555         * lib/math.in.h (truncf): New declaration.
64556         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
64557         HAVE_DECL_TRUNCF.
64558         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
64559         HAVE_DECL_TRUNCF.
64560         * doc/functions/truncf.texi: Mention the 'truncf' module.
64561
64562 2007-10-03  Bruno Haible  <bruno@clisp.org>
64563
64564         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
64565         augmentation also for tests modules.
64566         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
64567         * modules/atexit-tests (Makefile.am): Likewise.
64568         * modules/binary-io-tests (Makefile.am): Likewise.
64569         * modules/c-strcase-tests (Makefile.am): Likewise.
64570         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
64571         * modules/canonicalize-tests (Makefile.am): Likewise.
64572         * modules/closein-tests (Makefile.am): Likewise.
64573         * modules/fprintf-posix-tests (Makefile.am): Likewise.
64574         * modules/freadahead-tests (Makefile.am): Likewise.
64575         * modules/fseek-tests (Makefile.am): Likewise.
64576         * modules/fseeko-tests (Makefile.am): Likewise.
64577         * modules/ftell-tests (Makefile.am): Likewise.
64578         * modules/ftello-tests (Makefile.am): Likewise.
64579         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
64580         * modules/isnanl-tests (Makefile.am): Likewise.
64581         * modules/lseek-tests (Makefile.am): Likewise.
64582         * modules/mbscasecmp-tests (Makefile.am): Likewise.
64583         * modules/mbscasestr-tests (Makefile.am): Likewise.
64584         * modules/mbschr-tests (Makefile.am): Likewise.
64585         * modules/mbscspn-tests (Makefile.am): Likewise.
64586         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
64587         * modules/mbspbrk-tests (Makefile.am): Likewise.
64588         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
64589         * modules/mbsrchr-tests (Makefile.am): Likewise.
64590         * modules/mbsspn-tests (Makefile.am): Likewise.
64591         * modules/mbsstr-tests (Makefile.am): Likewise.
64592         * modules/printf-posix-tests (Makefile.am): Likewise.
64593         * modules/snprintf-posix-tests (Makefile.am): Likewise.
64594         * modules/sprintf-posix-tests (Makefile.am): Likewise.
64595         * modules/tsearch-tests (Makefile.am): Likewise.
64596         * modules/uniname/uniname-tests (Makefile.am): Likewise.
64597         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
64598         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
64599         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
64600         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
64601         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
64602         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
64603         * modules/vprintf-posix-tests (Makefile.am): Likewise.
64604         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
64605         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
64606         * modules/xstrtoimax-tests (Makefile.am): Likewise.
64607         * modules/xstrtol-tests (Makefile.am): Likewise.
64608         * modules/xstrtoumax-tests (Makefile.am): Likewise.
64609         * modules/yesno-tests (Makefile.am): Likewise.
64610
64611 2007-10-03  Bruno Haible  <bruno@clisp.org>
64612
64613         * modules/trunc-tests: New file.
64614         * tests/test-trunc.c: New file.
64615
64616         * modules/trunc: New file.
64617         * lib/trunc.c: New file.
64618         * m4/trunc.m4: New file.
64619         * lib/math.in.h (trunc): New declaration.
64620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
64621         HAVE_DECL_TRUNC.
64622         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
64623         HAVE_DECL_TRUNC.
64624         * doc/functions/trunc.texi: Mention the 'trunc' module.
64625
64626 2007-10-03  Bruno Haible  <bruno@clisp.org>
64627
64628         * tests/test-fpending.c: New file, mostly copied
64629         from coreutils/lib/t-fpending.c.
64630         * modules/fpending-tests: New file.
64631
64632 2007-10-03  Bruno Haible  <bruno@clisp.org>
64633
64634         Port the stdio extensions to QNX (untested).
64635         * lib/fseterr.c (fseterr): Add support for QNX.
64636         * lib/fbufmode.c (fbufmode): Likewise.
64637         * lib/freadable.c (freadable): Likewise.
64638         * lib/fwritable.c (fwritable): Likewise.
64639         * lib/freading.c (freading): Likewise.
64640         * lib/fwriting.c (fwriting): Likewise.
64641         * lib/freadahead.c (freadahed): Likewise.
64642         * lib/fpurge.c (fpurge): Likewise.
64643         * lib/fseeko.c (rpl_fseeko): Likewise.
64644
64645 2007-10-03  Bruno Haible  <bruno@clisp.org>
64646             Jim Meyering  <jim@meyering.net>
64647             Eric Blake  <ebb9@byu.net>
64648
64649         * doc/relocatable.texi: Use @command instead of @program.
64650
64651 2007-10-02  Jim Meyering  <jim@meyering.net>
64652
64653         Perform one more "_.h" -> ".in.h" substitution.
64654         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
64655         instead of unistd_.h here, too.
64656
64657 2007-10-01  Bruno Haible  <bruno@clisp.org>
64658
64659         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
64660         Needed for the alloca-opt module.
64661
64662 2007-09-30  Bruno Haible  <bruno@clisp.org>
64663
64664         * lib/alloca.in.h: Renamed from lib/alloca_.h.
64665         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
64666         alloca_.h.
64667         * lib/argz.in.h: Renamed from lib/argz_.h.
64668         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
64669         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
64670         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
64671         byteswap_.h.
64672         * lib/dirent.in.h: Renamed from lib/dirent_.h.
64673         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
64674         dirent_.h.
64675         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
64676         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
64677         fcntl_.h.
64678         * lib/float.in.h: Renamed from lib/float_.h.
64679         * modules/float (Files, Makefile.am): Use float.in.h instead of
64680         float_.h.
64681         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
64682         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
64683         fnmatch_.h.
64684         * lib/getopt.in.h: Renamed from lib/getopt_.h.
64685         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
64686         getopt_.h.
64687         * lib/glob.in.h: Renamed from lib/glob_.h.
64688         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
64689         * lib/iconv.in.h: Renamed from lib/iconv_.h.
64690         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
64691         iconv_.h.
64692         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
64693         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
64694         inttypes_.h.
64695         * lib/locale.in.h: Renamed from lib/locale_.h.
64696         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
64697         locale_.h.
64698         * lib/math.in.h: Renamed from lib/math_.h.
64699         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
64700         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
64701         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
64702         of netinet_in_.h. Add dependency.
64703         * lib/poll.in.h: Renamed from lib/poll_.h.
64704         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
64705         * lib/search.in.h: Renamed from lib/search_.h.
64706         * modules/search (Files, Makefile.am): Use search.in.h instead of
64707         search_.h.
64708         * lib/signal.in.h: Renamed from lib/signal_.h.
64709         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
64710         _signal.h.
64711         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
64712         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
64713         stdbool_.h.
64714         * lib/stdint.in.h: Renamed from lib/stdint_.h.
64715         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
64716         stdint_.h.
64717         * lib/stdio.in.h: Renamed from lib/stdio_.h.
64718         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
64719         stdio_.h.
64720         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
64721         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
64722         stdlib_.h.
64723         * lib/string.in.h: Renamed from lib/string_.h.
64724         * modules/string (Files, Makefile.am): Use string.in.h instead of
64725         string_.h.
64726         * doc/gnulib-tool.texi (Initial import): Update.
64727         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
64728         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
64729         of sys_select_.h. Add dependency.
64730         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
64731         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
64732         of sys_socket_.h.
64733         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
64734         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
64735         sys_stat_.h.
64736         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
64737         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
64738         sys_time_.h.
64739         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
64740         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
64741         sysexits_.h.
64742         * lib/time.in.h: Renamed from lib/time_.h.
64743         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
64744         * lib/unistd.in.h: Renamed from lib/unistd_.h.
64745         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
64746         unistd_.h.
64747         * lib/wchar.in.h: Renamed from lib/wchar_.h.
64748         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
64749         wchar_.h.
64750         * lib/wctype.in.h: Renamed from lib/wctype_.h.
64751         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
64752         wctype_.h.
64753         * build-aux/bootstrap (slurp): Update.
64754         * lib/.cppi-disable: Update.
64755
64756 2007-09-30  Bruno Haible  <bruno@clisp.org>
64757
64758         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
64759         Needed on BeOS.
64760
64761 2007-09-30  Bruno Haible  <bruno@clisp.org>
64762
64763         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
64764
64765 2007-09-29  Bruno Haible  <bruno@clisp.org>
64766
64767         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
64768
64769 2007-09-29  Bruno Haible  <bruno@clisp.org>
64770
64771         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
64772         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
64773         * build-aux/install-reloc: Compile also areadlink.c.
64774         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
64775
64776 2007-09-29  Bruno Haible  <bruno@clisp.org>
64777
64778         * gnulib-tool (func_emit_initmacro_done): Indentation.
64779
64780 2007-09-29  Bruno Haible  <bruno@clisp.org>
64781
64782         * README: Add CVS checkout update instructions.
64783         Info from Bob Proulx <bob@proulx.com>.
64784
64785 2007-09-28  Eric Blake  <ebb9@byu.net>
64786
64787         Provide move-if-change.
64788         * build-aux/move-if-change: New file, based on best practice
64789         rather than any canonical upstream location.
64790
64791 2007-09-28  Jim Meyering  <jim@meyering.net>
64792
64793         Fix canonicalize loop-detection corner case.
64794         Do not attempt to stat the symlink values stored via seen_triple.
64795         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
64796         on linux-2.6.18, (but not 2.6.22).
64797         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
64798         triple_compare.  The former compares dev,ino,filename, while the latter
64799         would actually stat dirname(filename) when dev and ino were equal.
64800         * lib/hash-triple.c: Install <string.h>.
64801         (STREQ): Define.
64802         (triple_compare_ino_str): New function.
64803         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
64804
64805 2007-09-28  Eric Blake  <ebb9@byu.net>
64806
64807         Enforce that AC_REPLACE_FUNCS files exist.
64808         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
64809         override check for typos.
64810
64811         Fix test-closein on Solaris 10.
64812         * tests/test-closein.c (main): Don't assume stdin can be inherited
64813         closed on all systems.
64814         * tests/test-closein.sh: Likewise.
64815         Reported by Piotr Tarnowski.
64816
64817 2007-09-28  Jim Meyering  <jim@meyering.net>
64818
64819         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
64820
64821 2007-09-27  Jim Meyering  <jim@meyering.net>
64822
64823         canonicalize: Avoid a false-positive cycle failure.
64824         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
64825         Sort.  Remove cycle-check.
64826         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
64827         not cycle-check.h.
64828         (seen_triple): New function.
64829         (canonicalize_filename_mode): Use it instead of cycle-check.
64830         * tests/test-canonicalize.c: Add a test for this bug.
64831         * tests/test-canonicalize.sh: Set up and run the test.
64832
64833         New module, file-set, from coreutils.
64834         * modules/file-set: Define it.
64835         * lib/file-set.c, lib/file-set.h: Implement.
64836
64837         New module, hash-triple, from coreutils.
64838         * modules/hash-triple: Define it.
64839         * lib/hash-triple.c, lib/hash-triple.h: Implement.
64840
64841 2007-09-25  Eric Blake  <ebb9@byu.net>
64842
64843         Fix strerror on Interix.
64844         * lib/string_.h (strerror): Declare replacement.
64845         * doc/functions/strerror.texi (strerror): Document the Interix
64846         shortcoming.
64847         * modules/string (Makefile.am): Support new hooks.
64848         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
64849         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
64850         gl_FUNC_STRERROR_SEPARATE.
64851         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
64852         * lib/strerror.c (rpl_strerror): Provide replacement.
64853         * modules/strerror (Depends-on): Add string.
64854         (configure.ac): Detect use of module.
64855         * tests/test-strerror.c: New file.
64856         * modules/strerror-tests: New test module.
64857         * modules/argp (Depends-on): Add strerror.
64858         * modules/error (Depends-on): Likewise.
64859         Reported by Martin Koeppe.
64860
64861 2007-09-24  Bruno Haible  <bruno@clisp.org>
64862
64863         * README: Update git instructions.
64864
64865 2007-09-24  Eric Blake  <ebb9@byu.net>
64866
64867         Revert fpending breakage from 2007-09-08.
64868         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
64869         __fpending.c.
64870
64871 2007-09-24  Jim Meyering  <jim@meyering.net>
64872
64873         filenamecat.c: Add a test.
64874         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
64875         showing how the function works when DIR is the empty string.
64876
64877 2007-09-21  Simon Josefsson  <simon@josefsson.org>
64878
64879         * tests/test-canonicalize.sh: Turn on executable bit.
64880
64881 2007-09-19  Eric Blake  <ebb9@byu.net>
64882
64883         * README: Update CVS instructions.
64884
64885 2007-09-18  Bruno Haible  <bruno@clisp.org>
64886
64887         * modules/areadlink: New file.
64888         * lib/areadlink.h (areadlink): New declaration.
64889         * lib/areadlink.c: New file, based on lib/xreadlink.c.
64890
64891 2007-09-17  Jim Meyering  <jim@meyering.net>
64892
64893         * lib/savewd.c (ESTALE) [!defined]: Define.
64894         Reported to be required on Interix by Martin Koeppe.
64895
64896 2007-09-17  Bruno Haible  <bruno@clisp.org>
64897
64898         * gnulib-tool (func_version): Use $version.
64899
64900 2007-09-16  Bruno Haible  <bruno@clisp.org>
64901
64902         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
64903         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
64904         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
64905         Reported by Greg Schafer <gschafer@zip.com.au>.
64906
64907 2007-09-15  Bruno Haible  <bruno@clisp.org>
64908
64909         * gnulib-tool (sed): Try a little harder to make bash understand the
64910         alias.
64911         Reported by Bruce Korb <bruce.korb@gmail.com>.
64912
64913 2007-09-13  Eric Blake  <ebb9@byu.net>
64914
64915         * ChangeLog: Remove conflict markers.
64916
64917 2007-09-13  Simon Josefsson  <simon@josefsson.org>
64918
64919         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
64920         Reported by Bruno Haible <bruno@clisp.org>.
64921
64922 2007-09-12  Bruno Haible  <bruno@clisp.org>
64923
64924         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
64925         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
64926         is not defined.
64927
64928 2007-09-12  Eric Blake  <ebb9@byu.net>
64929
64930         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
64931         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
64932         Autoconf definition.
64933         * modules/euidaccess (Depends-on): Add extensions, for
64934         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
64935         * modules/fnmatch (Depends-on): Likewise.
64936         * modules/getaddrinfo (Depends-on): Likewise.
64937         * modules/getdelim (Depends-on): Likewise.
64938         * modules/getline (Depends-on): Likewise.
64939         * modules/getsubopt (Depends-on): Likewise.
64940         * modules/gettext (Depends-on): Likewise.
64941         * modules/group-member (Depends-on): Likewise.
64942         * modules/mbchar (Depends-on): Likewise.
64943         * modules/memmem (Depends-on): Likewise.
64944         * modules/mempcpy (Depends-on): Likewise.
64945         * modules/memrchr (Depends-on): Likewise.
64946         * modules/pagealign_alloc (Depends-on): Likewise.
64947         * modules/readutmp (Depends-on): Likewise.
64948         * modules/stpcpy (Depends-on): Likewise.
64949         * modules/stpncpy (Depends-on): Likewise.
64950         * modules/strchrnul (Depends-on): Likewise.
64951         * modules/strndup (Depends-on): Likewise.
64952         * modules/strsep (Depends-on): Likewise.
64953         * modules/strverscmp (Depends-on): Likewise.
64954         * modules/vasprintf (Depends-on): Likewise.
64955         * modules/wcwidth (Depends-on): Likewise.
64956         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64957         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64958         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64959         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64960         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64961         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64962         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64963         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64964         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64965         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64966         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64967         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64968         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64969         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64970         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64971         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64972         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64973         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64974         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64975         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64976         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64977         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64978         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64979         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64980         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64981         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64982         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64983         so that lock.m4 can be used in gettext without extensions module.
64984
64985 2007-09-11  Bruno Haible  <bruno@clisp.org>
64986
64987         * m4/isc-posix.m4: Remove file.
64988         Suggested by Eric Blake.
64989
64990 2007-09-11  Eric Blake  <ebb9@byu.net>
64991
64992         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64993
64994 2007-09-10  Bruno Haible  <bruno@clisp.org>
64995
64996         * posix-modules: Fix typo in error message.
64997         Reported by Matt <mkraai@beckman.com>.
64998
64999 2007-09-09  Bruno Haible  <bruno@clisp.org>
65000
65001         * doc/functions/getdelim.texi: Update list of platforms lacking the
65002         function.
65003         * doc/functions/getline.texi: Likewise.
65004
65005 2007-09-09  Jim Meyering  <jim@meyering.net>
65006
65007         * lib/hash.c (hash_initialize): Detect calloc failure.
65008         Reported by Bruno Haible.
65009
65010 2007-09-09  Bruno Haible  <bruno@clisp.org>
65011
65012         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
65013         malloc or realloc fails.
65014
65015 2007-09-09  Bruno Haible  <bruno@clisp.org>
65016
65017         * modules/getcwd (Depends-on): Add malloc-posix.
65018         * modules/glob (Depends-on): Likewise.
65019         * modules/putenv (Depends-on): Likewise.
65020         * modules/strdup (Depends-on): Likewise.
65021         * modules/getdelim (Depends-on): Add realloc-posix.
65022         * modules/read-file (Depends-on): Likewise.
65023
65024 2007-09-09  Bruno Haible  <bruno@clisp.org>
65025
65026         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
65027         (gl_FUNC_MALLOC_POSIX): Require it.
65028         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
65029         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
65030         * modules/realloc (Files): Add m4/malloc.m4.
65031         * modules/calloc (Files): Likewise.
65032
65033 2007-09-09  Bruno Haible  <bruno@clisp.org>
65034
65035         * modules/malloc-posix: New file.
65036         * modules/malloc (Depends-on): Add malloc-posix.
65037         * lib/malloc.c: Include errno.h.
65038         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
65039         and a POSIX-compatible malloc into a single function. Set ENOMEM
65040         when returning NULL.
65041         * m4/malloc.m4: New file.
65042         * doc/functions/malloc.texi: Mention the malloc-posix module.
65043         * lib/stdlib_.h (malloc): New declaration.
65044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65045         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
65046         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
65047         and HAVE_MALLOC_POSIX.
65048
65049 2007-09-09  Bruno Haible  <bruno@clisp.org>
65050
65051         * modules/realloc-posix: New file.
65052         * modules/realloc (Depends-on): Add realloc-posix.
65053         * lib/realloc.c: Include errno.h.
65054         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
65055         and a POSIX-compatible realloc into a single function. Set ENOMEM
65056         when returning NULL.
65057         * m4/realloc.m4: New file.
65058         * doc/functions/realloc.texi: Mention the realloc-posix module.
65059         * lib/stdlib_.h (realloc): New declaration.
65060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65061         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
65062         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
65063         and HAVE_REALLOC_POSIX.
65064
65065 2007-09-09  Bruno Haible  <bruno@clisp.org>
65066
65067         * modules/calloc-posix: New file.
65068         * modules/calloc (Depends-on): Add calloc-posix.
65069         * lib/calloc.c: Include errno.h.
65070         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
65071         and a POSIX-compatible calloc into a single function. Set ENOMEM
65072         when returning NULL.
65073         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
65074         * doc/functions/calloc.texi: Mention the calloc-posix module.
65075         * lib/stdlib_.h (calloc): New declaration.
65076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65077         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
65078         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
65079         and HAVE_CALLOC_POSIX.
65080
65081 2007-09-09  Bruno Haible  <bruno@clisp.org>
65082
65083         Allow for modules to show an arbitrary notice.
65084         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
65085         * gnulib-tool: New option --extract-notice.
65086         (func_usage): Document it.
65087         (sed_extract_prog): Update.
65088         (func_get_notice): New function.
65089         (func_modules_notice): New function.
65090         (func_import, func_create_testdir): Invoke it.
65091         Suggested by Jim Meyering.
65092
65093 2007-09-09  Bruno Haible  <bruno@clisp.org>
65094
65095         * gnulib-tool: New options --verbose, --quiet.
65096         (func_usage): Document them.
65097         (verbose): New variable.
65098         (func_execute_command): New function.
65099         (func_import): Don't show the module list and the file list if
65100         $verbose < 0.
65101         (func_create_testdir): Likewise. Use func_execute_command.
65102         (func_create_megatestdir): Use func_execute_command.
65103
65104 2007-09-08  Bruno Haible  <bruno@clisp.org>
65105
65106         * gnulib-tool (func_import): Prefer rsync over wget when available,
65107         for fetching the PO files.
65108
65109 2007-09-08  Bruno Haible  <bruno@clisp.org>
65110
65111         * posix-modules: New file. Portions copied from gnulib-tool.
65112         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
65113
65114 2007-09-08  Jim Meyering  <jim@meyering.net>
65115
65116         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
65117         * lib/fpending.h: Rename from __fpending.h.
65118         * lib/fpending.c: Rename from __fpending.c.
65119         Include "fpending.h", not "__fpending.h".
65120         * lib/__fpending.h, lib/__fpending.c: Remove files.
65121         * modules/fpending (Files): Reflect new file names.
65122         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
65123
65124 2007-09-08  Bruno Haible  <bruno@clisp.org>
65125
65126         * m4/inttypes-h.m4: Remove stub file.
65127
65128 2007-09-07  Simon Josefsson  <simon@josefsson.org>
65129
65130         * doc/headers/stdint.texi: Discuss #include_next issue.
65131
65132 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65133
65134         * build-aux/bootstrap: Remove obsolete comment about wget --help.
65135
65136 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65137
65138         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
65139         in variable name.
65140
65141 2007-09-03  Jim Meyering  <jim@meyering.net>
65142
65143         New module: git-version-gen.
65144         * modules/git-version-gen: New file.
65145
65146         Import changes from coreutils for bootstrap script.
65147
65148         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
65149
65150         bootstrap: uses rsync to download the .po files
65151         * build-aux/bootstrap (po_download_command_format): New global.
65152         (download_po_files): Use rsync.
65153         (update_po_files): Don't remove .po files after download,
65154         so future rsync runs can take advantage of the copies.
65155
65156         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
65157
65158         Solve the unnecessary-.po-file-regeneration problem once and for all.
65159         * build-aux/bootstrap (download_po_files): New function, renamed from
65160         get_translations.  Now, downloads, but doesn't update LINGUAS.
65161         (update_po_files): New function.
65162
65163         bootstrap: Ignore more.
65164         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
65165         uniwidth to e.g., lib/.gitignore.
65166         (slurp): Handle the sys_stat_.h -> sys mapping, too.
65167
65168         * build-aux/bootstrap: New setting: vc_ignore.
65169         (insert_sorted_if_absent): Create $file if absent.
65170         Adapt to new, possibly empty, list: $vc_ignore.
65171
65172         bootstrap: generate more ignorable names
65173         * build-aux/bootstrap (slurp): When generating ignorable names,
65174         also map .sin to .sed, .gperf to .c, and .y to .c.
65175
65176 2007-09-03  Jim Meyering  <jim@meyering.net>
65177
65178         * build-aux/git-version-gen: New file, from coreutils.  For details, see
65179         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
65180
65181 2007-09-02  Bruno Haible  <bruno@clisp.org>
65182
65183         Fix mis-recognition of 'mcs' on QNX 6.
65184         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
65185         output contains the string "Mono".
65186         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
65187         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
65188
65189 2007-09-01  Bruno Haible  <bruno@clisp.org>
65190
65191         Fix collision between uniwidth/* and linebreak modules.
65192         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
65193         u32_width): Remove declarations.
65194         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
65195         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
65196         streq3, streq2, streq1, streq0): Remove functions.
65197         (STREQ): Remove macro.
65198         (is_cjk_encoding): Remove function.
65199         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
65200         (uc_width, u8_width, u16_width, u32_width): Remove functions.
65201         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
65202         * NEWS: Document the change.
65203
65204 2007-09-01  Bruno Haible  <bruno@clisp.org>
65205
65206         * lib/streq.h: Add double-inclusion guard.
65207
65208 2007-09-01  Karl Berry  <karl@gnu.org>
65209
65210         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
65211
65212 2007-08-28  Jim Meyering  <jim@meyering.net>
65213
65214         Rename mreadlink_with_size to areadlink_with_size.
65215         * NEWS: Document the change.
65216         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
65217         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
65218         * lib/mreadlink.h: Rename this to...
65219         * lib/areadlink.h: ...this.
65220         * modules/mreadlink-with-size: Rename this to...
65221         * modules/areadlink-with-size: ...this.
65222         * lib/canonicalize.c: Reflect the renaming.
65223         * modules/canonicalize: Likewise.
65224
65225 2007-08-26  Bruno Haible  <bruno@clisp.org>
65226
65227         * gnulib-tool (func_import): When deciding which files to remove,
65228         consider also dangling symbolic links.
65229         Reported by Eric Blake.
65230
65231 2007-08-26  Bruno Haible  <bruno@clisp.org>
65232
65233         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
65234
65235 2007-08-23  Simon Josefsson  <simon@josefsson.org>
65236
65237         * lib/readline.c: Don't include getline.h, the prototype is now
65238         found in stdio.h.
65239
65240 2007-08-23  Jim Meyering  <jim@meyering.net>
65241
65242         Getdelim touchup.
65243         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
65244         around the funlockfile call, since funlockfile never sets errno.
65245         Don't set errno upon failed realloc.
65246
65247 2007-08-22  Eric Blake  <ebb9@byu.net>
65248
65249         Getline touchups.
65250         * lib/getdelim.c (getdelim): Revert regression that required *n to
65251         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
65252         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
65253         getdelim, rather than whether implementation is missing.
65254         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
65255         * lib/stdio_.h (getline): Also declare if replacement is
65256         required.
65257         * doc/functions/getdelim.texi: New file.
65258         * doc/functions/getline.texi: Likewise.
65259         * doc/gnulib.texi (Function Substitutes): Add new files.
65260         Reported by Bruno Haible.
65261
65262 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
65263
65264         * users.txt: Add Guile.
65265
65266 2007-08-22  Eric Blake  <ebb9@byu.net>
65267
65268         * tests/test-getdelim.c (main): Use remove, not unlink.
65269         * tests/test-getline.c (main): Likewise.
65270
65271         Move getline and getdelim into stdio.h, per POSIX 200x.
65272         * modules/getline (Files): Remove getline.h.
65273         (Depends-on): Add stdio.
65274         (configure.ac): Add module indicator.
65275         * modules/getdelim (Files): Remove getdelim.h.
65276         (Depends-on): Add stdio.
65277         (configure.ac): Add module indicator.
65278         * modules/stdio (Makefile.am): Work with new indicators.
65279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
65280         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
65281         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
65282         * lib/getdelim.h: Delete.
65283         * lib/getline.h: Delete.
65284         * lib/stdio_.h (getdelim, getline): Declare.
65285         * modules/getdelim-tests: New module.
65286         * modules/getline-tests: Likewise.
65287         * tests/test-getdelim.c: New file.
65288         * tests/test-getline.c: Likewise.
65289         * NEWS: Document the change.
65290         * lib/getline.c: Update choice of header.
65291         * lib/csharpcomp.c: Likewise.
65292         * lib/getpass.c: Likewise.
65293         * lib/javacomp.c: Likewise.
65294         * lib/javaversion.c: Likewise.
65295         * lib/yesno.c: Likewise.
65296         * lib/getdelim.c: Likewise.
65297         (getdelim): Set errno on failure, and avoid memory leak.
65298
65299 2007-08-19  Bruno Haible  <bruno@clisp.org>
65300
65301         * modules/closein (Depends-on): Add freadahead.
65302         * lib/closein.c: Include freadahead.h.
65303         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
65304         is zero.
65305
65306 2007-08-19  Bruno Haible  <bruno@clisp.org>
65307
65308         * modules/freadahead-tests: New file.
65309         * tests/test-freadahead.sh: New file.
65310         * tests/test-freadahead.c: New file.
65311
65312         * modules/freadahead: New file.
65313         * lib/freadahead.h: New file.
65314         * lib/freadahead.c: New file.
65315         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
65316         fbufmode, fpurge, freadable, fwritable.
65317
65318 2007-08-19  Eric Blake  <ebb9@byu.net>
65319
65320         Test yesno in combination with closein.
65321         * lib/yesno.c (yesno): Document use of stdin.
65322         * modules/yesno-tests (Files): New module.
65323         * tests/test-yesno.c (main): New file.
65324         * tests/test-yesno.sh: Likewise.
65325
65326 2007-08-19  Bruno Haible  <bruno@clisp.org>
65327
65328         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
65329         * lib/fseeko.c (rpl_fseeko): Likewise.
65330         * lib/fseterr.c (fseterr): Likewise.
65331
65332 2007-08-19  Bruno Haible  <bruno@clisp.org>
65333
65334         * tests/test-lseek.c (main): Disable a test for BeOS.
65335         * doc/functions/lseek.texi: Document the BeOS bug.
65336
65337 2007-08-19  Bruno Haible  <bruno@clisp.org>
65338             Eric Blake  <ebb9@byu.net>
65339
65340         * lib/lseek.c: Include <sys/stat.h>.
65341         (rpl_lseek): Add workaround code also for Unix platforms.
65342         Needed for BeOS.
65343         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
65344         * doc/functions/lseek.texi: Document BeOS definiency.
65345
65346 2007-08-18  Bruno Haible  <bruno@clisp.org>
65347
65348         * modules/fstrcmp-tests: New file.
65349         * tests/test-fstrcmp.c: New file.
65350
65351 2007-08-18  Bruno Haible  <bruno@clisp.org>
65352
65353         * modules/fstrcmp: New file, from GNU gettext with modifications.
65354         * lib/fstrcmp.h: New file, from GNU gettext.
65355         * lib/fstrcmp.c: New file, from GNU gettext.
65356         * MODULES.html.sh (String handling): Add fstrcmp.
65357
65358 2007-08-18  Bruno Haible  <bruno@clisp.org>
65359
65360         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
65361         'bool'.
65362         (diag, compareseq): Remove const from the ctxt argument.
65363         (USE_HEURISTIC): Undefine at the end.
65364
65365 2007-08-18  Jim Meyering  <jim@meyering.net>
65366
65367         New file: lib/idcache.h
65368         * NEWS: Mention the addition.
65369         * modules/idcache (Files): Add lib/idcache.h
65370         * lib/idcache.c: Include "idcache.h".
65371         Don't include <sys/types.h>.
65372         Add a FIXME comment.
65373         Move file-scoped "static" declarations to the top.
65374         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
65375
65376 2007-08-17  Bruno Haible  <bruno@clisp.org>
65377         and Paul Eggert  <eggert@cs.ucla.edu>
65378
65379         * MODULES.html.sh: Add diffseq.
65380         * modules/diffseq: New file.
65381         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
65382         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
65383
65384 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65385
65386         Import changes from coreutils for bootstrap script.
65387
65388         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
65389
65390         * build-aux/bootstrap (slurp): Work even in environments where
65391         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
65392         current code does not slurp files whose names start with ".", and
65393         this looks like it might be a troublesome area.
65394
65395         2007-07-11  Jim Meyering  <jim@meyering.net>
65396
65397         If there's a GPL vN copyright comment, require that N == 3.
65398
65399         2007-07-08  Jim Meyering  <jim@meyering.net>
65400
65401         Run the coreutils-specific code only if tests/Makefile.am.in exists.
65402         * build-aux/bootstrap (mam_template): Move definition out of loop.
65403
65404         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
65405
65406         * build-aux/bootstrap (symlink_to_dir): Rename function from
65407         symlink_to_gnulib.  Add a directory parameter.  Update all
65408         callers.
65409         (cp_mark_as_generated): Also check for -- and link to -- files in
65410         gl/.
65411
65412         2007-07-08  Jim Meyering  <jim@meyering.net>
65413
65414         Adapt to deeper hierarchy in gnulib.
65415         * build-aux/bootstrap (symlink_to_dir): If the destination
65416         directory doesn't exist, create it. This is required at least for
65417         "lib/uniwidth/cjk.h".
65418
65419         2007-05-15  Jim Meyering  <jim@meyering.net>
65420
65421         * build-aux/bootstrap: Now that generated Makefile.am files
65422         are no longer under version control, they must be created at
65423         bootstrap time.
65424
65425 2007-08-14  Ben Pfaff  <blp@gnu.org>
65426
65427         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
65428
65429 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65430
65431         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
65432         given the changes below.
65433         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
65434         even on hosts that have padding bits beyond the supported 64.
65435
65436 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65437
65438         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
65439         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
65440         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
65441         depends on it.
65442         (xstrtol_error): Remove.
65443         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
65444         but with a different signature.
65445         (ATTRIBUTE_NORETURN, __attribute__): New macros.
65446         * lib/xstrtol-error.c: Include exitfail.h.
65447         (xstrtol_fatal): New function, with a different signature from the
65448         old xstrtol_error, so that the caller need not worry about passing
65449         in an exit status, or about storage management of the option argument.
65450         (xstrtol_error): Now a static function.  Redo signature to
65451         implement xstrtol_fatal.  Output the correct number of hyphens in
65452         front of the option so that the caller need not worry about
65453         storage management.
65454         (N_): New macro.
65455         (_): Remove; not used now.
65456         * modules/xstrtol: Depend on getopt.
65457         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
65458         of old STRTOL_FATAL_ERROR macro.
65459         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
65460         of test program.
65461         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
65462         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
65463
65464 2007-08-08  Eric Blake  <ebb9@byu.net>
65465
65466         * lib/xstrtol-error.c: Add missing include.
65467
65468         Move xstrtol messages into gnulib domain, when --pobase is used.
65469         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
65470         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
65471         * modules/xstrtol (Files): Distribute new file.
65472         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
65473         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
65474         * tests/test-xstrtol.c: ...into new file.
65475         * tests/test-xstrtoul.c: Also test xstrtoul.
65476         * tests/test-xstrtoimax.c: Also test xstrtoimax.
65477         * tests/test-xstrtoumax.c: Also test xstrtoumax.
65478         * tests/test-xstrtol.sh: Drive the tests.
65479         * tests/test-xstrtoimax.sh: Likewise.
65480         * tests/test-xstrtoumax.sh: Likewise.
65481         * modules/xstrtol-tests: New module.
65482         * modules/xstrtoimax-tests: Likewise.
65483         * modules/xstrtoumax-tests: Likewise.
65484
65485 2007-08-08  Jim Meyering  <jim@meyering.net>
65486
65487         New function: mfile_name_concat.
65488         * lib/filenamecat.c (mfile_name_concat): New function, just like
65489         file_name_concat, but return NULL upon failure rather than exiting
65490         with a diagnostic.
65491         * lib/filenamecat.h: Declare it.
65492
65493 2007-08-07  Bruno Haible  <bruno@clisp.org>
65494
65495         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
65496         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
65497         warning from gcc.
65498         Reported by Eric Blake.
65499
65500 2007-08-07  Simon Josefsson  <simon@josefsson.org>
65501
65502         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
65503         * modules/crypto/arcfour (License): Likewise.
65504         * modules/crypto/des-tests (License): Likewise.
65505         * modules/crypto/gc-arctwo-tests (License): Likewise.
65506         * modules/crypto/gc-des-tests (License): Likewise.
65507         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
65508         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
65509         * modules/crypto/gc-md2-tests (License): Likewise.
65510         * modules/crypto/gc-md4-tests (License): Likewise.
65511         * modules/crypto/gc-md5-tests (License): Likewise.
65512         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
65513         * modules/crypto/gc-rijndael-tests (License): Likewise.
65514         * modules/crypto/gc-sha1-tests (License): Likewise.
65515         * modules/crypto/gc-tests (License): Likewise.
65516         * modules/crypto/hmac-md5 (License): Likewise.
65517         * modules/crypto/hmac-sha1 (License): Likewise.
65518         * modules/crypto/md2-tests (License): Likewise.
65519         * modules/crypto/md4-tests (License): Likewise.
65520         * modules/crypto/md5 (License): Likewise.
65521         * modules/crypto/rijndael (License): Likewise.
65522         * modules/crypto/sha1 (License): Likewise.
65523         * modules/memxor (License): Likewise.
65524
65525 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65526         and Bruno Haible  <bruno@clisp.org>
65527
65528         * NEWS: Describe interface changes to human, xstrtol.
65529         * lib/human.h: Include <xstrtol.h>.
65530         (human_options): Return enum strtol_error, not int.  Remove
65531         bool arg; take int * instead.
65532         * lib/human.c: Don't include "gettext.h".
65533         (_): Remove; no longer used.
65534         Don't include <xstrtol.h>, since human.h does it.
65535         (human_options): Adjust to abovementioned interface changes.
65536         Do not report error to stderr; that's now the caller's
65537         responsibility.
65538         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
65539         interface change.
65540         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
65541         Str, Argument_type_string.  All uses changed.  Put " argument"
65542         in diagnostics to make them clearer.  Change wording of suffix
65543         message for clarity.
65544         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
65545         Argument_type_string.
65546         (STRTOL_FATAL_WARN): Remove; no longer used.
65547         * modules/human (Depends-on): Remove gettext-h.
65548
65549 2007-08-06  Simon Josefsson  <simon@josefsson.org>
65550
65551         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
65552
65553 2007-07-31  Bruno Haible  <bruno@clisp.org>
65554
65555         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
65556         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
65557         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
65558
65559 2007-07-31  Bruno Haible  <bruno@clisp.org>
65560
65561         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
65562         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
65563
65564 2007-07-30  Bruno Haible  <bruno@clisp.org>
65565
65566         * modules/base64 (License): Use the synonymous term "LGPLv2+".
65567         * modules/c-ctype (License): Likewise.
65568         * modules/c-strcase (License): Likewise.
65569         * modules/check-version (License): Likewise.
65570         * modules/iconv (License): Likewise.
65571         * modules/iconv_open (License): Likewise.
65572         * modules/read-file (License): Likewise.
65573         * modules/striconv (License): Likewise.
65574         * modules/strverscmp (License): Likewise.
65575         * modules/vasprintf (License): Likewise.
65576         * modules/crypto/des (License): Likewise.
65577         * modules/crypto/gc (License): Likewise.
65578         * modules/crypto/gc-arcfour (License): Likewise.
65579         * modules/crypto/gc-arctwo (License): Likewise.
65580         * modules/crypto/gc-des (License): Likewise.
65581         * modules/crypto/gc-hmac-md5 (License): Likewise.
65582         * modules/crypto/gc-hmac-sha1 (License): Likewise.
65583         * modules/crypto/gc-md2 (License): Likewise.
65584         * modules/crypto/gc-md4 (License): Likewise.
65585         * modules/crypto/gc-md5 (License): Likewise.
65586         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
65587         * modules/crypto/gc-random (License): Likewise.
65588         * modules/crypto/gc-rijndael (License): Likewise.
65589         * modules/crypto/gc-sha1 (License): Likewise.
65590         * modules/crypto/md2 (License): Likewise.
65591         * modules/crypto/md4 (License): Likewise.
65592
65593 2007-07-30  Jim Meyering  <jim@meyering.net>
65594
65595         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
65596         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
65597         it has valid stat data.  This bug would cause du not to count the
65598         sizes of inaccessible directories.
65599         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
65600         in <http://bugzilla.redhat.com/250077>.
65601
65602 2007-07-25  Peter O'Gorman  <peter@pogma.com>
65603             Bruno Haible  <bruno@clisp.org>
65604
65605         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
65606         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
65607         #include_next, gives a diagnostic about it, but reports no error in
65608         the exit code.
65609         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
65610
65611 2007-07-24  Ben Pfaff  <blp@gnu.org>
65612
65613         Improve name: "count-one-bits" is better than "popcount".
65614         * MODULES.html.sh: Update name.
65615         * lib/popcount.h: Renamed lib/count-one-bits.h.
65616         (popcount): Renamed count_one_bits.
65617         (popcountl): Renamed count_one_bits_l.
65618         (popcountll): Renamed count_one_bits_ll.
65619         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
65620         * modules/popcount: Renamed module/count-one-bits.
65621         * modules/popcount-tests: Renamed module/count-one-bits-tests.
65622         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
65623
65624 2007-07-23  Ben Pfaff  <blp@gnu.org>
65625
65626         * lib/popcount.h (popcount32): Reduce size of constants, to allow
65627         better code generation, and add U to large constants to avoid
65628         warnings, in non-GCC case.
65629         Suggested by Bruno Haible.
65630
65631 2007-07-23  Ben Pfaff  <blp@gnu.org>
65632
65633         * lib/popcount.h: Use verify_true instead of if...abort.
65634         * modules/popcount: Depend on verify module.
65635         Suggested by Jim Meyering.
65636
65637 2007-07-23  Bruno Haible  <bruno@clisp.org>
65638
65639         * gnulib-tool (func_import): Create a .cvsignore file also when the
65640         directory is not yet in CVS but the toplevel directory is. When
65641         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
65642         Reported by Karl Berry.
65643
65644 2007-07-22  Ben Pfaff  <blp@gnu.org>
65645
65646         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
65647         case.
65648         Suggested by Eric Blake.
65649
65650 2007-07-22  Ben Pfaff  <blp@gnu.org>
65651
65652         New module: popcount.
65653         * MODULES.html.sh: Add popcount.
65654         * modules/popcount: New file.
65655         * modules/popcount-tests: New file.
65656         * tests/test-popcount.c: New file.
65657         * lib/popcount.h: New file.
65658         * m4/popcount.m4: New file.
65659
65660 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65661
65662         * build-aux/announce-gen: Update to GPLv3.
65663
65664         * build-aux/config.guess: Update from config.
65665
65666 2007-07-21  Bruno Haible  <bruno@clisp.org>
65667
65668         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
65669         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
65670
65671 2007-07-20  Jim Meyering  <jim@meyering.net>
65672
65673         * check-module: Diagnose a self-dependency.
65674
65675 2007-07-19  Bruno Haible  <bruno@clisp.org>
65676
65677         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
65678         empty.
65679         Reported by Eric Blake.
65680
65681 2007-07-18  Bruno Haible  <bruno@clisp.org>
65682
65683         * gnulib-tool: New options --po-base, --po-domain.
65684         (func_usage): Document them.
65685         (pobase, po_domain): New variables.
65686         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
65687         DEFAULT_TEXT_DOMAIN.
65688         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
65689         (func_import): Consider pobase and po_domain. Create a po/ directory.
65690         (func_create_testdir): Set pobase and po_domain to empty.
65691         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
65692         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
65693
65694 2007-07-18  Bruno Haible  <bruno@clisp.org>
65695
65696         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65697         EXTRA_DIST augmentation for files in build-aux/.
65698
65699 2007-07-16  Bruno Haible  <bruno@clisp.org>
65700
65701         * modules/lseek (License): Use the synonymous term "LGPLv2+".
65702         * modules/getdelim (License): Likewise.
65703
65704 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65705
65706         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
65707         * modules/d-type (License): Likewise.
65708         * modules/extensions (License): Likewise.
65709         * modules/fnmatch (License): Likewise.
65710         * modules/fseeko (License): Likewise.
65711         * modules/getaddrinfo (License): Likewise.
65712         * modules/getline (License): Likewise.
65713         * modules/getlogin_r (License): Likewise.
65714         * modules/getpass (License): Likewise.
65715         * modules/gettimeofday (License): Likewise.
65716         * modules/glob (License): Likewise.
65717         * modules/inet_ntop (License): Likewise.
65718         * modules/malloc (License): Likewise.
65719         * modules/malloca (License): Likewise.
65720         * modules/memmem (License): Likewise.
65721         * modules/mempcpy (License): Likewise.
65722         * modules/memset (License): Likewise.
65723         * modules/minmax (License): Likewise.
65724         * modules/mktime (License): Likewise.
65725         * modules/netinet_in (License): Likewise.
65726         * modules/pathmax (License): Likewise.
65727         * modules/poll (License): Likewise.
65728         * modules/regex (License): Likewise.
65729         * modules/snprintf (License): Likewise.
65730         * modules/stdbool (License): Likewise.
65731         * modules/stdint (License): Likewise.
65732         * modules/stdio (License): Likewise.
65733         * modules/strcase (License): Likewise.
65734         * modules/strcasestr (License): Likewise.
65735         * modules/strdup (License): Likewise.
65736         * modules/string (License): Likewise.
65737         * modules/strndup (License): Likewise.
65738         * modules/strnlen (License): Likewise.
65739         * modules/strpbrk (License): Likewise.
65740         * modules/strptime (License): Likewise.
65741         * modules/strsep (License): Likewise.
65742         * modules/sys_select (License): Likewise.
65743         * modules/sys_socket (License): Likewise.
65744         * modules/sys_stat (License): Likewise.
65745         * modules/sys_time (License): Likewise.
65746         * modules/time (License): Likewise.
65747         * modules/time_r (License): Likewise.
65748         * modules/timegm (License): Likewise.
65749         * modules/unistd (License): Likewise.
65750         * modules/vsnprintf (License): Likewise.
65751         * modules/wctype (License): Likewise.
65752
65753 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65754
65755         * modules/argz (License): LGPLv2+.
65756
65757 2007-07-15  Karl Berry  <karl@gnu.org>
65758
65759         * doc/gnulib.texi: revise node structure per new fdl.texi.
65760
65761 2007-07-14  Bruno Haible  <bruno@clisp.org>
65762
65763         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
65764         the output file.
65765         * lib/uniname/uninames.h: Regenerated.
65766
65767 2007-07-14  Karl Berry  <karl@gnu.org>
65768
65769         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
65770         omitting sectioning and index commands.
65771
65772 2007-07-13  Bruno Haible  <bruno@clisp.org>
65773
65774         New gnulib-tool option --more-symlinks.
65775         * gnulib-tool (func_usage): Document --more-symlinks.
65776         (do_copyrights): New variable.
65777         Recognize option --more-symlinks.
65778         (func_import): Don't add a copyright notice transform to
65779         sed_transform_lib_file if do_copyrights is empty.
65780
65781 2007-07-13  Bruno Haible  <bruno@clisp.org>
65782
65783         * lib/vasnprintf.c (decimal_point_char): Define also if
65784         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
65785         && !NEED_PRINTF_DIRECTIVE_A.
65786         Reported by Clemens Koller <clemens.koller@anagramm.de> via
65787         Gary V. Vaughan <gary@gnu.org>.
65788
65789 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
65790
65791         * lib/inttypes_.h: Undo previous change, since it was fixed
65792         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
65793
65794 2007-07-13  Bruno Haible  <bruno@clisp.org>
65795
65796         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
65797         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
65798
65799 2007-07-13  Jim Meyering  <jim@meyering.net>
65800
65801         df: Don't fail for Tru64's "file-on-file mount".
65802         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
65803         so we fall through and use statfs instead.  Details here:
65804         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
65805         Reported by Albert Chin.
65806
65807 2007-07-13  Bruno Haible  <bruno@clisp.org>
65808
65809         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
65810         * modules/configmake (License): Likewise.
65811         * modules/gettext (License): Likewise.
65812         * modules/gettext-h (License): Likewise.
65813         * modules/include_next (License): Likewise.
65814         * modules/link-warning (License): Likewise.
65815         * modules/localcharset (License): Likewise.
65816         * modules/localename (License): Likewise.
65817         * modules/lock (License): Likewise.
65818         * modules/relocatable-lib-lgpl (License): Likewise.
65819         * modules/size_max (License): Likewise.
65820         * modules/vasnprintf (License): Likewise.
65821         * modules/wchar (License): Likewise.
65822         * modules/xsize (License): Likewise.
65823
65824 2007-07-13  Bruno Haible  <bruno@clisp.org>
65825
65826         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
65827         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
65828
65829 2007-07-12  Bruno Haible  <bruno@clisp.org>
65830
65831         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
65832         in the modules files.
65833
65834 2007-07-11  Karl Berry  <karl@gnu.org>
65835
65836         * MODULES.html.sh (func_module): use
65837          sed -e '\|^'"${includefile}"'$|d'
65838          instead of /.../d, to avoid errors on $includefile's containing /.
65839
65840 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65841
65842         * gnulib-tool (func_import): Avoid duplication of --avoid
65843         statements
65844         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
65845         names to `_' in variable names.
65846
65847 2007-07-10  Eric Blake  <ebb9@byu.net>
65848
65849         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
65850         * NEWS: Document this change.
65851
65852 2007-07-08  Bruno Haible  <bruno@clisp.org>
65853
65854         Update to Unicode 5.0.
65855         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
65856         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
65857         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65858         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
65859         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
65860         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
65861         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
65862         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
65863         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
65864         U+10A3F, U+1D242..U+1D244.
65865         (nonspacing_table_ind): Update.
65866         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
65867         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
65868
65869 2007-07-08  Bruno Haible  <bruno@clisp.org>
65870
65871         Update to Unicode 5.0.
65872         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
65873         code transform. Extend the name index field of unicode_name_to_code and
65874         unicode_code_to_name from 16 to 24 bits.
65875         * lib/uniname/uniname.c (unicode_character_name,
65876         unicode_name_character): Add the range 0x12xxx to the code transform.
65877         * lib/uniname/uninames.h: Regenerated.
65878         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
65879
65880 2007-07-07  Bruno Haible  <bruno@clisp.org>
65881
65882         * modules/wcwidth-tests: New file.
65883         * tests/test-wcwidth.c: New file.
65884
65885         Work around MacOS X wcwidth() bug.
65886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
65887         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
65888         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
65889         original wcwidth in non-UTF-8 locales.
65890         * modules/wcwidth (Depends-on): Add localcharset, streq,
65891         uniwidth/width.
65892         * doc/functions/wcwidth.texi: Update.
65893
65894 2007-07-07  Bruno Haible  <bruno@clisp.org>
65895
65896         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
65897         (wcwidth): New declaration.
65898         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
65899         macros.
65900         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
65901         here. Prepare for creating <wchar.h> unconditionally.
65902         * modules/wchar (Depends-on): Add link-warning.
65903         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
65904         REPLACE_WCWIDTH, and GL_LINK_WARNING.
65905         * lib/wcwidth.h: Remove file.
65906         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
65907         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
65908         * modules/wcwidth (Files): Remove lib/wcwidth.h.
65909         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
65910         (Include): Replace wcwidth.h with <wchar.h>.
65911         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
65912         * lib/mbchar.h: Don't include wcwidth.h.
65913         * lib/mbswidth.c: Likewise.
65914         * NEWS: Mention the change.
65915
65916 2007-07-07  Bruno Haible  <bruno@clisp.org>
65917
65918         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
65919         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
65920         definition with an external declaration.
65921         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
65922         defined as a function. Remove AC_C_INLINE requirement.
65923         * modules/wcwidth (Files): Add lib/wcwidth.c.
65924         (Makefile.am): Remove redundant statement.
65925
65926 2007-07-07  Bruno Haible  <bruno@clisp.org>
65927
65928         * MODULES.html.sh (Unicode string functions): Add the new modules.
65929
65930         * tests/uniwidth/test-u32-strwidth.c: New file.
65931         * modules/uniwidth/u32-strwidth-tests: New file.
65932
65933         * lib/uniwidth/u32-strwidth.c: New file.
65934         * modules/uniwidth/u32-strwidth: New file.
65935
65936         * tests/uniwidth/test-u16-strwidth.c: New file.
65937         * modules/uniwidth/u16-strwidth-tests: New file.
65938
65939         * lib/uniwidth/u16-strwidth.c: New file.
65940         * modules/uniwidth/u16-strwidth: New file.
65941
65942         * tests/uniwidth/test-u8-strwidth.c: New file.
65943         * modules/uniwidth/u8-strwidth-tests: New file.
65944
65945         * lib/uniwidth/u8-strwidth.c: New file.
65946         * modules/uniwidth/u8-strwidth: New file.
65947
65948         * tests/uniwidth/test-u32-width.c: New file.
65949         * modules/uniwidth/u32-width-tests: New file.
65950
65951         * lib/uniwidth/u32-width.c: New file.
65952         * modules/uniwidth/u32-width: New file.
65953
65954         * tests/uniwidth/test-u16-width.c: New file.
65955         * modules/uniwidth/u16-width-tests: New file.
65956
65957         * lib/uniwidth/u16-width.c: New file.
65958         * modules/uniwidth/u16-width: New file.
65959
65960         * tests/uniwidth/test-u8-width.c: New file.
65961         * modules/uniwidth/u8-width-tests: New file.
65962
65963         * lib/uniwidth/u8-width.c: New file.
65964         * modules/uniwidth/u8-width: New file.
65965
65966         * tests/uniwidth/test-uc_width.c: New file.
65967         * modules/uniwidth/width-tests: New file.
65968
65969         * lib/uniwidth/width.c: New file, from GNU libiconv.
65970         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65971         * modules/uniwidth/width: New file.
65972
65973         * lib/uniwidth.h: New file, from GNU libiconv.
65974         * modules/uniwidth/base: New file.
65975
65976 2007-07-07  Bruno Haible  <bruno@clisp.org>
65977
65978         * lib/uniname.h: New file, from GNU gettext.
65979         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65980         * lib/uniname/uninames.h: New file, from GNU gettext.
65981         * lib/uniname/uniname.c: New file, from GNU gettext.
65982         * tests/uniname/test-uninames.sh: New file.
65983         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65984         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65985         * modules/uniname/base: New file.
65986         * modules/uniname/uniname: New file.
65987         * modules/uniname/uniname-tests: New file.
65988         * MODULES.html.sh (Unicode string functions): Add the new modules.
65989
65990 2007-07-06  Bruno Haible  <bruno@clisp.org>
65991
65992         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65993
65994 2007-07-06  Bruno Haible  <bruno@clisp.org>
65995
65996         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65997         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65998         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65999         include <sys/time.h>.
66000         Reported by Eric Blake.
66001
66002 2007-07-06  Eric Blake  <ebb9@byu.net>
66003
66004         Fix testing canonicalize on cygwin.
66005         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
66006         Revert patch from 2007-06-19.
66007         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
66008         canonicalize module is also in use.
66009         * tests/test-canonicalize.c: New file.
66010         * tests/test-canonicalize.sh: Likewise.
66011         * modules/canonicalize-tests: Likewise.
66012
66013 2007-07-06  Jim Meyering  <jim@meyering.net>
66014
66015         * lib/getugroups.c (getugroups): Detect getgrent failure.
66016         Adjust comment to reflect reality: this function may return -1.
66017
66018 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
66019
66020         * build-aux/bootstrap (TP_URL,get_translations): Update to use
66021         the new TP address.
66022         (usage): Fix typo
66023         (gnulib_mk): New variable.
66024
66025 2007-07-05  Jim Meyering  <jim@meyering.net>
66026
66027         Don't let endgrent clobber errno, no matter how improbable.
66028         * lib/getugroups.c (getugroups): Save and restore errno around
66029         endgrent call.
66030
66031         Close the group DB even when failing with 2^31 or more members.
66032         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
66033
66034 2007-07-04  Jim Meyering  <jim@meyering.net>
66035
66036         * lib/getugroups.h: New file.
66037         * lib/getugroups.c: Include "getugroups.h".
66038         Remove uses of "register" keyword.
66039         Move local variable, "cp", down into scope where used.
66040         Give "username" parameter the "const" attribute.
66041         * modules/getugroups (Files): Add lib/getugroups.h
66042
66043 2007-07-04  Karl Berry  <karl@gnu.org>
66044
66045         * MODULES.html.sh (func_all_modules): Complete rename of
66046         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
66047
66048 2007-07-02  Bruno Haible  <bruno@clisp.org>
66049
66050         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
66051         mode, when inttypes.h comes from gnulib.
66052         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66053
66054 2007-07-02  Simon Josefsson  <simon@josefsson.org>
66055
66056         * NEWS: Mention lgpl module name change.
66057
66058         * modules/lgpl-2.1: Renamed from lgpl.
66059
66060         * NEWS: Mention gpl module name change.
66061
66062         * modules/gpl-3.0: New file, based on gpl-2.0.
66063
66064         * modules/gpl-2.0: Renamed from gpl.
66065
66066         * modules/gpl: Fix filename, doc/gpl.texi is now found at
66067         doc/gpl-2.0.texi.
66068
66069 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66070
66071         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
66072         #define __STDC_LIMIT_MACROS temporarily while including
66073         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
66074         Problem reported by Joel E. Denny in
66075         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
66076
66077 2007-07-01  Bruno Haible  <bruno@clisp.org>
66078
66079         * lib/unistdio.h: New file.
66080         * lib/unistdio/u-asnprintf.h: New file.
66081         * lib/unistdio/u-asprintf.h: New file.
66082         * lib/unistdio/u-printf-args.c: New file.
66083         * lib/unistdio/u-printf-args.h: New file.
66084         * lib/unistdio/u-printf-parse.h: New file.
66085         * lib/unistdio/u-snprintf.h: New file.
66086         * lib/unistdio/u-sprintf.h: New file.
66087         * lib/unistdio/u-vasprintf.h: New file.
66088         * lib/unistdio/u-vsnprintf.h: New file.
66089         * lib/unistdio/u-vsprintf.h: New file.
66090         * lib/unistdio/ulc-asnprintf.c: New file.
66091         * lib/unistdio/ulc-asprintf.c: New file.
66092         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
66093         * lib/unistdio/ulc-printf-parse.c: New file.
66094         * lib/unistdio/ulc-snprintf.c: New file.
66095         * lib/unistdio/ulc-sprintf.c: New file.
66096         * lib/unistdio/ulc-vasnprintf.c: New file.
66097         * lib/unistdio/ulc-vasprintf.c: New file.
66098         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
66099         * lib/unistdio/ulc-vsnprintf.c: New file.
66100         * lib/unistdio/ulc-vsprintf.c: New file.
66101         * lib/unistdio/u8-asnprintf.c: New file.
66102         * lib/unistdio/u8-asprintf.c: New file.
66103         * lib/unistdio/u8-printf-parse.c: New file.
66104         * lib/unistdio/u8-snprintf.c: New file.
66105         * lib/unistdio/u8-sprintf.c: New file.
66106         * lib/unistdio/u8-vasnprintf.c: New file.
66107         * lib/unistdio/u8-vasprintf.c: New file.
66108         * lib/unistdio/u8-vsnprintf.c: New file.
66109         * lib/unistdio/u8-vsprintf.c: New file.
66110         * lib/unistdio/u8-u8-asnprintf.c: New file.
66111         * lib/unistdio/u8-u8-asprintf.c: New file.
66112         * lib/unistdio/u8-u8-snprintf.c: New file.
66113         * lib/unistdio/u8-u8-sprintf.c: New file.
66114         * lib/unistdio/u8-u8-vasnprintf.c: New file.
66115         * lib/unistdio/u8-u8-vasprintf.c: New file.
66116         * lib/unistdio/u8-u8-vsnprintf.c: New file.
66117         * lib/unistdio/u8-u8-vsprintf.c: New file.
66118         * lib/unistdio/u16-asnprintf.c: New file.
66119         * lib/unistdio/u16-asprintf.c: New file.
66120         * lib/unistdio/u16-printf-parse.c: New file.
66121         * lib/unistdio/u16-snprintf.c: New file.
66122         * lib/unistdio/u16-sprintf.c: New file.
66123         * lib/unistdio/u16-vasnprintf.c: New file.
66124         * lib/unistdio/u16-vasprintf.c: New file.
66125         * lib/unistdio/u16-vsnprintf.c: New file.
66126         * lib/unistdio/u16-vsprintf.c: New file.
66127         * lib/unistdio/u16-u16-asnprintf.c: New file.
66128         * lib/unistdio/u16-u16-asprintf.c: New file.
66129         * lib/unistdio/u16-u16-snprintf.c: New file.
66130         * lib/unistdio/u16-u16-sprintf.c: New file.
66131         * lib/unistdio/u16-u16-vasnprintf.c: New file.
66132         * lib/unistdio/u16-u16-vasprintf.c: New file.
66133         * lib/unistdio/u16-u16-vsnprintf.c: New file.
66134         * lib/unistdio/u16-u16-vsprintf.c: New file.
66135         * lib/unistdio/u32-asnprintf.c: New file.
66136         * lib/unistdio/u32-asprintf.c: New file.
66137         * lib/unistdio/u32-printf-parse.c: New file.
66138         * lib/unistdio/u32-snprintf.c: New file.
66139         * lib/unistdio/u32-sprintf.c: New file.
66140         * lib/unistdio/u32-vasnprintf.c: New file.
66141         * lib/unistdio/u32-vasprintf.c: New file.
66142         * lib/unistdio/u32-vsnprintf.c: New file.
66143         * lib/unistdio/u32-vsprintf.c: New file.
66144         * lib/unistdio/u32-u32-asnprintf.c: New file.
66145         * lib/unistdio/u32-u32-asprintf.c: New file.
66146         * lib/unistdio/u32-u32-snprintf.c: New file.
66147         * lib/unistdio/u32-u32-sprintf.c: New file.
66148         * lib/unistdio/u32-u32-vasnprintf.c: New file.
66149         * lib/unistdio/u32-u32-vasprintf.c: New file.
66150         * lib/unistdio/u32-u32-vsnprintf.c: New file.
66151         * lib/unistdio/u32-u32-vsprintf.c: New file.
66152         * tests/unistdio/test-ulc-asnprintf1.c: New file.
66153         * tests/unistdio/test-ulc-asnprintf1.h: New file.
66154         * tests/unistdio/test-ulc-printf1.h: New file.
66155         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
66156         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
66157         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
66158         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
66159         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
66160         * tests/unistdio/test-ulc-vasprintf1.c: New file.
66161         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
66162         * tests/unistdio/test-ulc-vsprintf1.c: New file.
66163         * tests/unistdio/test-u8-asnprintf1.c: New file.
66164         * tests/unistdio/test-u8-asnprintf1.h: New file.
66165         * tests/unistdio/test-u8-printf1.h: New file.
66166         * tests/unistdio/test-u8-vasnprintf1.c: New file.
66167         * tests/unistdio/test-u8-vasnprintf2.c: New file.
66168         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
66169         * tests/unistdio/test-u8-vasnprintf3.c: New file.
66170         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
66171         * tests/unistdio/test-u8-vasprintf1.c: New file.
66172         * tests/unistdio/test-u8-vsnprintf1.c: New file.
66173         * tests/unistdio/test-u8-vsprintf1.c: New file.
66174         * tests/unistdio/test-u16-asnprintf1.c: New file.
66175         * tests/unistdio/test-u16-asnprintf1.h: New file.
66176         * tests/unistdio/test-u16-printf1.h: New file.
66177         * tests/unistdio/test-u16-vasnprintf1.c: New file.
66178         * tests/unistdio/test-u16-vasnprintf2.c: New file.
66179         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
66180         * tests/unistdio/test-u16-vasnprintf3.c: New file.
66181         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
66182         * tests/unistdio/test-u16-vasprintf1.c: New file.
66183         * tests/unistdio/test-u16-vsnprintf1.c: New file.
66184         * tests/unistdio/test-u16-vsprintf1.c: New file.
66185         * tests/unistdio/test-u32-asnprintf1.c: New file.
66186         * tests/unistdio/test-u32-asnprintf1.h: New file.
66187         * tests/unistdio/test-u32-printf1.h: New file.
66188         * tests/unistdio/test-u32-vasnprintf1.c: New file.
66189         * tests/unistdio/test-u32-vasnprintf2.c: New file.
66190         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
66191         * tests/unistdio/test-u32-vasnprintf3.c: New file.
66192         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
66193         * tests/unistdio/test-u32-vasprintf1.c: New file.
66194         * tests/unistdio/test-u32-vsnprintf1.c: New file.
66195         * tests/unistdio/test-u32-vsprintf1.c: New file.
66196         * modules/unistdio/base: New file.
66197         * modules/unistdio/u-printf-args: New file.
66198         * modules/unistdio/ulc-asnprintf: New file.
66199         * modules/unistdio/ulc-asprintf: New file.
66200         * modules/unistdio/ulc-fprintf: New file.
66201         * modules/unistdio/ulc-printf-parse: New file.
66202         * modules/unistdio/ulc-snprintf: New file.
66203         * modules/unistdio/ulc-sprintf: New file.
66204         * modules/unistdio/ulc-vasnprintf: New file.
66205         * modules/unistdio/ulc-vasprintf: New file.
66206         * modules/unistdio/ulc-vfprintf: New file.
66207         * modules/unistdio/ulc-vsnprintf: New file.
66208         * modules/unistdio/ulc-vsprintf: New file.
66209         * modules/unistdio/u8-asnprintf: New file.
66210         * modules/unistdio/u8-asprintf: New file.
66211         * modules/unistdio/u8-printf-parse: New file.
66212         * modules/unistdio/u8-snprintf: New file.
66213         * modules/unistdio/u8-sprintf: New file.
66214         * modules/unistdio/u8-vasnprintf: New file.
66215         * modules/unistdio/u8-vasprintf: New file.
66216         * modules/unistdio/u8-vsnprintf: New file.
66217         * modules/unistdio/u8-vsprintf: New file.
66218         * modules/unistdio/u8-u8-asnprintf: New file.
66219         * modules/unistdio/u8-u8-asprintf: New file.
66220         * modules/unistdio/u8-u8-snprintf: New file.
66221         * modules/unistdio/u8-u8-sprintf: New file.
66222         * modules/unistdio/u8-u8-vasnprintf: New file.
66223         * modules/unistdio/u8-u8-vasprintf: New file.
66224         * modules/unistdio/u8-u8-vsnprintf: New file.
66225         * modules/unistdio/u8-u8-vsprintf: New file.
66226         * modules/unistdio/u16-asnprintf: New file.
66227         * modules/unistdio/u16-asprintf: New file.
66228         * modules/unistdio/u16-printf-parse: New file.
66229         * modules/unistdio/u16-snprintf: New file.
66230         * modules/unistdio/u16-sprintf: New file.
66231         * modules/unistdio/u16-vasnprintf: New file.
66232         * modules/unistdio/u16-vasprintf: New file.
66233         * modules/unistdio/u16-vsnprintf: New file.
66234         * modules/unistdio/u16-vsprintf: New file.
66235         * modules/unistdio/u16-u16-asnprintf: New file.
66236         * modules/unistdio/u16-u16-asprintf: New file.
66237         * modules/unistdio/u16-u16-snprintf: New file.
66238         * modules/unistdio/u16-u16-sprintf: New file.
66239         * modules/unistdio/u16-u16-vasnprintf: New file.
66240         * modules/unistdio/u16-u16-vasprintf: New file.
66241         * modules/unistdio/u16-u16-vsnprintf: New file.
66242         * modules/unistdio/u16-u16-vsprintf: New file.
66243         * modules/unistdio/u32-asnprintf: New file.
66244         * modules/unistdio/u32-asprintf: New file.
66245         * modules/unistdio/u32-printf-parse: New file.
66246         * modules/unistdio/u32-snprintf: New file.
66247         * modules/unistdio/u32-sprintf: New file.
66248         * modules/unistdio/u32-vasnprintf: New file.
66249         * modules/unistdio/u32-vasprintf: New file.
66250         * modules/unistdio/u32-vsnprintf: New file.
66251         * modules/unistdio/u32-vsprintf: New file.
66252         * modules/unistdio/u32-u32-asnprintf: New file.
66253         * modules/unistdio/u32-u32-asprintf: New file.
66254         * modules/unistdio/u32-u32-snprintf: New file.
66255         * modules/unistdio/u32-u32-sprintf: New file.
66256         * modules/unistdio/u32-u32-vasnprintf: New file.
66257         * modules/unistdio/u32-u32-vasprintf: New file.
66258         * modules/unistdio/u32-u32-vsnprintf: New file.
66259         * modules/unistdio/u32-u32-vsprintf: New file.
66260         * modules/unistdio/ulc-asnprintf-tests: New file.
66261         * modules/unistdio/ulc-vasnprintf-tests: New file.
66262         * modules/unistdio/ulc-vasprintf-tests: New file.
66263         * modules/unistdio/ulc-vsnprintf-tests: New file.
66264         * modules/unistdio/ulc-vsprintf-tests: New file.
66265         * modules/unistdio/u8-asnprintf-tests: New file.
66266         * modules/unistdio/u8-vasnprintf-tests: New file.
66267         * modules/unistdio/u8-vasprintf-tests: New file.
66268         * modules/unistdio/u8-vsnprintf-tests: New file.
66269         * modules/unistdio/u8-vsprintf-tests: New file.
66270         * modules/unistdio/u16-asnprintf-tests: New file.
66271         * modules/unistdio/u16-vasnprintf-tests: New file.
66272         * modules/unistdio/u16-vasprintf-tests: New file.
66273         * modules/unistdio/u16-vsnprintf-tests: New file.
66274         * modules/unistdio/u16-vsprintf-tests: New file.
66275         * modules/unistdio/u32-asnprintf-tests: New file.
66276         * modules/unistdio/u32-vasnprintf-tests: New file.
66277         * modules/unistdio/u32-vasprintf-tests: New file.
66278         * modules/unistdio/u32-vsnprintf-tests: New file.
66279         * modules/unistdio/u32-vsprintf-tests: New file.
66280         * MODULES.html.sh (Unicode string functions): Add the new modules.
66281
66282 2007-07-01  Bruno Haible  <bruno@clisp.org>
66283
66284         * lib/sprintf.c (sprintf): Limit the available length estimation,
66285         to avoid address wraparound.
66286         * lib/vsprintf.c (vsprintf): Likewise.
66287         * modules/sprintf-posix (Dependencies): Add stdint.
66288         * modules/vsprintf-posix (Dependencies): Likewise.
66289
66290 2007-07-01  Bruno Haible  <bruno@clisp.org>
66291
66292         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
66293         Windows PATH as well. Conservative double-quoting. Comments.
66294
66295 2007-07-01  Bruno Haible  <bruno@clisp.org>
66296             Eric Blake  <ebb9@byu.net>
66297             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66298
66299         * gnulib-tool (self_abspathname): Fix algorithm to cope with
66300         empty components in $PATH, denoting '.'.
66301
66302 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66303
66304         * gnulib-tool: Fix indentation.
66305         (func_create_megatestdir): Likewise.
66306         Report by Bruno Haible.
66307
66308 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66309
66310         Sync from Automake.
66311         * build-aux/gnupload: Fix shell portability issues with for loops.
66312         Report by Karl Berry.
66313
66314 2007-06-29  Simon Josefsson  <simon@josefsson.org>
66315
66316         * build-aux/maint.mk (POURL): Use translationproject.org.
66317
66318 2007-06-27  Simon Josefsson  <simon@josefsson.org>
66319             Bruno Haible  <bruno@clisp.org>
66320
66321         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
66322         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
66323         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
66324         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
66325         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
66326
66327 2007-06-27  Bruno Haible  <bruno@clisp.org>
66328
66329         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
66330         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
66331
66332 2007-06-26  Karl Berry  <karl@gnu.org>
66333
66334         * MODULES.html.sh: remove xreadlink-with-size.
66335
66336 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66337
66338         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
66339         method that I hope also handles the double-include problem noted
66340         by Bruno Haible in
66341         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
66342
66343 2007-06-23  Bruno Haible  <bruno@clisp.org>
66344
66345         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66346         Don't let the 'mostlyclean' target fail if the last subdirectory could
66347         not be removed.
66348         Reported by Karl Berry.
66349
66350 2007-06-23  Bruno Haible  <bruno@clisp.org>
66351
66352         * gnulib-tool (echo): Add a speedier workaround for ksh.
66353         * tests/test-echo.sh: Likewise.
66354
66355 2007-06-23  Bruno Haible  <bruno@clisp.org>
66356
66357         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
66358         * tests/test-echo.sh: Likewise.
66359
66360 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66361
66362         * gnulib-tool (IFS): Initialize early, so we don't set it to
66363         empty later.
66364         (self_abspathname): Rewrite algorithm to set it, reindent.
66365         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
66366         (func_create_megatestdir): Merge some sed scripts.
66367
66368 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66369
66370         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
66371         exposed by Sun Studio 11 cc on Solaris 8.
66372
66373 2007-06-22  Bruno Haible  <bruno@clisp.org>
66374
66375         * gnulib-tool (echo): Ensure the echo primitive does not interpret
66376         backslashes.
66377         * tests/test-echo.sh: New file.
66378
66379 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66380
66381         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
66382         simplify `sed_replace_build_aux' scripts, they are portable but
66383         echoing them with `echo' is not.
66384         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
66385
66386 2007-06-21  Karl Berry  <karl@gnu.org>
66387
66388         * config/srclist.txt: guess we can't handle the licenses via
66389         srclist at the moment.
66390
66391 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
66392
66393         * MODULES.html.sh: Add include_next.
66394         * modules/include_next: New file.
66395
66396 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
66397
66398         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
66399         INCLUDE_NEXT.
66400         (gl_CHECK_NEXT_HEADERS): New macro.
66401         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
66402         the obsolescent gl_ABSOLUTE_HEADER.
66403         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
66404         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
66405         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
66406         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
66407         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66408         * m4/math_h.m4 (gl_MATH_H): Likewise.
66409         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
66410         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
66411         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
66412         * m4/stdint.m4 (gl_STDINT_H): Likewise.
66413         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
66414         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
66415         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
66416         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
66417         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
66418         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
66419         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
66420         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
66421         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
66422         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
66423         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
66424         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
66425         * m4/inttypes.m4 (gl_INTTYPES_H): Define
66426         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
66427         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
66428         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
66429         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
66430         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
66431         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
66432         * lib/float_.h: Likewise.
66433         * lib/inttypes_.h: Likewise.
66434         * lib/math_.h: Likewise.
66435         * lib/search_.h: Likewise.
66436         * lib/signal_.h: Likewise.
66437         * lib/stdint_.h: Likewise.
66438         * lib/stdio_.h: Likewise.
66439         * lib/stdlib_.h: Likewise.
66440         * lib/string_.h: Likewise.
66441         * lib/sys_stat_.h: Likewise.
66442         * lib/sys_time_.h: Likewise.
66443         * lib/time_.h: Likewise.
66444         * lib/unistd_.h: Likewise.
66445         * lib/wchar_.h: Likewise.
66446         * lib/wctype_.h: Likewise.
66447         * lib/dirent_.h: Likewise.
66448         * lib/iconv_.h: Likewise.
66449         * lib/locale_.h: Likewise.
66450         * lib/netinet_in_.h: Likewise.
66451         * lib/sys_select_.h: Likewise.
66452         * lib/sys_socket_.h: Likewise.
66453         * lib/sysexits_.h: Likewise.
66454         * modules/fcntl (Depends-on): Depend on include_next, not
66455         absolute_header.
66456         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
66457         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
66458         * modules/fchdir: Likewise.
66459         * modules/float: Likewise.
66460         * modules/iconv_open: Likewise.
66461         * modules/inttypes: Likewise.
66462         * modules/locale: Likewise.
66463         * modules/math: Likewise.
66464         * modules/netinet_in: Likewise.
66465         * modules/search: Likewise.
66466         * modules/signal: Likewise.
66467         * modules/stdint: Likewise.
66468         * modules/stdio: Likewise.
66469         * modules/stdlib: Likewise.
66470         * modules/string: Likewise.
66471         * modules/sys_select: Likewise.
66472         * modules/sys_socket: Likewise.
66473         * modules/sys_stat: Likewise.
66474         * modules/sys_time: Likewise.
66475         * modules/sysexits: Likewise.
66476         * modules/time: Likewise.
66477         * modules/unistd: Likewise.
66478         * modules/wchar: Likewise.
66479         * modules/wctype: Likewise.
66480         * modules/sys_stat: Change maintainer to "all".
66481         * modules/unistd: Likewise.
66482
66483 2007-06-20  Karl Berry  <karl@gnu.org>
66484
66485         * config/srclist.txt: track www changes in license files.
66486
66487 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
66488
66489         * build-aux/bootstrap: Remove stray dot.
66490         Make sure build_aux settings are honored when linking
66491         gnulib_extra_files.
66492
66493 2007-06-19  Eric Blake  <ebb9@byu.net>
66494
66495         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
66496         Allow compilation on cygwin.
66497
66498 2007-06-19  Jim Meyering  <jim@meyering.net>
66499
66500         xreadlink-with-size: Remove module.  No longer used.
66501         Ex-callers now use xreadlink or mreadlink-with-size.
66502         * modules/xreadlink-with-size: Remove module.
66503         * lib/xreadlink-with-size.c: Remove file.
66504         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
66505         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
66506         just before the function definition *is* accurate.
66507
66508         Eliminate one way canonicalize_filename_mode could exit.
66509         * lib/canonicalize.c (canonicalize_filename_mode):
66510         Use mreadlink_with_size, not xreadlink_with_size.
66511
66512 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
66513
66514         Detect porting problems to FreeBSD/arm, which has time_t wider than
66515         long int.  Original problem reported for GNU diff by Xin Li in
66516         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
66517         * modules/getdate (Depends-on): Add intprops, verify.
66518         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
66519         is an integer type no wider than long int.
66520
66521 2007-06-18  Jim Meyering  <jim@meyering.net>
66522
66523         New module: mreadlink-with-size.
66524         * MODULES.html.sh: Add mreadlink-with-size.
66525         * modules/mreadlink-with-size: New module
66526         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
66527         not xreadlink-with-size.
66528         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
66529
66530 2007-06-16  Bruno Haible  <bruno@clisp.org>
66531
66532         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
66533         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
66534         Reported by Gary V. Vaughan <gary@gnu.org>.
66535
66536 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
66537
66538         Revamp lchown so that it lives in unistd.h where it belongs.
66539         * lib/lchown.h: Remove.
66540         * lib/dirchownmod.c: Don't include lib/lchown.h.
66541         * lib/fchownat.c: Likewise.
66542         * lib/openat.c: Likewise.
66543         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
66544         does not follow symlinks.
66545         (EOPNOTSUPP): Define if not defined.
66546         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
66547         is defined to 0.
66548         (lchown): New decl.
66549         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
66550         Do not check for lchown decl.
66551         Set REPLACE_LCHOWN.
66552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
66553         REPLACE_LCHOWN.
66554         * modules/chown: Make it clear it follows symlinks.
66555         * modules/lchown: Make it clear it doesn't follow symlinks.
66556         (Files): Remove lib/lchown.h
66557         (Depends-on): Add unistd.
66558         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
66559         (Include): Include <unistd.h>, not "lchown.h".
66560         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
66561         REPLACE_LCHOWN.
66562
66563 2007-06-15  Jim Meyering  <jim@meyering.net>
66564
66565         Change license (GPL to LGPL) of fsusage and dependents.
66566         * modules/fsusage (License): Change to LGPL.
66567         * modules/full-read (License): Likewise.
66568         * modules/full-write (License): Likewise.
66569         * modules/safe-read (License): Likewise.
66570         * modules/safe-write (License): Likewise.
66571
66572 2007-06-14  Ben Pfaff  <blp@gnu.org>
66573
66574         Missing part of allocsa -> malloca transition.
66575         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
66576         gl_MALLOCA.
66577
66578 2007-06-12  Bruno Haible  <bruno@clisp.org>
66579
66580         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
66581         to ia64, x86_64, i386.
66582         Reported by Eric Blake.
66583
66584 2007-06-12  Bruno Haible  <bruno@clisp.org>
66585
66586         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
66587         cross-compiling to x86_64.
66588
66589 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
66590
66591         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
66592         glitch reported by Ralf Wildenhues in
66593         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
66594
66595         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
66596         Vin Shelton.
66597
66598 2007-06-11  Bruno Haible  <bruno@clisp.org>
66599
66600         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
66601         replacement string.
66602         Reported by Eric Blake.
66603
66604 2007-06-10  Bruno Haible  <bruno@clisp.org>
66605
66606         Prepare vasnprintf code for use with Unicode strings.
66607         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
66608         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
66609         TYPE_U32_STRING.
66610         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
66611         a_u32_string variants.
66612         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66613         * lib/printf-args.c: Don't include config.h and the specification
66614         header if PRINTF_FETCHARGS is already defined.
66615         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66616         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
66617         TYPE_U16_STRING, TYPE_U32_STRING.
66618         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
66619         u16_directive, u16_directives, u32_directive, u32_directives): New
66620         types.
66621         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
66622         New declarations.
66623         * lib/printf-parse.c: Don't include config.h and the specification
66624         header if PRINTF_PARSE is already defined. Eliminate the set of
66625         parameters for WIDE_CHAR_VERSION; the user of this file must provide
66626         them now. Include c-ctype.h.
66627         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
66628         directive and CHAR_T_ONLY_ASCII.
66629         * lib/vasnprintf.c: Don't include config.h and the specification header
66630         if VASNPRINTF is already defined.
66631         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
66632         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
66633         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
66634         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
66635         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
66636         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
66637         code accordingly.
66638         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
66639         pad_ourselves also in this case, with the 'c' and 's' directives, and
66640         with a different notion of "width".
66641         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
66642
66643 2007-06-10  Bruno Haible  <bruno@clisp.org>
66644
66645         * modules/unistr/u32-mbsnlen: New file.
66646         * lib/unistr/u32-mbsnlen.c: New file.
66647
66648         * modules/unistr/u16-mbsnlen: New file.
66649         * lib/unistr/u16-mbsnlen.c: New file.
66650
66651         * modules/unistr/u8-mbsnlen: New file.
66652         * lib/unistr/u8-mbsnlen.c: New file.
66653
66654         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
66655         declarations.
66656
66657 2007-06-10  Bruno Haible  <bruno@clisp.org>
66658
66659         * lib/string_.h (mbsnlen): New declaration.
66660         * lib/mbsnlen.c: New file.
66661         * m4/mbsnlen.m4: New file.
66662         * modules/mbsnlen: New file.
66663         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
66664         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
66665         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
66666
66667 2007-06-10  Bruno Haible  <bruno@clisp.org>
66668
66669         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
66670
66671 2007-06-10  Bruno Haible  <bruno@clisp.org>
66672
66673         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
66674         * lib/mbuiter.h: Likewise.
66675
66676 2007-06-10  Bruno Haible  <bruno@clisp.org>
66677
66678         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
66679         declaration.
66680
66681 2007-06-10  Karl Berry  <karl@gnu.org>
66682
66683         * config/srclist.txt: remove gettext entries, Bruno prefers
66684         to update individually.
66685
66686 2007-06-10  Bruno Haible  <bruno@clisp.org>
66687
66688         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
66689         'maxlen'. Ensure only length + width bytes are allocated, not
66690         length + 1 + width.
66691
66692 2007-06-09  Bruno Haible  <bruno@clisp.org>
66693
66694         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
66695         (CHAR_T): Remove macro.
66696         (VASNPRINTF): Update.
66697
66698 2007-06-09  Bruno Haible  <bruno@clisp.org>
66699
66700         * MODULES.html.sh (Unicode string functions): Add the new modules.
66701
66702         * modules/uniconv/u32-conv-to-enc: New file.
66703         * lib/uniconv/u32-conv-to-enc.c: New file.
66704         * modules/uniconv/u32-conv-to-enc-tests: New file.
66705         * tests/uniconv/test-u32-conv-to-enc.c: New file.
66706
66707         * modules/uniconv/u16-conv-to-enc: New file.
66708         * lib/uniconv/u16-conv-to-enc.c: New file.
66709         * lib/uniconv/u-conv-to-enc.h: New file.
66710         * modules/uniconv/u16-conv-to-enc-tests: New file.
66711         * tests/uniconv/test-u16-conv-to-enc.c: New file.
66712
66713         * modules/uniconv/u8-conv-to-enc: New file.
66714         * lib/uniconv/u8-conv-to-enc.c: New file.
66715         * modules/uniconv/u8-conv-to-enc-tests: New file.
66716         * tests/uniconv/test-u8-conv-to-enc.c: New file.
66717
66718         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66719         u32_conv_to_encoding): New declarations.
66720
66721 2007-06-09  Bruno Haible  <bruno@clisp.org>
66722
66723         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
66724
66725 2007-06-09  Bruno Haible  <bruno@clisp.org>
66726
66727         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
66728         * modules/malloca: Renamed from modules/allocsa, updated.
66729         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
66730         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
66731         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
66732         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
66733         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
66734         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
66735         * modules/xmalloca: Renamed from modules/xallocsa, updated.
66736         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
66737         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
66738         * modules/c-strcasestr (Depends-on): Update.
66739         * lib/c-strcasestr.c: Update.
66740         * modules/c-strstr (Depends-on): Update.
66741         * lib/c-strstr.c: Update.
66742         * modules/canonicalize-lgpl (Depends-on): Update.
66743         * lib/canonicalize-lgpl.c: Update.
66744         * modules/clean-temp (Depends-on): Update.
66745         * lib/clean-temp.c: Update.
66746         * modules/csharpcomp (Depends-on): Update.
66747         * lib/csharpcomp.c: Update.
66748         * modules/csharpexec (Depends-on): Update.
66749         * lib/csharpexec.c: Update.
66750         * modules/javacomp (Depends-on): Update.
66751         * lib/javacomp.c: Update.
66752         * modules/javaexec (Depends-on): Update.
66753         * lib/javaexec.c: Update.
66754         * modules/mbscasestr (Depends-on): Update.
66755         * lib/mbscasestr.c: Update.
66756         * modules/mbsstr (Depends-on): Update.
66757         * lib/mbsstr.c: Update.
66758         * modules/setenv (Depends-on): Update.
66759         * lib/setenv.c: Update.
66760         * modules/strcasestr (Depends-on): Update.
66761         * lib/strcasestr.c: Update.
66762         * modules/striconveha (Depends-on): Update.
66763         * lib/striconveha.c: Update.
66764         * modules/relocatable-prog-wrapper (Files): Update.
66765         * lib/relocwrapper.c: Update.
66766         * build-aux/install-reloc: Update.
66767         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
66768
66769 2007-06-08  Bruno Haible  <bruno@clisp.org>
66770
66771         Port to uClibc.
66772         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
66773         * lib/fpurge.c (fpurge): Likewise.
66774         * lib/freading.c (freading): Likewise.
66775         * lib/fseeko.c (rpl_fseeko): Likewise.
66776         * lib/fseterr.c (fseterr): Likewise.
66777         * lib/fwriting.c (fwriting): Likewise.
66778         * tests/test-fflush.c (main): Avoid a failure on uClibc.
66779
66780 2007-06-08  Bruno Haible  <bruno@clisp.org>
66781
66782         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
66783         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
66784         * modules/gettext (Files): Add m4/intlmacosx.m4.
66785
66786 2007-06-07  Bruno Haible  <bruno@clisp.org>
66787
66788         * modules/localename-tests: New file.
66789         * tests/test-localename.c: New file.
66790
66791         New module 'localename'.
66792         * lib/localename.h: New file.
66793         * lib/localename.c: New file, from GNU gettext.
66794         * m4/localename.m4: New file.
66795         * modules/localename: New file.
66796
66797 2007-06-07  Bruno Haible  <bruno@clisp.org>
66798
66799         Work around the lack of <wchar.h> on some builds of uClibc.
66800         * doc/headers/wchar.texi: Update.
66801         * lib/wchar_.h: Include <wchar.h> only if it exists.
66802         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
66803         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
66804         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
66805         doesn't exist.
66806         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
66807         * modules/mbfile (Depends-on): Add wchar.
66808         * modules/mbiter (Depends-on): Likewise.
66809         * modules/mbuiter (Depends-on): Likewise.
66810         Reported by Simon Josefsson.
66811
66812 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
66813
66814         Work around problem reported by Steven M. Schweda in
66815         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
66816         Tru64 5.1B with the Compaq compiler environment installed declares
66817         an 'isblank' function but does not define it in the C library.
66818         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
66819         * lib/regex_internal.h (isblank): Likewise.
66820         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
66821         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66822
66823 2007-06-05  Bruno Haible  <bruno@clisp.org>
66824
66825         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
66826         ia64.
66827         * modules/printf-safe: New file.
66828         * modules/fprintf-posix (Depends-on): Add printf-safe.
66829         * modules/printf-posix (Depends-on): Likewise.
66830         * modules/snprintf-posix (Depends-on): Likewise.
66831         * modules/sprintf-posix (Depends-on): Likewise.
66832         * modules/vasnprintf-posix (Depends-on): Likewise.
66833         * modules/vasprintf-posix (Depends-on): Likewise.
66834         * modules/vfprintf-posix (Depends-on): Likewise.
66835         * modules/vprintf-posix (Depends-on): Likewise.
66836         * modules/vsnprintf-posix (Depends-on): Likewise.
66837         * modules/vsprintf-posix (Depends-on): Likewise.
66838         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
66839         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
66840         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
66841         "no" on i386, x86_64, ia64.
66842         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
66843         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66844         on i386, x86_64, ia64.
66845         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
66846         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66847         on i386, x86_64, ia64.
66848         * tests/test-vasnprintf-posix.c: Include float.h.
66849         (LDBL80_WORDS): New macro.
66850         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66851         on i386, x86_64, ia64.
66852         * tests/test-vasprintf-posix.c: Include float.h.
66853         (LDBL80_WORDS): New macro.
66854         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66855         on i386, x86_64, ia64.
66856         * tests/test-snprintf-posix.c: Include float.h.
66857         * tests/test-sprintf-posix.c: Likewise.
66858         * tests/test-vsnprintf-posix.c: Likewise.
66859         * tests/test-vsprintf-posix.c: Likewise.
66860
66861 2007-06-05  Bruno Haible  <bruno@clisp.org>
66862
66863         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
66864         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
66865         non-IEEE numbers on i386, x86_64, ia64.
66866         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
66867         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
66868         * tests/test-isnanl.h: Include float.h.
66869         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
66870
66871 2007-06-05  Bruno Haible  <bruno@clisp.org>
66872
66873         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
66874         also the %a / %A. Handle the %a / %A code before this extra handling.
66875
66876 2007-06-05  Bruno Haible  <bruno@clisp.org>
66877
66878         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
66879         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
66880
66881 2007-06-05  Bruno Haible  <bruno@clisp.org>
66882
66883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
66884         typo in variable name.
66885
66886 2007-06-05  Eric Blake  <ebb9@byu.net>
66887
66888         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
66889         Reported by Simon Josefsson.
66890
66891 2007-06-04  Bruno Haible  <bruno@clisp.org>
66892
66893         Avoid test failures on some PowerPC platforms.
66894         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
66895         Define differently for PowerPC.
66896         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
66897         Reported by Gary V. Vaughan <gary@gnu.org>.
66898
66899 2007-06-02  Bruno Haible  <bruno@clisp.org>
66900
66901         Fix test-stdint failure on FreeBSD/ia64.
66902         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
66903         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
66904         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
66905         * doc/headers/stdint.texi: Update.
66906
66907 2007-06-01  Bruno Haible  <bruno@clisp.org>
66908
66909         * tests/test-binary-io.c (main): Pass a third argument to open().
66910         Reported by Gary V. Vaughan <gary@gnu.org>.
66911
66912 2007-06-01  Bruno Haible  <bruno@clisp.org>
66913
66914         * doc/functions/frexpl.texi: Update for mingw.
66915
66916 2007-06-01  Bruno Haible  <bruno@clisp.org>
66917
66918         * tests/test-lseek.c (main): Disable test of errno for invalid third
66919         argument.
66920         * doc/functions/lseek.texi: Update.
66921         Reported by Gary V. Vaughan <gary@gnu.org>.
66922
66923 2007-05-28  Bruno Haible  <bruno@clisp.org>
66924
66925         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
66926
66927 2007-05-31  Eric Blake  <ebb9@byu.net>
66928
66929         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
66930         cross compiling.
66931
66932 2007-05-30  Eric Blake  <ebb9@byu.net>
66933         and Bruno Haible  <bruno@clisp.org>
66934
66935         Work around mingw test failures exposed by m4-1.4.9b.
66936         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
66937         * tests/test-unistd.c: Disable uid_t and git_t tests for the
66938         moment.
66939
66940 2007-05-30  Bruno Haible  <bruno@clisp.org>
66941
66942         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66943         assuming that they are closed. Needed on HP-UX 11.
66944
66945 2007-05-29  Bruno Haible  <bruno@clisp.org>
66946
66947         Fix a problem with #include_next.
66948         * lib/dirent_.h: Split the double-inclusion guard.
66949         * lib/fcntl_.h: Likewise.
66950         * lib/float_.h: Likewise.
66951         * lib/iconv_.h: Likewise.
66952         * lib/inttypes_.h: Likewise.
66953         * lib/locale_.h: Likewise.
66954         * lib/math_.h: Likewise.
66955         * lib/netinet_in_.h: Likewise.
66956         * lib/search_.h: Likewise.
66957         * lib/signal_.h: Likewise.
66958         * lib/stdint_.h: Likewise.
66959         * lib/stdio_.h: Likewise.
66960         * lib/stdlib_.h: Likewise.
66961         * lib/string_.h: Likewise.
66962         * lib/sys_select_.h: Likewise.
66963         * lib/sys_socket_.h: Likewise.
66964         * lib/sys_stat_.h: Likewise.
66965         * lib/sys_time_.h: Likewise.
66966         * lib/sysexits_.h: Likewise.
66967         * lib/time_.h: Likewise.
66968         * lib/unistd_.h: Likewise.
66969         * lib/wchar_.h: Likewise.
66970         * lib/wctype_.h: Likewise.
66971
66972 2007-05-29  Bruno Haible  <bruno@clisp.org>
66973
66974         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66975         for the moment.
66976
66977 2007-05-29  Bruno Haible  <bruno@clisp.org>
66978
66979         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66980         invocation.
66981         Reported by Eric Blake.
66982
66983 2007-05-29  Bruno Haible  <bruno@clisp.org>
66984
66985         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66986         compiling case.
66987
66988 2007-05-29  Eric Blake  <ebb9@byu.net>
66989             Bruno Haible  <bruno@clisp.org>
66990
66991         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66992         cross compiles.
66993
66994 2007-05-28  Eric Blake  <ebb9@byu.net>
66995
66996         * modules/closein-tests (test_closein_LDADD): Support test on
66997         cygwin with libtool.
66998
66999 2007-05-28  Bruno Haible  <bruno@clisp.org>
67000
67001         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
67002         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
67003         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
67004         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
67005         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
67006         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
67007         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
67008         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
67009         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
67010
67011 2007-05-28  Eric Blake  <ebb9@byu.net>
67012
67013         Unconditionally include <config.h> in unit tests.
67014         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
67015         * tests/test-allocsa.c, tests/test-arcfour.c,
67016         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
67017         tests/test-array_list.c, tests/test-array_oset.c,
67018         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
67019         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
67020         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
67021         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
67022         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
67023         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
67024         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
67025         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
67026         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
67027         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
67028         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
67029         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
67030         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
67031         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
67032         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
67033         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
67034         test-md5.c, test-memmem.c, test-printf-posix.c,
67035         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
67036         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
67037         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
67038         test-strcasestr.c, test-striconv.c, test-striconveh.c,
67039         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
67040         test-vasnprintf-posix2.c, test-vasnprintf.c,
67041         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
67042         test-vfprintf-posix.c, test-vprintf-posix.c,
67043         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
67044         test-xvasprintf.c: Likewise.
67045
67046 2007-05-28  Bruno Haible  <bruno@clisp.org>
67047
67048         * gnulib-tool (func_import): Remember the --with-tests command-line
67049         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
67050         Reported by Eric Blake.
67051
67052 2007-05-28  Bruno Haible  <bruno@clisp.org>
67053
67054         * modules/ftell-tests: New file.
67055         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
67056         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
67057
67058         * lib/ftell.c: New file.
67059         * modules/ftell: New file.
67060         * m4/ftell.m4: New file.
67061         * doc/functions/ftell.texi: Update.
67062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
67063         REPLACE_FTELL.
67064         * lib/stdio_.h (rpl_ftell): New declaration.
67065         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
67066         REPLACE_FTELL.
67067
67068 2007-05-28  Eric Blake  <ebb9@byu.net>
67069
67070         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
67071
67072 2007-05-28  Bruno Haible  <bruno@clisp.org>
67073
67074         * modules/fseek-tests: New file.
67075         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
67076         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
67077
67078         * lib/fseek.c: New file.
67079         * modules/fseek: New file.
67080         * m4/fseek.m4: New file.
67081         * doc/functions/fseek.texi: Update.
67082         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
67083         REPLACE_FSEEK.
67084         * lib/stdio_.h (rpl_fseek): New declaration.
67085         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
67086         REPLACE_FSEEK.
67087
67088 2007-05-28  Bruno Haible  <bruno@clisp.org>
67089
67090         * lib/stdio_.h (fflush): More comments.
67091
67092 2007-05-28  Bruno Haible  <bruno@clisp.org>
67093
67094         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
67095         runtime test.
67096
67097 2007-05-28  Eric Blake  <ebb9@byu.net>
67098
67099         Improve lseek module.
67100         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
67101         * lib/unistd_.h (lseek): Scale back link warning message.
67102         * tests/test-lseek.c: Beef up test.
67103         * tests/test-lseek.sh: Exercise more facets of lseek.
67104         Reported by Bruno Haible.
67105
67106 2007-05-28  Bruno Haible  <bruno@clisp.org>
67107
67108         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
67109         to define.
67110
67111 2007-05-27  Bruno Haible  <bruno@clisp.org>
67112
67113         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
67114
67115 2007-05-27  Bruno Haible  <bruno@clisp.org>
67116
67117         * modules/openmp: New file.
67118         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
67119         Noah Misch.
67120
67121 2007-05-26  Bruno Haible  <bruno@clisp.org>
67122
67123         * modules/chdir-long (Depends-on): Add fchdir.
67124         * modules/chdir-safer (Depends-on): Likewise.
67125         * modules/fts (Depends-on): Likewise.
67126         * modules/fts-lgpl (Depends-on): Likewise.
67127         * modules/openat (Depends-on): Likewise.
67128         * modules/savewd (Depends-on): Likewise.
67129
67130 2007-05-24  Eric Blake  <ebb9@byu.net>
67131
67132         Fix lseek on mingw.
67133         * modules/lseek: New module.
67134         * m4/lseek.m4: New file.
67135         * lib/lseek.c: New file.
67136         * modules/lseek-tests: New file.
67137         * tests/test-lseek.c: New file.
67138         * tests/test-lseek.sh: New file.
67139         * MODULES.html.sh: Document lseek module.
67140         * modules/fflush (Depends-on): Add lseek, fseeko.
67141         * modules/fseeko (Depends-on): Likewise.
67142         * modules/ftello (Depends-on): Likewise.
67143         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
67144         broken.
67145         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
67146         broken.
67147         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
67148         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
67149         * lib/ftello.c (rpl_ftello): Likewise.
67150         * tests/test-fseeko.c (main): Test this.
67151         * tests/test-fseeko.sh: Likewise.
67152         * tests/test-ftello.c (main): Likewise.
67153         * tests/test-ftello.sh: Likewise.
67154         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
67155         implies replacing fseek.
67156         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
67157         HAVE_FTELLO.
67158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
67159         * modules/unistd (Makefile.am): Likewise.
67160         * lib/unistd_.h (lseek): Declare a replacement.
67161         * doc/functions/lseek.texi (lseek): Document this fix.
67162         * doc/functions/fseek.texi (fseek): Likewise.
67163         * doc/functions/ftell.texi (ftell): Likewise.
67164
67165 2007-05-24  Bruno Haible  <bruno@clisp.org>
67166
67167         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
67168         in the printed representation of a NaN.
67169         * tests/test-vasprintf-posix.c (test_function): Likewise.
67170         * tests/test-snprintf-posix.h (test_function): Likewise.
67171         * tests/test-sprintf-posix.h (test_function): Likewise.
67172         Reported by Eric Blake.
67173
67174 2007-05-23  Eric Blake  <ebb9@byu.net>
67175
67176         Fix fseeko/ftello on cygwin 1.5.24.
67177         * doc/functions/fseeko.texi (fseeko): Document the fix.
67178         * doc/functions/ftello.texi (ftello): Document the fix.
67179         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
67180         * doc/functions/stdout.text (stdout): New file.
67181         * doc/functions/stderr.text (stderr): New file.
67182         * doc/gnulib.texi (Function Substitutes): Use new files.
67183         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
67184         prior to 1.7.0.
67185         * tests/test-ftello.c (main): Likewise for ftello.
67186         * tests/test-fseeko.sh: New file.
67187         * tests/test-ftello.sh: New file.
67188         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
67189         with seekable stdin.
67190         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
67191         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
67192         (gl_REPLACE_FSEEKO): New macro.
67193         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
67194         * modules/fseeko (Files): Distribute fseeko.c.
67195         * modules/ftello (Files): Distribute ftello.c.
67196         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
67197         mode.
67198         * lib/ftello.c (rpl_ftello): New file.
67199         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
67200         fseeko, ftello.
67201         (gl_STDIN_LARGE_OFFSET): New macro.
67202         * modules/stdio (Makefile.am): Perform the replacement.
67203         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
67204
67205 2007-05-23  Bruno Haible  <bruno@clisp.org>
67206
67207         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
67208         GNULIB_POSIXCHECK is defined.
67209
67210 2007-05-21  Bruno Haible  <bruno@clisp.org>
67211
67212         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
67213         Check also the output for NaN arguments. When cross-compiling, guess
67214         no on IRIX.
67215         * lib/vasnprintf.c: Update comments.
67216         * tests/test-vasnprintf-posix.c (strisnan): New function.
67217         (test_function): Use it.
67218         * tests/test-vasprintf-posix.c (strisnan): New function.
67219         (test_function): Use it.
67220         * tests/test-snprintf-posix.h (strisnan): New function.
67221         (test_function): Use it.
67222         * tests/test-sprintf-posix.h (strisnan): New function.
67223         (test_function): Use it.
67224         Reported by Eric Blake.
67225
67226 2007-05-20  Bruno Haible  <bruno@clisp.org>
67227
67228         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
67229         numbers that fails on BeOS.
67230         * doc/functions/frexpl.texi: Update.
67231
67232 2007-05-20  Jim Meyering  <jim@meyering.net>
67233
67234         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
67235         forced upon us by glibc-2.6.
67236
67237 2007-05-20  Bruno Haible  <bruno@clisp.org>
67238
67239         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
67240         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
67241         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
67242         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
67243         NEED_PRINTF_INFINITE.
67244         (is_infinitel): New function.
67245         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
67246         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
67247         gl_PREREQ_VASNPRINTF_INFINITE.
67248         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
67249         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67250         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
67251         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
67252         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
67253         gl_PREREQ_VASNPRINTF_INFINITE.
67254         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67255         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67256         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67258         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67259         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67260         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67261         * doc/functions/fprintf.texi: Update.
67262         * doc/functions/printf.texi: Update.
67263         * doc/functions/snprintf.texi: Update.
67264         * doc/functions/sprintf.texi: Update.
67265         * doc/functions/vfprintf.texi: Update.
67266         * doc/functions/vprintf.texi: Update.
67267         * doc/functions/vsnprintf.texi: Update.
67268         * doc/functions/vsprintf.texi: Update.
67269
67270 2007-05-20  Bruno Haible  <bruno@clisp.org>
67271
67272         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
67273         was not found in libc.
67274         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67275
67276 2007-05-20  Bruno Haible  <bruno@clisp.org>
67277
67278         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
67279         printed as "-nan" instead of "nan".
67280         * tests/test-vasprintf-posix.c (test_function): Likewise.
67281         * tests/test-snprintf-posix.h (test_function): Likewise.
67282         * tests/test-sprintf-posix.h (test_function): Likewise.
67283         Needed for HP-UX 11.
67284
67285 2007-05-20  Jim Meyering  <jim@meyering.net>
67286
67287         Fix buggy test for the fchownat-deref bug.
67288         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
67289         symlink required for the run-test.  Without it, this test would
67290         always declare that fchownat doesn't work, and client code would
67291         unnecessarily use the replacement function with fixed libc.
67292         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
67293         Reported by Greg Schafer.
67294
67295 2007-05-19  Bruno Haible  <bruno@clisp.org>
67296
67297         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
67298         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
67299         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
67300         Needed for IRIX 6.5 and Solaris 2.5.1.
67301
67302 2007-05-19  Bruno Haible  <bruno@clisp.org>
67303
67304         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
67305         (test_function): Skip tests involving -0.0 on platforms where
67306         -0.0 = 0.0.
67307         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
67308         (test_function): Skip tests involving -0.0 on platforms where
67309         -0.0 = 0.0.
67310         * tests/test-snprintf-posix.h (have_minus_zero): New function.
67311         (test_function): Skip tests involving -0.0 on platforms where
67312         -0.0 = 0.0.
67313         * tests/test-sprintf-posix.h (have_minus_zero): New function.
67314         (test_function): Skip tests involving -0.0 on platforms where
67315         -0.0 = 0.0.
67316         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
67317         tests.
67318         * tests/test-printf-posix.h (test_function): Likewise.
67319         * tests/test-printf-posix.output: Remove all -0.0 related results.
67320         Needed for IRIX 6.5.
67321
67322 2007-05-19  Bruno Haible  <bruno@clisp.org>
67323
67324         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
67325         printed as "nan0x7fffffff" instead of "nan".
67326         * tests/test-vasprintf-posix.c (test_function): Likewise.
67327         * tests/test-snprintf-posix.h (test_function): Likewise.
67328         * tests/test-sprintf-posix.h (test_function): Likewise.
67329         * tests/test-fprintf-posix.h (NaN): Remove macro.
67330         (test_function): Remove all NaN related tests.
67331         * tests/test-printf-posix.h (NaN): Remove macro.
67332         (test_function): Remove all NaN related tests.
67333         * tests/test-printf-posix.output: Remove all NaN related results.
67334         Needed for IRIX 6.5.
67335
67336 2007-05-19  Bruno Haible  <bruno@clisp.org>
67337
67338         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
67339         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
67340
67341 2007-05-19  Bruno Haible  <bruno@clisp.org>
67342
67343         * lib/float_.h: New file.
67344         * m4/float_h.m4: New file.
67345         * modules/float: New file.
67346         * modules/isnanl (Dependencies): Add float.
67347         * modules/isnanl-nolibm (Dependencies): Likewise.
67348         * modules/mathl (Dependencies): Likewise.
67349         * modules/printf-frexpl (Dependencies): Likewise.
67350         * modules/signbit (Dependencies): Likewise.
67351         * modules/vasnprintf (Dependencies): Likewise.
67352         * doc/headers/float.texi: Update.
67353
67354 2007-05-19  Jim Meyering  <jim@meyering.net>
67355
67356         * lib/utimens.c (gl_futimens): Rename from futimens,
67357         now that glibc-2.6 declares futimens.
67358         * lib/utimens.h: Likewise.
67359
67360 2007-05-19  Bruno Haible  <bruno@clisp.org>
67361
67362         Avoid test failures on mingw.
67363         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
67364         * tests/test-printf-posix.sh: Likewise.
67365         * tests/test-vfprintf-posix.sh: Likewise.
67366         * tests/test-vprintf-posix.sh: Likewise.
67367
67368 2007-05-19  Bruno Haible  <bruno@clisp.org>
67369
67370         Fix *printf result for NaN, Inf, -0.0 on mingw.
67371         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
67372         * lib/vasnprintf.c: Include math.h and isnan.h.
67373         (is_infinite_or_zero): New function.
67374         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
67375         values in the %f, %F, %e, %E, %g, %G directives.
67376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
67377         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67378         gl_PRINTF_INFINITE and test its result. Invoke
67379         gl_PREREQ_VASNPRINTF_INFINITE.
67380         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67381         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67382         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67383         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67384         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67386         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67387         * doc/functions/fprintf.texi: Update.
67388         * doc/functions/printf.texi: Update.
67389         * doc/functions/snprintf.texi: Update.
67390         * doc/functions/sprintf.texi: Update.
67391         * doc/functions/vfprintf.texi: Update.
67392         * doc/functions/vprintf.texi: Update.
67393         * doc/functions/vsnprintf.texi: Update.
67394         * doc/functions/vsprintf.texi: Update.
67395
67396 2007-05-19  Bruno Haible  <bruno@clisp.org>
67397
67398         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
67399         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
67400         Instead of multiplying with 10^k, set extra_zeroes to k.
67401         (scale10_round_long_double): Remove function.
67402
67403 2007-05-18  Bruno Haible  <bruno@clisp.org>
67404
67405         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
67406         introduced on 2007-05-06.
67407
67408 2007-05-18  Bruno Haible  <bruno@clisp.org>
67409
67410         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
67411         %g directives.
67412         * tests/test-vasprintf-posix.c (test_function): Likewise.
67413         * tests/test-snprintf-posix.h (test_function): Likewise.
67414         * tests/test-sprintf-posix.h (test_function): Likewise.
67415
67416 2007-05-18  Bruno Haible  <bruno@clisp.org>
67417
67418         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
67419         (strmatch): New function.
67420         (test_function): Test the %f directive on numbers of various exponents.
67421         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
67422         (strmatch): New function.
67423         (test_function): Test the %f directive on numbers of various exponents.
67424         * tests/test-snprintf-posix.h (strmatch): New function.
67425         (test_function): Test the %f directive on numbers of various exponents.
67426         * tests/test-sprintf-posix.h (strmatch): New function.
67427         (test_function): Test the %f directive on numbers of various exponents.
67428         * tests/test-snprintf-posix.c (SIZEOF): New macro.
67429         * tests/test-sprintf-posix.c (SIZEOF): New macro.
67430         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
67431         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
67432
67433 2007-05-18  Bruno Haible  <bruno@clisp.org>
67434
67435         Add support for 'long double' number output.
67436         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
67437         * lib/vasnprintf.c: Include math.h and float+.h.
67438         (mp_limb_t): New type.
67439         (GMP_LIMB_BITS): New macro.
67440         (mp_twolimb_t): New type.
67441         (GMP_TWOLIMB_BITS): New macro.
67442         (mpn_t): New type.
67443         (multiply, divide, convert_to_decimal, decode_long_double,
67444         scale10_round_long_double, scale10_round_decimal_long_double,
67445         floorlog10l): New functions.
67446         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
67447         for the %f, %F, %e, %E, %g, %G directives.
67448         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
67449         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67450         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
67451         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
67452         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67453         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67454         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67455         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67456         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67457         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67458         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67459         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
67460         * modules/snprintf-posix (Depends-on): Likewise.
67461         * modules/sprintf-posix (Depends-on): Likewise.
67462         * modules/vasnprintf-posix (Depends-on): Likewise.
67463         * modules/vasprintf-posix (Depends-on): Likewise.
67464         * modules/vfprintf-posix (Depends-on): Likewise.
67465         * modules/vsnprintf-posix (Depends-on): Likewise.
67466         * modules/vsprintf-posix (Depends-on): Likewise.
67467         * modules/vasnprintf (Files): Add lib/float+.h.
67468         * doc/functions/fprintf.texi: Update.
67469         * doc/functions/printf.texi: Update.
67470         * doc/functions/snprintf.texi: Update.
67471         * doc/functions/sprintf.texi: Update.
67472         * doc/functions/vfprintf.texi: Update.
67473         * doc/functions/vprintf.texi: Update.
67474         * doc/functions/vsnprintf.texi: Update.
67475         * doc/functions/vsprintf.texi: Update.
67476
67477 2007-05-18  Bruno Haible  <bruno@clisp.org>
67478
67479         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
67480
67481 2007-05-18  Bruno Haible  <bruno@clisp.org>
67482
67483         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
67484         for printing 64-bit integers. Needed for mingw.
67485
67486 2007-05-18  Bruno Haible  <bruno@clisp.org>
67487
67488         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67489         gl_FUNC_FREXPL_WORKS.
67490         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
67491
67492 2007-05-18  Bruno Haible  <bruno@clisp.org>
67493
67494         * modules/frexpl-nolibm-tests: New file.
67495
67496         * modules/frexpl-nolibm: New file.
67497         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
67498
67499 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67500
67501         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
67502         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67503         GCC 4.2, which otherwise issues a lot of warnings.
67504         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
67505         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
67506         Likewise.
67507         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
67508         * modules/iconv_open (iconv.h): Likewise.
67509         * modules/locale (locale.h): Likewise.
67510         * modules/netinet_in (netinet/in.h): Likewise.
67511         * modules/sys_select (sys_select.h): Likewise.
67512         * modules/sys_socket (sys/socket.h): Likewise.
67513         * modules/sys_stat (sys/stat.h): Likewise.
67514         * modules/sysexits (sysexits.h): Likewise.
67515         * modules/unistd (unistd.h): Likewise.
67516
67517 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67518
67519         * modules/closein-tests (Makefile.am): Distribute
67520         `test-closein.sh'.
67521
67522 2007-05-17  Bruno Haible  <bruno@clisp.org>
67523
67524         * tests/test-printf-posix.output: Renamed from
67525         tests/test-fprintf-posix.out.
67526         * modules/fprintf-posix-tests: Update.
67527         * modules/printf-posix-tests: Update.
67528         * modules/vfprintf-posix-tests: Update.
67529         * modules/vprintf-posix-tests: Update.
67530         * tests/test-fprintf-posix.sh: Update.
67531         * tests/test-printf-posix.sh: Update.
67532         * tests/test-vfprintf-posix.sh: Update.
67533         * tests/test-vprintf-posix.sh: Update.
67534         Reported by Ralf Wildenhues.
67535
67536 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67537
67538         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
67539         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67540         GCC 4.2, which otherwise issues a lot of warnings.
67541         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
67542         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
67543         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
67544         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
67545         it should no longer be needed.
67546         * lib/string_.h: Likewise.
67547         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
67548         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
67549         * modules/inttypes (inttypes.h): Likewise.
67550         * modules/math (math.h): Likewise.
67551         * modules/search (search.h): Likewise.
67552         * modules/signal (signal.h): Likewise.
67553         * modules/stdint (stdint.h): Likewise.
67554         * modules/stdio (stdio.h): Likewise.
67555         * modules/stdlib (stdlib.h): Likewise.
67556         * modules/string (string.h): Likewise.
67557         * modules/sys_time (sys/time.h): Likewise.
67558         * modules/time (time.h): Likewise.
67559         * modules/wchar (wchar.h): Likewise.
67560         * modules/wctype (wtype.h): Likewise.
67561
67562 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67563
67564         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
67565
67566 2007-05-13  Bruno Haible  <bruno@clisp.org>
67567
67568         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
67569         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67570         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
67571         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67572         (gl_PREREQ_STRTOK_R): Don't require it here.
67573
67574 2007-05-13  Bruno Haible  <bruno@clisp.org>
67575
67576         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
67577         when used in C++ mode.
67578
67579 2007-05-12  Bruno Haible  <bruno@clisp.org>
67580
67581         * lib/linebuffer.h: Tweak doc.
67582         * lib/linebuffer.c: Likewise.
67583
67584 2007-05-12  James Youngman  <jay@gnu.org>
67585
67586         * lib/linebuffer.c (readlinebuffer_delim): New function,
67587         like readlinebuffer, but use a caller-specified delimiter.
67588         (readlinebuffer): Just call readlinebuffer_delim with '\n'
67589         as the delimiter.
67590         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
67591
67592 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67593
67594         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
67595         * modules/openat (Files): Remove openat-die.c.
67596         (Depends-on): Add openat-die.
67597         * modules/openat-die: New module.
67598
67599 2007-05-06  Bruno Haible  <bruno@clisp.org>
67600
67601         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
67602         Update with info about Cygwin.
67603         * doc/functions/fprintf.texi: Update.
67604         * doc/functions/printf.texi: Update.
67605         * doc/functions/snprintf.texi: Update.
67606         * doc/functions/sprintf.texi: Update.
67607         * doc/functions/vfprintf.texi: Update.
67608         * doc/functions/vprintf.texi: Update.
67609         * doc/functions/vsnprintf.texi: Update.
67610         * doc/functions/vsprintf.texi: Update.
67611         Reported by Eric Blake.
67612
67613 2007-05-06  Bruno Haible  <bruno@clisp.org>
67614
67615         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
67616         padding ourselves for the floating-point directives.
67617         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
67618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
67619         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67620         gl_PRINTF_FLAG_ZERO and test its result. Invoke
67621         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
67622         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67623         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67624         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67625         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67626         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67627         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67628         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67629         * tests/test-snprintf-posix.h (test_function): Also check the width
67630         and some flags in the %f directive.
67631         * tests/test-sprintf-posix.h (test_function): Likewise.
67632         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67633         * tests/test-vasprintf-posix.c (test_function): Likewise.
67634         * doc/functions/fprintf.texi: Update.
67635         * doc/functions/printf.texi: Update.
67636         * doc/functions/snprintf.texi: Update.
67637         * doc/functions/sprintf.texi: Update.
67638         * doc/functions/vfprintf.texi: Update.
67639         * doc/functions/vprintf.texi: Update.
67640         * doc/functions/vsnprintf.texi: Update.
67641         * doc/functions/vsprintf.texi: Update.
67642
67643 2007-05-06  Bruno Haible  <bruno@clisp.org>
67644
67645         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
67646         pass the ' flag character to sprintf or snprintf.
67647         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
67648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
67649         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67650         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
67651         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
67652         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67653         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67654         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67655         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67656         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67657         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67658         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67659         * tests/test-snprintf-posix.h (test_function): Also check the grouping
67660         flag.
67661         * tests/test-sprintf-posix.h (test_function): Likewise.
67662         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67663         * tests/test-vasprintf-posix.c (test_function): Likewise.
67664         * doc/functions/fprintf.texi: Update.
67665         * doc/functions/printf.texi: Update.
67666         * doc/functions/snprintf.texi: Update.
67667         * doc/functions/sprintf.texi: Update.
67668         * doc/functions/vfprintf.texi: Update.
67669         * doc/functions/vprintf.texi: Update.
67670         * doc/functions/vsnprintf.texi: Update.
67671         * doc/functions/vsprintf.texi: Update.
67672
67673 2007-05-01  Bruno Haible  <bruno@clisp.org>
67674
67675         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
67676
67677 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
67678
67679         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
67680         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
67681
67682 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67683
67684         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
67685         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
67686         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
67687
67688 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
67689
67690         * lib/argp-help.c (struct hol_entry): New member `ord'.
67691         (HOL_ENTRY_PTRCMP): Use ord for comparison
67692         (hol_sort): Initialize ord.
67693
67694 2007-05-01  Bruno Haible  <bruno@clisp.org>
67695
67696         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
67697         Reported by Eric Blake.
67698         * doc/gnulib.texi (Function Substitutes): Update.
67699
67700 2007-05-01  Bruno Haible  <bruno@clisp.org>
67701
67702         * doc/functions.texi: Remove file, now redundant through
67703         doc/functions/*.texi.
67704
67705 2007-05-01  Bruno Haible  <bruno@clisp.org>
67706
67707         * modules/argp (Depends-on): Add sleep.
67708
67709 2007-05-01  Bruno Haible  <bruno@clisp.org>
67710
67711         * modules/sleep-tests: New file.
67712         * tests/test-sleep.c: New file.
67713
67714         * modules/sleep: New file.
67715         * lib/sleep.c: New file.
67716         * m4/sleep.m4: New file.
67717         * lib/unistd_.h (sleep): New declaration.
67718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
67719         HAVE_SLEEP.
67720         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
67721         * doc/functions/sleep.texi: Document the sleep module.
67722
67723 2007-05-01  Bruno Haible  <bruno@clisp.org>
67724
67725         * lib/sigprocmask.h: Remove file.
67726         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
67727         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
67728         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
67729         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
67730         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
67731         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
67732         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
67733         HAVE_SIGSET_T as a shell variable.
67734         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
67735         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
67736         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
67737         (Depends-on): Add signal. Remove verify.
67738         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
67739         (Include): Mention <signal.h> instead of sigprocmask.h.
67740         * NEWS: Mention the change.
67741         * lib/fatal-signal.c: Don't include sigprocmask.h.
67742
67743 2007-05-01  Bruno Haible  <bruno@clisp.org>
67744
67745         * modules/signal: New file.
67746         * lib/signal_.h: New file.
67747         * m4/signal_h.m4: New file.
67748
67749 2007-05-01  Bruno Haible  <bruno@clisp.org>
67750
67751         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
67752         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
67753         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
67754         HAVE_WCTYPE_CTMP_BUG into wctype.h.
67755
67756 2007-05-01  Bruno Haible  <bruno@clisp.org>
67757
67758         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
67759         configure time.
67760         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
67761         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
67762         * modules/sys_stat (Makefile.am): Substitute their values into
67763         sys/stat.h.
67764
67765 2007-05-01  Bruno Haible  <bruno@clisp.org>
67766
67767         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
67768         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
67769         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
67770
67771 2007-05-01  Bruno Haible  <bruno@clisp.org>
67772
67773         * doc/header/assert.texi: Undo last change: don't mention the gnulib
67774         'assert' module here.
67775
67776 2007-05-01  Bruno Haible  <bruno@clisp.org>
67777
67778         * doc/functions/*.texi: New files.
67779         * doc/functions/google-ranking.txt: New file.
67780         * doc/gnulib.texi (Function Substitutes): New chapter.
67781         (ctime, inet_ntoa): Remove sections.
67782         * doc/ctime.texi: Remove file.
67783         * doc/inet_ntoa.texi: Remove file.
67784         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
67785         dependencies.
67786         (%.info): New rule, specifying a --reference-limit.
67787
67788 2007-05-01  Bruno Haible  <bruno@clisp.org>
67789
67790         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
67791
67792 2007-05-01  Bruno Haible  <bruno@clisp.org>
67793
67794         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
67795         the portability of 'mkdir' to mingw systems.
67796
67797 2007-05-01  Bruno Haible  <bruno@clisp.org>
67798
67799         * doc/headers/google-ranking.txt: New file.
67800
67801 2007-04-30  Eric Blake  <ebb9@byu.net>
67802
67803         Prefer fseeko to fseek.
67804         * modules/getpass (Depends-on): Add fseeko.
67805         * lib/getpass.c (getpass): Use fseeko, not fseek.
67806
67807 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
67808
67809         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
67810         assumes the sorting is stable, while most qsort implementations
67811         are not.  Use argument addresses to ensure they never compare as
67812         equal.
67813
67814         * tests/test-argp-2.sh (usage-indent test): Fix output
67815         (func_compare): Restore diff options
67816         * tests/test-argp.c: Restore #include "progname.h"
67817
67818 2007-04-29  Bruno Haible  <bruno@clisp.org>
67819
67820         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
67821         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67822         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
67823         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67824         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
67825         (configure.ac): Define CHECK_SNPRINTF_POSIX.
67826         (TESTS, check_PROGRAMS): Add test-snprintf.
67827         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
67828         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
67829         (TESTS, check_PROGRAMS): Add test-vsnprintf.
67830         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
67831         assertions that fail on HP-UX, OSF/1, or IRIX.
67832         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
67833
67834 2007-04-29  Bruno Haible  <bruno@clisp.org>
67835
67836         * MODULES.html.sh (posix_functions): Remove 'contents'.
67837
67838 2007-04-29  Karl Berry  <karl@gnu.org>
67839
67840         * config/srclist.txt (gendocs_template_min): new entry.
67841
67842 2007-04-29  Bruno Haible  <bruno@clisp.org>
67843
67844         Work around fpurge bug on BSD systems.
67845         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
67846         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
67847         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
67848         fpurge to rpl_fpurge if the system already has this function.
67849         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
67850         the case where the system already has this function. Correct invariants
67851         on BSD systems.
67852         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
67853         BSD systems.
67854
67855 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
67856
67857         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
67858         proposed by Sven Verdoolaege.
67859
67860         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
67861         options.
67862         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
67863         (usage and help tests): Update
67864
67865 2007-04-29  Bruno Haible  <bruno@clisp.org>
67866
67867         * tests/test-fflush.c (main): Use a file of size 17, not 10.
67868         Print more information in case of failure. Disable a test on BeOS.
67869
67870 2007-04-29  Bruno Haible  <bruno@clisp.org>
67871
67872         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
67873         This helps debugging on systems on which no gdb is available.
67874
67875 2007-04-29  Bruno Haible  <bruno@clisp.org>
67876
67877         * lib/freading.h: Improve comments.
67878         * lib/fwriting.h: Likewise.
67879         * tests/test-freading.c (main): Don't check freading immediately after
67880         repositioning. Needed for glibc.
67881
67882 2007-04-29  Bruno Haible  <bruno@clisp.org>
67883
67884         * lib/freading.c (freading): Trivial simplification.
67885
67886 2007-04-28  Bruno Haible  <bruno@clisp.org>
67887
67888         * tests/test-fwriting.c (main): Also test the interaction between
67889         fflush and fwriting.
67890         * modules/fwriting-tests (Depends-on): Add fflush.
67891
67892         * tests/test-freading.c (main): Also test the interaction between
67893         fflush and freading.
67894         * modules/freading-tests (Depends-on): Add fflush.
67895
67896 2007-04-28  Bruno Haible  <bruno@clisp.org>
67897
67898         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
67899         fseeko and ftello.
67900         Suggested by Eric Blake.
67901
67902 2007-04-28  Jim Meyering  <jim@meyering.net>
67903
67904         Avoid false-negative in gl_STDINT_H's C99 conformance test.
67905         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
67906         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
67907
67908 2007-04-27  Eric Blake  <ebb9@byu.net>
67909
67910         * doc/headers/assert.texi (assert.h): Document assert module use.
67911
67912 2007-04-27  Bruno Haible  <bruno@clisp.org>
67913
67914         * doc/headers/*.texi: New files.
67915         * doc/gnulib.texi (Header File Substitutes): New chapter.
67916         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
67917         dependencies.
67918         (standards.info ,standards.html, standards.dvi): Update dependencies.
67919         (mostlyclean, clean): New targets.
67920
67921 2007-04-27  Bruno Haible  <bruno@clisp.org>
67922
67923         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
67924         * modules/sysexits (Files, Makefile.am): Update.
67925
67926         * lib/sys_socket_.h: Renamed from lib/socket_.h.
67927         * modules/sys_socket (Files, Makefile.am): Update.
67928
67929         * lib/sys_stat_.h: Renamed from lib/stat_.h.
67930         * modules/sys_stat (Files, Makefile.am): Update.
67931
67932 2007-04-27  Eric Blake  <ebb9@byu.net>
67933
67934         * lib/freading.h: Improve comments.
67935         * lib/fwriting.h: Likewise.
67936         * lib/fflush.c: Likewise.
67937
67938         Fix closein for mingw.
67939         * modules/closein-tests: Add tests for closein.
67940         * tests/test-closein.c: New file.
67941         * tests/test-closein.sh: Likewise.
67942         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67943         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67944
67945 2007-04-27  Bruno Haible  <bruno@clisp.org>
67946
67947         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67948         version is < 6.
67949         * lib/math_.h [__DECC]: Likewise.
67950         * lib/stdio_.h [__DECC]: Likewise.
67951         * lib/stdlib_.h [__DECC]: Likewise.
67952         * lib/string_.h [__DECC]: Likewise.
67953         * lib/time_.h [__DECC]: Likewise.
67954         * lib/wchar_.h [__DECC]: Likewise.
67955         * lib/wctype_.h [__DECC]: Likewise.
67956
67957 2007-04-27  Bruno Haible  <bruno@clisp.org>
67958
67959         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67960
67961 2007-04-27  Bruno Haible  <bruno@clisp.org>
67962
67963         * lib/fflush.c: Add comments.
67964         * modules/fpurge-tests (Depends-on): Add fflush.
67965         * modules/freadable-tests (Depends-on): Likewise.
67966         * modules/fwritable-tests (Depends-on): Likewise.
67967
67968 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67969
67970         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67971         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67972         Report by Bruno Haible <bruno@clisp.org>.
67973
67974 2007-04-26  Eric Blake  <ebb9@byu.net>
67975
67976         Fix fflush on mingw.
67977         * modules/fflush (Depends-on): Add freading.
67978         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67979         but unread data.
67980
67981 2007-04-26  Eric Blake  <ebb9@byu.net>
67982         and Bruno Haible  <bruno@clisp.org>
67983
67984         Implement freading and fwriting.
67985         * lib/freading.c: New file.
67986         * lib/freading.h: Likewise.
67987         * m4/freading.m4: Likewise.
67988         * modules/freading: Likewise.
67989         * modules/freading-tests: Likewise.
67990         * tests/test-freading.c: Likewise.
67991         * lib/fwriting.c: New file.
67992         * lib/fwriting.h: Likewise.
67993         * m4/fwriting.m4: Likewise.
67994         * modules/fwriting: Likewise.
67995         * modules/fwriting-tests: Likewise.
67996         * tests/test-fwriting.c: Likewise.
67997         * MODULES.html.sh (File stream based Input/Output): Mention them.
67998
67999 2007-04-26  Bruno Haible  <bruno@clisp.org>
68000
68001         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
68002         'long' when we assume it.
68003         Suggested by Eric Blake.
68004
68005 2007-04-26  Bruno Haible  <bruno@clisp.org>
68006
68007         Ensure fseeko, ftello are declared on glibc systems.
68008         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
68009         * modules/fseeko (configure.ac-early): Likewise.
68010         * modules/ftello (configure.ac-early): Likewise.
68011         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
68012         AC_FUNC_FSEEKO for this.
68013         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
68014         (gl_CHECK_FSEEKO): Remove macro.
68015
68016 2007-04-26  Bruno Haible  <bruno@clisp.org>
68017
68018         * tests/test-fflush.c (main): Also check the ftell result after
68019         fflush and fseek/fseeko.
68020         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
68021         file descriptor position cache in the stream.
68022         * lib/fseeko.c (rpl_fseeko): Likewise.
68023
68024 2007-04-26  Bruno Haible  <bruno@clisp.org>
68025
68026         * modules/fflush-tests (Depends-on): Add fseeko.
68027
68028 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
68029             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68030
68031         * lib/argz_.h: ensure error_t definition is obtained in same
68032         mechanism system argz.h would have.
68033         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
68034         argz facilities are known bad.  Err on the side of caution if
68035         cross-compiling.
68036
68037 2007-04-25  Eric Blake  <ebb9@byu.net>
68038
68039         * lib/fpurge.c (includes): Use stdlib.h for free.
68040         * tests/test-fflush.c (main): Also test fflush-fseeko.
68041
68042 2007-04-25  Bruno Haible  <bruno@clisp.org>
68043
68044         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
68045         * lib/fseeko.c: New file.
68046         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
68047         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
68048         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
68049         gl_FUNC_FSEEKO.
68050         (gl_FUNC_FSEEKO): Invoke it.
68051         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
68052         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
68053         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
68054
68055 2007-04-25  Bruno Haible  <bruno@clisp.org>
68056
68057         * modules/fflush (Depends-on): Add ftello.
68058
68059 2007-04-25  Bruno Haible  <bruno@clisp.org>
68060
68061         * modules/ftello-tests: New file.
68062         * tests/test-ftello.c: New file.
68063
68064         * modules/ftello: New file.
68065         * m4/ftello.m4: New file.
68066         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
68067         HAVE_FTELLO.
68068         * lib/stdio_.h (ftello): New declaration.
68069         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
68070         HAVE_FTELLO.
68071
68072 2007-04-25  Bruno Haible  <bruno@clisp.org>
68073
68074         * modules/fseeko-tests: New file.
68075         * tests/test-fseeko.c: New file.
68076
68077         * modules/fseeko: New file.
68078         * m4/fseeko.m4: New file.
68079         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
68080         HAVE_FSEEKO.
68081         * lib/stdio_.h (fseeko): New declaration.
68082         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
68083         HAVE_FSEEKO.
68084
68085 2007-04-25  Bruno Haible  <bruno@clisp.org>
68086
68087         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
68088
68089 2007-04-25  Bruno Haible  <bruno@clisp.org>
68090
68091         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
68092         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
68093         * tests/test-unistd.c: Likewise.
68094         * tests/test-fcntl.c: Likewise.
68095
68096 2007-04-23  Eric Blake  <ebb9@byu.net>
68097
68098         * lib/fflush.c: Fix missing include.
68099         Reported by Bruno Haible.
68100
68101 2007-04-23  Bruno Haible  <bruno@clisp.org>
68102
68103         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
68104         Reported by Eric Blake.
68105
68106 2007-04-23  Bruno Haible  <bruno@clisp.org>
68107
68108         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
68109
68110 2007-04-23  Bruno Haible  <bruno@clisp.org>
68111
68112         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
68113
68114 2007-04-23  Bruno Haible  <bruno@clisp.org>
68115
68116         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
68117         Needed on HP-UX 11.
68118
68119 2007-04-16  Eric Blake  <ebb9@byu.net>
68120
68121         Make fflush rely on fpurge.
68122         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
68123         open coding all variants.
68124         * modules/fflush (Depends-on): Add fpurge and unistd.
68125         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
68126         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
68127
68128         Fix --with-tests compilation on cygwin.
68129         * modules/argmatch-tests (Makefile.am): List gnulib library first
68130         in LDADD.
68131         * modules/argp-tests (Makefile.am): Likewise.
68132         * modules/array-list-tests (Makefile.am): Likewise.
68133         * modules/array-oset-tests (Makefile.am): Likewise.
68134         * modules/avltree-list-tests (Makefile.am): Likewise.
68135         * modules/avltree-oset-tests (Makefile.am): Likewise.
68136         * modules/avltreehash-list-tests (Makefile.am): Likewise.
68137         * modules/carray-list-tests (Makefile.am): Likewise.
68138         * modules/dirname-tests (Makefile.am): Likewise.
68139         * modules/frexp-tests (Makefile.am): Likewise.
68140         * modules/isnanl-tests (Makefile.am): Likewise.
68141         * modules/linked-list-tests (Makefile.am): Likewise.
68142         * modules/linkedhash-list-tests (Makefile.am): Likewise.
68143         * modules/lock-tests (Makefile.am): Likewise.
68144         * modules/rbtree-list-tests (Makefile.am): Likewise.
68145         * modules/rbtree-oset-tests (Makefile.am): Likewise.
68146         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
68147         * modules/tls-tests (Makefile.am): Likewise.
68148         * modules/tsearch-tests (Makefile.am): Likewise.
68149         * modules/xvasprintf-tests (Makefile.am): Likewise.
68150
68151         Fix fpurge for cygwin.
68152         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
68153         value.
68154         * modules/fpurge-tests (Depends-on): Clean up trash.
68155
68156 2007-04-16  Simon Josefsson  <simon@josefsson.org>
68157
68158         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
68159
68160         * m4/autobuild.m4: Re-indent.
68161
68162 2007-04-13  Bruno Haible  <bruno@clisp.org>
68163
68164         * modules/fpurge-tests: New file.
68165         * tests/test-fpurge.c: New file.
68166
68167         * modules/fpurge: New file.
68168         * lib/fpurge.h: New file.
68169         * lib/fpurge.c: New file.
68170         * m4/fpurge.m4: New file.
68171
68172 2007-04-13  Bruno Haible  <bruno@clisp.org>
68173
68174         * modules/fbufmode-tests: New file.
68175         * tests/test-fbufmode.c: New file.
68176
68177         * modules/fbufmode: New file.
68178         * lib/fbufmode.h: New file.
68179         * lib/fbufmode.c: New file.
68180         * m4/fbufmode.m4: New file.
68181
68182 2007-04-13  Bruno Haible  <bruno@clisp.org>
68183
68184         * modules/fwritable-tests: New file.
68185         * tests/test-fwritable.c: New file.
68186
68187         * modules/fwritable: New file.
68188         * lib/fwritable.h: New file.
68189         * lib/fwritable.c: New file.
68190         * m4/fwritable.m4: New file.
68191
68192 2007-04-13  Bruno Haible  <bruno@clisp.org>
68193
68194         * modules/freadable-tests: New file.
68195         * tests/test-freadable.c: New file.
68196
68197         * modules/freadable: New file.
68198         * lib/freadable.h: New file.
68199         * lib/freadable.c: New file.
68200         * m4/freadable.m4: New file.
68201
68202 2007-04-13  Bruno Haible  <bruno@clisp.org>
68203
68204         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
68205         MOSTLYCLEANFILES.
68206
68207 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68208
68209         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
68210         gzip bootstrap.conf to avoid dragging in i18n machinery.
68211         (gnulib_tool_option): Use it.
68212
68213 2007-04-13  Bruno Haible  <bruno@clisp.org>
68214
68215         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
68216         %F directives.
68217         * tests/test-vasprintf-posix.c (test_function): Likewise.
68218         * tests/test-snprintf-posix.h (test_function): Likewise.
68219         * tests/test-sprintf-posix.h (test_function): Likewise.
68220         * tests/test-fprintf-posix.h (test_function): Likewise.
68221         * tests/test-printf-posix.h (test_function): Likewise.
68222         * tests/test-fprintf-posix.out: Likewise.
68223
68224 2007-04-13  Bruno Haible  <bruno@clisp.org>
68225
68226         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
68227         * modules/tls-tests (configure.ac): Likewise.
68228         Reported by Arto C. Nirkko <anirkko@insel.ch>.
68229
68230 2007-04-13  Bruno Haible  <bruno@clisp.org>
68231
68232         * lib/tls.c (glthread_tls_get): Fix return type.
68233         Patch by Arto C. Nirkko <anirkko@insel.ch>.
68234
68235 2007-04-12  Eric Blake  <ebb9@byu.net>
68236
68237         * modules/gettime (Depends-on): Remove gettime.
68238         Reported by Dmitry V. Levin.
68239
68240 2007-04-12  Bruno Haible  <bruno@clisp.org>
68241
68242         * modules/fflush (Include): Mention <stdio.h>.
68243         * modules/strtoimax (Include): Mention <inttypes.h>.
68244         * modules/strtoumax (Include): Likewise.
68245
68246 2007-04-12  Eric Blake  <ebb9@byu.net>
68247
68248         * .cvsignore: New file.
68249         * .gitignore: Likewise.
68250
68251 2007-04-12  Bruno Haible  <bruno@clisp.org>
68252
68253         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
68254         not before, since $(LDADD) often contains libgnu.a.
68255         * modules/striconv-tests (test_striconv_LDADD): Likewise.
68256         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
68257         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
68258         Needed on Cygwin.
68259
68260 2007-04-12  Eric Blake  <ebb9@byu.net>
68261
68262         Work around glibc's failure to flush stdin on fclose.
68263         * lib/closein.c (close_stdin): Flush stdin before closing.
68264
68265         Work around glibc's failure to reset seekable stdin on exit.
68266         * modules/closein: New module.
68267         * lib/closein.c: New file.
68268         * lib/closein.h: Likewise.
68269         * m4/closein.m4: Likewise.
68270         * MODULES.html.sh (File stream based Input/Output): Document it.
68271
68272 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68273
68274         * gnulib-tool: Rename generated 'autobuild' script to
68275         'do-autobuild' in --create-megatestdir output.
68276
68277         * doc/gnulib.texi (Build robot for gnulib): Fix.
68278
68279 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68280
68281         * modules/sysexits (Depends-on): Add absolute-header.
68282
68283 2007-04-12  Eric Blake  <ebb9@byu.net>
68284
68285         No need to preserve errno on success.
68286         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
68287         Reported by Bruno Haible.
68288
68289 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68290
68291         * MODULES.html.sh (Support for maintaining and releasing
68292         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
68293
68294 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68295
68296         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
68297
68298 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68299
68300         * modules/autobuild: New module.
68301
68302         * m4/autobuild.m4: New file.
68303
68304 2007-04-11  Bruno Haible  <bruno@clisp.org>
68305
68306         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
68307         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
68308         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
68309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
68310         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68311         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68312         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68313         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68314         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68315         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68316         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
68317         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68318         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68319         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
68320         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68321         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68322         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
68323         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68324         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68325         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
68326         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68327         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68328         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
68329         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68330         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68331         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
68332         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68333         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68334         Reported by Eric Blake.
68335
68336 2007-04-11  Bruno Haible  <bruno@clisp.org>
68337
68338         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
68339
68340 2007-04-10  Bruno Haible  <bruno@clisp.org>
68341
68342         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
68343         for NaN and Infinity. Needed on FreeBSD 6.1.
68344         * tests/test-vasnprintf-posix.c (test_function): Undo last change
68345         regarding results for "%010a" of Infinity and NaN.
68346         * tests/test-vasprintf-posix.c (test_function): Likewise.
68347         * tests/test-snprintf-posix.h (test_function): Likewise.
68348         * tests/test-sprintf-posix.h (test_function): Likewise.
68349         * tests/test-fprintf-posix.h (test_function): Likewise.
68350         * tests/test-printf-posix.h (test_function): Likewise.
68351         * tests/test-fprintf-posix.out: Likewise.
68352
68353 2007-04-10  Bruno Haible  <bruno@clisp.org>
68354
68355         * modules/locale-tests: New file.
68356         * tests/test-locale.c: New file.
68357
68358         * modules/locale: New file.
68359         * lib/locale_.h: New file.
68360         * m4/locale_h.m4: New file.
68361
68362 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
68363             Bruno Haible  <bruno@clisp.org>
68364
68365         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
68366         be determined, test for availability of the copysignf, copysign,
68367         copysignl functions.
68368         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
68369         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
68370         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
68371
68372 2007-04-09  Eric Blake  <ebb9@byu.net>
68373
68374         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
68375         * modules/stdio (Makefile.am): Support fflush.
68376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
68377         * modules/fflush: New file.
68378         * lib/fflush.c: Likewise.
68379         * m4/fflush.m4: Likewise.
68380         * modules/fflush-tests: New test.
68381         * tests/test-fflush.c: Likewise.
68382         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
68383
68384 2007-04-06  Bruno Haible  <bruno@clisp.org>
68385
68386         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
68387         (VASNPRINTF): Use signbit for faster determination whether to print a
68388         minus sign.
68389         * modules/vasnprintf (Files): Remove lib/float+.h.
68390         * modules/fprintf-posix (Depends-on): Add signbit.
68391         * modules/snprintf-posix (Depends-on): Likewise.
68392         * modules/sprintf-posix (Depends-on): Likewise.
68393         * modules/vasnprintf-posix (Depends-on): Likewise.
68394         * modules/vasprintf-posix (Depends-on): Likewise.
68395         * modules/vfprintf-posix (Depends-on): Likewise.
68396         * modules/vsnprintf-posix (Depends-on): Likewise.
68397         * modules/vsprintf-posix (Depends-on): Likewise.
68398
68399 2007-04-06  Bruno Haible  <bruno@clisp.org>
68400
68401         * tests/test-frexp.c (main): Test also the sign bit of zero results.
68402         * tests/test-frexpl.c (main): Likewise.
68403         * tests/test-ldexpl.c (main): Likewise.
68404         * modules/frexp-tests (Depends-on): Add signbit.
68405         * modules/frexpl-tests (Depdends-on): Likewise.
68406         * modules/ldexpl-tests (Depdends-on): Likewise.
68407
68408 2007-04-06  Bruno Haible  <bruno@clisp.org>
68409
68410         * modules/signbit-tests: New file.
68411         * tests/test-signbit.c: New file.
68412
68413         * modules/signbit: New file.
68414         * lib/signbitf.c: New file.
68415         * lib/signbitd.c: New file.
68416         * lib/signbitl.c: New file.
68417         * m4/signbit.m4: New file.
68418         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
68419         (signbit): New macro.
68420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
68421         REPLACE_SIGNBIT.
68422         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
68423         REPLACE_FREXPL into math.h.
68424
68425 2007-04-06  Bruno Haible  <bruno@clisp.org>
68426
68427         * modules/isnanf-nolibm-tests: New file.
68428         * tests/test-isnanf.c: New file.
68429
68430         * modules/isnanf-nolibm: New file.
68431         * lib/isnanf.h: New file.
68432         * lib/isnanf.c: New file.
68433         * lib/isnan.c: Consider the USE_FLOAT macro.
68434         * m4/isnanf.m4: New file.
68435
68436 2007-04-06  Bruno Haible  <bruno@clisp.org>
68437
68438         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
68439         (Link): New section.
68440
68441         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
68442
68443 2007-04-06  Bruno Haible  <bruno@clisp.org>
68444
68445         Assume the 'long double' type.
68446         * m4/longdouble.m4: Remove file.
68447         * config/srclist.txt: Don't mention longdouble.m4.
68448         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
68449         * lib/float+.h: Likewise.
68450         * lib/frexp.c: Likewise.
68451         * lib/printf-args.h: Likewise.
68452         * lib/printf-args.c: Likewise.
68453         * lib/printf-frexp.c: Likewise.
68454         * lib/printf-parse.c: Likewise.
68455         * lib/vasnprintf.c: Likewise.
68456         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
68457         * m4/intl.m4: Likewise.
68458         * m4/isnanl.m4: Likewise.
68459         * m4/printf.m4: Likewise.
68460         * m4/printf-frexpl.m4: Likewise.
68461         * m4/vasnprintf.m4: Likewise.
68462         * modules/allocsa (Files): Remove m4/longdouble.m4.
68463         * modules/gettext (Files): Likewise.
68464         * modules/relocatable-prog-wrapper (Files): Likewise.
68465         * modules/vasnprintf (Files): Likewise.
68466         * modules/isnanl (Files): Likewise.
68467         (Include): Simplify.
68468         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
68469         (Include): Simplify.
68470         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
68471         (Include): Simplify.
68472         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
68473         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68474         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
68475         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68476         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
68477         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68478         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
68479         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68480         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
68481         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68482         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
68483         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68484         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
68485         * tests/test-isnanl.c: Likewise.
68486         * tests/test-snprintf-posix.h: Likewise.
68487         * tests/test-sprintf-posix.h: Likewise.
68488         * tests/test-vasnprintf-posix.c: Likewise.
68489         * tests/test-vasnprintf-posix2.c: Likewise.
68490         * tests/test-vasprintf-posix.c: Likewise.
68491
68492 2007-04-06  Bruno Haible  <bruno@clisp.org>
68493
68494         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
68495         * lib/math_.h [__DECC]: Include the overridden include file through
68496         #include_next, outside the double-inclusion guard.
68497         * lib/stdio_.h [__DECC]: Likewise.
68498         * lib/stdlib_.h [__DECC]: Likewise.
68499         * lib/string_.h [__DECC]: Likewise.
68500         * lib/time_.h [__DECC]: Likewise.
68501         * lib/wchar_.h [__DECC]: Likewise.
68502         * lib/wctype_.h [__DECC]: Likewise.
68503         * lib/inttypes_.h [__DECC]: Likewise.
68504         Reported by Albert Chin <china@thewrittenword.com> in
68505         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
68506
68507 2007-04-04  Eric Blake  <ebb9@byu.net>
68508
68509         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
68510         1.5.x.
68511
68512 2007-04-04  Bruno Haible  <bruno@clisp.org>
68513
68514         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
68515         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
68516
68517 2007-04-04  Bruno Haible  <bruno@clisp.org>
68518
68519         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
68520         results for "%010a" of Infinity and NaN.
68521         * tests/test-vasprintf-posix.c (test_function): Likewise.
68522         * tests/test-snprintf-posix.h (test_function): Likewise.
68523         * tests/test-sprintf-posix.h (test_function): Likewise.
68524         * tests/test-fprintf-posix.h (test_function): Remove these tests.
68525         * tests/test-printf-posix.h (test_function): Likewise.
68526         * tests/test-fprintf-posix.out: Update.
68527         Needed for FreeBSD 6.1.
68528
68529 2007-04-04  Bruno Haible  <bruno@clisp.org>
68530
68531         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
68532         directly used by the gnulib modules nor by gnulib-tool.
68533
68534 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68535
68536         * DEPENDENCIES: Give overall description of version dependency
68537         desirability.  Use more-typical names for apps.
68538         Add shell, coreutils, diffutils, grep, tar, gzip.
68539
68540 2007-04-04  Simon Josefsson  <simon@josefsson.org>
68541
68542         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
68543
68544 2007-04-04  Karl Berry  <karl@gnu.org>
68545
68546         * MODULES.html.sh (func_module): missing '.
68547
68548 2007-04-03  Bruno Haible  <bruno@clisp.org>
68549
68550         * modules/argmatch-tests (Makefile.am): New variable
68551         test_argmatch_LDADD.
68552         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
68553         * modules/array-list-tests (Makefile.am): New variable
68554         test_array_list_LDADD.
68555         * modules/array-oset-tests (Makefile.am): New variable
68556         test_array_oset_LDADD.
68557         * modules/avltree-list-tests (Makefile.am): New variable
68558         test_avltree_list_LDADD.
68559         * modules/avltree-oset-tests (Makefile.am): New variable
68560         test_avltree_oset_LDADD.
68561         * modules/avltreehash-list-tests (Makefile.am): New variable
68562         test_avltreehash_list_LDADD.
68563         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
68564         test_canonicalize_lgpl_LDADD.
68565         * modules/carray-list-tests (Makefile.am): New variable
68566         test_carray_list_LDADD.
68567         * modules/dirname-tests (Makefile.am): New variable
68568         test_dirname_LDADD.
68569         * modules/linked-list-tests (Makefile.am): New variable
68570         test_linked_list_LDADD.
68571         * modules/linkedhash-list-tests (Makefile.am): New variable
68572         test_linkedhash_list_LDADD.
68573         * modules/rbtree-list-tests (Makefile.am): New variable
68574         test_rbtree_list_LDADD.
68575         * modules/rbtree-oset-tests (Makefile.am): New variable
68576         test_rbtree_oset_LDADD.
68577         * modules/rbtreehash-list-tests (Makefile.am): New variable
68578         test_rbtreehash_list_LDADD.
68579         * modules/xvasprintf-tests (Makefile.am): New variable
68580         test_xvasprintf_LDADD.
68581         Reported by Eric Blake.
68582
68583 2007-04-03  Eric Blake  <ebb9@byu.net>
68584
68585         * DEPENDENCIES: Weaken m4 requirements.
68586
68587 2007-04-03  Bruno Haible  <bruno@clisp.org>
68588
68589         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
68590         * modules/isnanl-tests (configure.ac): Likewise.
68591
68592 2007-04-03  Ben Pfaff  <blp@gnu.org>
68593
68594         * modules/iconv_open: Add $(srcdir)/ to source directory
68595         references in Makefile fragments that call gperf, to fix VPATH
68596         builds.
68597
68598 2007-04-03  Bruno Haible  <bruno@clisp.org>
68599
68600         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
68601         * lib/ldexpl.c: Undo last change.
68602
68603 2007-04-03  Bruno Haible  <bruno@clisp.org>
68604
68605         * modules/printf-frexpl (Depends-on): Undo last change.
68606         (Files): Add m4/ldexpl.m4.
68607
68608 2007-04-03  Bruno Haible  <bruno@clisp.org>
68609
68610         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
68611         * modules/isnanl (Link): New section.
68612
68613         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
68614         * modules/frexp (Link): New section.
68615
68616         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
68617         * modules/frexpl (Link): New section.
68618
68619         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
68620         * modules/ldexpl (Link): New section.
68621
68622 2007-04-03  Bruno Haible  <bruno@clisp.org>
68623
68624         * modules/TEMPLATE-EXTENDED: New file.
68625         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
68626
68627 2007-04-03  Bruno Haible  <bruno@clisp.org>
68628
68629         * DEPENDENCIES: New file.
68630         Suggested by Simon Josefsson.
68631
68632 2007-04-03  Bruno Haible  <bruno@clisp.org>
68633
68634         * doc/gnulib.texi: Escape @.
68635
68636 2007-04-03  James Youngman  <jay@gnu.org>
68637         and Paul Eggert  <eggert@cs.ucla.edu>
68638
68639         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
68640         birthtime on all systems that have birthtime, not just those which
68641         use st_birthtimensec rather than st_birthtim.  Putting zero in
68642         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
68643         that the birth time is not available for files on an NFS mount.
68644
68645 2007-04-03  Simon Josefsson  <simon@josefsson.org>
68646
68647         * modules/memxor: Move back from crypto/, suggested by Bruno.
68648         * modules/crypto/hmac-sha1: Fix memxor dependency.
68649
68650         * modules/crypto/gc: Moved from ../.
68651
68652 2007-04-02  Eric Blake  <ebb9@byu.net>
68653
68654         * lib/ldexpl.c (includes): Avoid libm.
68655
68656         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
68657
68658 2007-04-02  Bruno Haible  <bruno@clisp.org>
68659
68660         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
68661         on IRIX.
68662
68663 2007-04-02  Bruno Haible  <bruno@clisp.org>
68664
68665         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
68666         x86 or x86_64 platforms running MacOS X.
68667         Reported by Ryan Schmidt <@ryandesign.com>.
68668
68669 2007-04-02  Bruno Haible  <bruno@clisp.org>
68670
68671         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
68672         i386.
68673
68674 2007-04-01  Simon Josefsson  <simon@josefsson.org>
68675
68676         * modules/crypto/arcfour: Moved from ../.
68677         * modules/crypto/arcfour-tests: Moved from ../.
68678         * modules/crypto/arctwo: Moved from ../.
68679         * modules/crypto/arctwo-tests: Moved from ../.
68680         * modules/crypto/des: Moved from ../.
68681         * modules/crypto/des-tests: Moved from ../.
68682         * modules/crypto/gc-arcfour: Moved from ../.
68683         * modules/crypto/gc-arcfour-tests: Moved from ../.
68684         * modules/crypto/gc-arctwo: Moved from ../.
68685         * modules/crypto/gc-arctwo-tests: Moved from ../.
68686         * modules/crypto/gc-des: Moved from ../.
68687         * modules/crypto/gc-des-tests: Moved from ../.
68688         * modules/crypto/gc-hmac-md5: Moved from ../.
68689         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
68690         * modules/crypto/gc-hmac-sha1: Moved from ../.
68691         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
68692         * modules/crypto/gc-md2: Moved from ../.
68693         * modules/crypto/gc-md2-tests: Moved from ../.
68694         * modules/crypto/gc-md4: Moved from ../.
68695         * modules/crypto/gc-md4-tests: Moved from ../.
68696         * modules/crypto/gc-md5: Moved from ../.
68697         * modules/crypto/gc-md5-tests: Moved from ../.
68698         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
68699         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
68700         * modules/crypto/gc-random: Moved from ../.
68701         * modules/crypto/gc-rijndael: Moved from ../.
68702         * modules/crypto/gc-rijndael-tests: Moved from ../.
68703         * modules/crypto/gc-sha1: Moved from ../.
68704         * modules/crypto/gc-sha1-tests: Moved from ../.
68705         * modules/crypto/gc-tests: Moved from ../.
68706         * modules/crypto/hmac-md5: Moved from ../.
68707         * modules/crypto/hmac-md5-tests: Moved from ../.
68708         * modules/crypto/hmac-sha1: Moved from ../.
68709         * modules/crypto/hmac-sha1-tests: Moved from ../.
68710         * modules/crypto/md2: Moved from ../.
68711         * modules/crypto/md2-tests: Moved from ../.
68712         * modules/crypto/md4: Moved from ../.
68713         * modules/crypto/md4-tests: Moved from ../.
68714         * modules/crypto/md5: Moved from ../.
68715         * modules/crypto/md5-tests: Moved from ../.
68716         * modules/crypto/memxor: Moved from ../.
68717         * modules/crypto/rijndael: Moved from ../.
68718         * modules/crypto/rijndael-tests: Moved from ../.
68719         * modules/crypto/sha1: Moved from ../.
68720
68721 2007-03-30  James Youngman  <jay@gnu.org>
68722
68723         * tests/test-stat-time.c (prepare_test): use chmod() rather than
68724         rename() to change the ctime of a file (because ctime is unaffected
68725         by rename on jfs2 on AIX 5.1).
68726         (main): Start by doing cleanup, in case a previous run failed leaving
68727         test files behind.
68728
68729 2007-03-31  Bruno Haible  <bruno@clisp.org>
68730
68731         Support old proprietary implementations of iconv.
68732         * modules/iconv_open: New file.
68733         * lib/iconv_.h: New file.
68734         * m4/iconv_h.m4: New file.
68735         * lib/iconv_open.c: New file.
68736         * lib/iconv_open-aix.gperf: New file.
68737         * lib/iconv_open-hpux.gperf: New file.
68738         * lib/iconv_open-irix.gperf: New file.
68739         * lib/iconv_open-osf.gperf: New file.
68740         * m4/iconv_open.m4: New file.
68741         * modules/linebreak (Depends-on): Add iconv_open.
68742         * modules/striconv (Depends-on): Likewise.
68743         * modules/striconveh (Depends-on): Likewise.
68744         * modules/unicodeio (Depends-on): Likewise.
68745         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
68746         (iconv_t)(-1).
68747         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
68748         conversion if cd is (iconv_t)(-1).
68749         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
68750         is not possible.
68751
68752 2007-03-31  Bruno Haible  <bruno@clisp.org>
68753
68754         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68755         work on Solaris either. Protect also second use of "autodetect_jp".
68756
68757 2007-03-31  Bruno Haible  <bruno@clisp.org>
68758
68759         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
68760         the function is not present.
68761
68762 2007-03-31  Bruno Haible  <bruno@clisp.org>
68763
68764         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
68765         the function is not present.
68766
68767 2007-03-31  Bruno Haible  <bruno@clisp.org>
68768
68769         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
68770         a bug in HP-UX iconv_open().
68771
68772 2007-03-31  Bruno Haible  <bruno@clisp.org>
68773
68774         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
68775         (Mathematics <math.h>): New section, add fpieee.
68776         (Input/output <stdio.h>): Add fseterr.
68777         (Mathematics <math.h>): New section, add printf-frexp.
68778         (Container data structures): Add sublist.
68779         (Core language properties): Add fpucw, inline.
68780         (Functions for greatest-width integer types <inttypes.h>): Add
68781         imaxabs, imaxdiv, inttypes.
68782         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
68783         isnanl-nolibm, ldexp.
68784         (Mathematics <math.h>): New section, add printf-frexpl.
68785         (Support for systems lacking POSIX:2001): Add fprintf-posix,
68786         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
68787         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
68788         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
68789         (Unicode string functions): Add unistr/u*-mbtoucr.
68790         (Java): Add javacomp-script, javaexec-script.
68791         (C#): Add csharpcomp-script, csharpexec-script.
68792         (Support for building libraries and executables): Add havelib,
68793         relocatable-*.
68794         (Support for maintaining and releasing projects): Renamed from
68795         'Support for maintaining and release projects'. Add announce-gen.
68796
68797 2007-03-31  Bruno Haible  <bruno@clisp.org>
68798
68799         * README: Talk primarily about git.
68800         (git and CVS): Renamed from CVS.
68801         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
68802         gnulib is available through git.
68803         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
68804
68805 2007-03-30  Bruno Haible  <bruno@clisp.org>
68806
68807         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
68808         * lib/poll_.h: Likewise.
68809         * lib/stat_.h: Likewise.
68810         * lib/sys_time_.h: Likewise.
68811         * lib/sysexit_.h: Likewise.
68812         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
68813         * lib/stdbool_.h: Likewise.
68814         * lib/byteswap_.h: Add double-inclusion guard.
68815
68816 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
68817
68818         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
68819
68820 2007-03-30  Karl Berry  <karl@gnu.org>
68821
68822         * config/srclist-update: double space after USA in the license
68823         substitution, since that's how it's usually (?) written.
68824
68825 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68826
68827         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
68828         reported by Bruno Haible.
68829
68830 2007-03-29  Bruno Haible  <bruno@clisp.org>
68831
68832         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
68833         a bug in AIX iconv().
68834
68835 2007-03-29  Bruno Haible  <bruno@clisp.org>
68836
68837         * modules/ldexpl-tests: New file.
68838         * tests/test-ldexpl.c: New file.
68839
68840 2007-03-29  Bruno Haible  <bruno@clisp.org>
68841
68842         * lib/ldexpl.c: Include fpucw.h.
68843         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
68844         multiplication.
68845         * modules/ldexpl (Depends-on): Add fpucw.
68846
68847 2007-03-29  Bruno Haible  <bruno@clisp.org>
68848
68849         * modules/ldexpl: New file.
68850         * m4/ldexpl.m4: New file.
68851         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
68852         set.
68853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
68854         REPLACE_LDEXPL.
68855         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
68856         REPLACE_LDEXPL.
68857         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68858         gl_FUNC_LDEXPL_WORKS.
68859         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
68860         * modules/mathl (Files): Remove lib/ldexpl.c.
68861         (Depends-on): Add ldexpl.
68862
68863 2007-03-29  Bruno Haible  <bruno@clisp.org>
68864
68865         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
68866
68867 2007-03-29  Bruno Haible  <bruno@clisp.org>
68868
68869         * tests/test-striconveh.c (main): Don't assume that a direct conversion
68870         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
68871         and possibly also HP-UX.
68872         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68873         work on AIX, IRIX, HP-UX, OSF/1.
68874         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
68875         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
68876         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
68877         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
68878         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
68879         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
68880
68881 2007-03-29  Bruno Haible  <bruno@clisp.org>
68882
68883         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
68884
68885 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68886
68887         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
68888         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
68889
68890 2007-03-29  Eric Blake  <ebb9@byu.net>
68891
68892         * lib/acl-internal.h: Remove redundant include.
68893         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
68894         Cygwin when a file is locked.
68895
68896 2007-03-29  Bruno Haible  <bruno@clisp.org>
68897
68898         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
68899         file.
68900         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
68901
68902 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68903
68904         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
68905         try to remove a parent directory if the child couldn't be removed
68906         (except for the first rmdir, which could fail because the child
68907         doesn't exist).  Problem reported by Jeff Blaine in
68908         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
68909
68910 2007-03-28  Bruno Haible  <bruno@clisp.org>
68911
68912         * lib/striconveh.c (utf8conv_carefully): New function.
68913         (mem_cd_iconveh_internal): Invoke it.
68914
68915 2007-03-28  Bruno Haible  <bruno@clisp.org>
68916
68917         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
68918         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
68919         input.
68920         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
68921         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
68922         unistr/u8-uctomb.
68923
68924 2007-03-28  Bruno Haible  <bruno@clisp.org>
68925
68926         * modules/unistr/u8-mbtoucr: New file.
68927         * lib/unistr/u8-mbtoucr.c: New file.
68928         * modules/unistr/u16-mbtoucr: New file.
68929         * lib/unistr/u16-mbtoucr.c: New file.
68930         * modules/unistr/u16-mbtoucr: New file.
68931         * lib/unistr/u16-mbtoucr.c: New file.
68932         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
68933
68934 2007-03-27  Simon Josefsson  <simon@josefsson.org>
68935             Bruno Haible  <bruno@clisp.org>
68936
68937         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
68938         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
68939         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
68940
68941         * m4/stdio_h.m4: Add stubs for vasprintf too.
68942
68943         * modules/stdio: Support vasprintf in sed command.
68944
68945         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68946         vasprintf.h.  Add stdio module indicator.
68947
68948         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68949         vasprintf.h.
68950
68951         * lib/vasprintf.h: File removed.
68952
68953         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68954         * lib/vasprintf.c: Ditto.
68955         * lib/xvasprintf.c: Ditto.
68956         * tests/test-vasprintf-posix.c: Ditto.
68957         * tests/test-vasprintf.c: Ditto.
68958
68959 2007-03-27  Bruno Haible  <bruno@clisp.org>
68960
68961         Make vasnprintf multithread-safe.
68962         * lib/vasnprintf.c (decimal_point_char): New function.
68963         (VASNPRINTF): Use it.
68964         Suggested by Simon Josefsson.
68965
68966 2007-03-27  Eric Blake  <ebb9@byu.net>
68967
68968         Support sub-second birthtime on cygwin.
68969         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68970         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68971         (get_stat_birthtime): Also work with st_birthtim.
68972
68973 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68974
68975         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68976         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68977         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68978         (get_stat_birthtime_ns): Simplify compile-time tests.
68979         (get_stat_birthtime): Change the API to look like
68980         get_stat_mtime etc., except return a negative tv_nsec on error.
68981         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68982         Don't check for "spare" fields.
68983         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68984         or for struct stat.st_birthtime, as these tests aren't used.
68985         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68986
68987 2007-03-27  Bruno Haible  <bruno@clisp.org>
68988
68989         * lib/stat-time.h: Include <sys/stat.h>.
68990
68991 2007-03-27  James Youngman  <jay@gnu.org>
68992
68993         * lib/stat-time.h (get_stat_birthtime): New function for
68994           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68995         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68996           and its variants.
68997         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68998         * modules/stat-time-test: New file.
68999         * tests/test-stat-time.c: New test, devised by Bruno Haible.
69000
69001 2007-03-26  Bruno Haible  <bruno@clisp.org>
69002
69003         Better support of signalling NaNs.
69004         * lib/atanl.c: Include isnanl.h.
69005         (atanl): Perform test for NaN at the beginning of the function and
69006         through a call to isnanl.
69007         * lib/cosl.c: Include isnanl.h.
69008         (cosl): Perform test for NaN at the beginning of the function and
69009         through a call to isnanl.
69010         * lib/ldexpl.c: Include isnanl.h.
69011         (ldexpl): Perform test for NaN through a call to isnanl.
69012         * lib/logl.c: Include isnanl.h.
69013         (logl): Perform test for NaN at the beginning of the function and
69014         through a call to isnanl.
69015         * lib/sinl.c: Include isnanl.h.
69016         (sinl): Perform test for NaN at the beginning of the function and
69017         through a call to isnanl.
69018         * lib/sqrtl.c: Include isnanl.h.
69019         (sqrtl): Perform test for NaN at the beginning of the function and
69020         through a call to isnanl.
69021         * lib/tanl.c: Include isnanl.h.
69022         (tanl): Perform test for NaN at the beginning of the function and
69023         through a call to isnanl.
69024         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
69025         * modules/mathl (Depends-on): Add isnanl.
69026
69027 2007-03-26  Eric Blake  <ebb9@byu.net>
69028
69029         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
69030         regression in logic sense of previous patch.
69031
69032 2007-03-26  Bruno Haible  <bruno@clisp.org>
69033
69034         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
69035         unportable shell command "if ! ...".
69036         Reported by Ralf Wildenhues.
69037
69038 2007-03-25  Bruno Haible  <bruno@clisp.org>
69039
69040         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
69041         <sysexits.h> file, and only add EX_CONFIG.
69042         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
69043         absolute file name and whether it is sufficient. Substitute also
69044         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
69045         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
69046         ABSOLUTE_SYSEXITS_H into sysexits.h.
69047
69048 2007-03-25  Bruno Haible  <bruno@clisp.org>
69049
69050         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
69051         hints is NULL.
69052
69053 2007-03-25  Bruno Haible  <bruno@clisp.org>
69054
69055         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
69056         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
69057
69058 2007-03-25  Bruno Haible  <bruno@clisp.org>
69059
69060         * lib/vasnprintf.c: Include langinfo.h.
69061         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
69062         multithread-safe.
69063         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
69064         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
69065         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69066         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69067         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69068         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69069         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69070         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
69071         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69072         Reported by Simon Josefsson.
69073
69074 2007-03-25  Bruno Haible  <bruno@clisp.org>
69075
69076         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
69077         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
69078         * modules/vasnprintf (Depends-on): Add stdint.
69079
69080 2007-03-25  Bruno Haible  <bruno@clisp.org>
69081
69082         * modules/fpieee: New file.
69083         * m4/fpieee.m4: New file.
69084         * modules/isnan-nolibm (Depends-on): Add fpieee.
69085         * modules/isnanl-nolibm (Depends-on): Add fpieee.
69086         * modules/isnanl (Depends-on): Add fpieee.
69087
69088 2007-03-25  Bruno Haible  <bruno@clisp.org>
69089
69090         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
69091
69092 2007-03-25  Bruno Haible  <bruno@clisp.org>
69093
69094         Avoid test failures on IRIX 6.5.
69095         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
69096         (main): Use it.
69097         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
69098         macros.
69099         (main): Use them.
69100
69101 2007-03-25  Bruno Haible  <bruno@clisp.org>
69102
69103         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
69104         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
69105         exists but doesn't work.
69106         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
69107         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
69108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
69109         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
69110         math.h.
69111
69112 2007-03-25  Bruno Haible  <bruno@clisp.org>
69113
69114         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
69115         returns inf. Needed on IRIX 6.5.
69116
69117 2007-03-25  Bruno Haible  <bruno@clisp.org>
69118
69119         * tests/test-frexpl.c: Include isnanl-nolibm.h.
69120         (main): Use isnanl instead of x != x idiom.
69121         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
69122
69123         * tests/test-frexp.c: Include isnan.h.
69124         (main): Use isnan instead of x != x idiom.
69125         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
69126
69127 2007-03-25  Bruno Haible  <bruno@clisp.org>
69128
69129         * tests/test-frexp.c (NaN): New function/macro.
69130         (main): Use it instead of 0.0 / 0.0.
69131         * tests/test-isnan.c (NaN): New function/macro.
69132         (main): Use it instead of 0.0 / 0.0.
69133         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
69134         (test_function): Use it instead of 0.0 / 0.0.
69135         * tests/test-vasprintf-posix.c (NaN): New function/macro.
69136         (test_function): Use it instead of 0.0 / 0.0.
69137         * tests/test-snprintf-posix.h (NaN): New function/macro.
69138         (test_function): Use it instead of 0.0 / 0.0.
69139         * tests/test-sprintf-posix.h (NaN): New function/macro.
69140         (test_function): Use it instead of 0.0 / 0.0.
69141         * tests/test-fprintf-posix.h (NaN): New function/macro.
69142         (test_function): Use it instead of 0.0 / 0.0.
69143         * tests/test-printf-posix.h (NaN): New function/macro.
69144         (test_function): Use it instead of 0.0 / 0.0.
69145
69146         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
69147
69148 2007-03-25  Bruno Haible  <bruno@clisp.org>
69149
69150         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
69151
69152 2007-03-25  Bruno Haible  <bruno@clisp.org>
69153
69154         * lib/regexec.c (merge_state_with_log): Make static.
69155
69156 2007-03-25  Bruno Haible  <bruno@clisp.org>
69157
69158         * lib/trigl.c (kernel_rem_pio2): Make static.
69159
69160 2007-03-25  Bruno Haible  <bruno@clisp.org>
69161
69162         * lib/sincosl.c (sincosl_table): Make static.
69163
69164 2007-03-25  Bruno Haible  <bruno@clisp.org>
69165
69166         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
69167         if the compiler does not support C99.
69168
69169 2007-03-25  Bruno Haible  <bruno@clisp.org>
69170
69171         * modules/time (Makefile.am): Ensure all rule action lines start with a
69172         tab.
69173
69174 2007-03-24  Bruno Haible  <bruno@clisp.org>
69175
69176         * modules/tsearch-tests: New file.
69177         * tests/test-tsearch.sh: New file.
69178         * tests/test-tsearch.c: New file, mostly copied from glibc.
69179
69180         * modules/search-tests: New file.
69181         * tests/test-search.c: New file.
69182
69183         * modules/search: New file.
69184         * lib/search_.h: New file, incorporating lib/tsearch.h.
69185         * m4/search_h.m4: New file.
69186         * lib/tsearch.h: Remove file.
69187         * lib/tsearch.c: Include search.h instead of tsearch.h.
69188         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
69189         HAVE_TSEARCH.
69190         * modules/tsearch (Files): Remove lib/tsearch.h.
69191         (Depends-on): Add search.
69192         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
69193         (Include): Change tsearch.h into search.h.
69194
69195 2007-03-24  Bruno Haible  <bruno@clisp.org>
69196
69197         * modules/fpucw: New file.
69198         * lib/fpucw.h: New file.
69199         * lib/frexp.c: Include fpucw.h.
69200         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
69201         (FUNC): Use them.
69202         * lib/printf-frexp.c: Include fpucw.h.
69203         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
69204         (FUNC): Use them.
69205         * lib/vasnprintf.c: Include fpucw.h.
69206         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
69207         'long double' calculations.
69208         * tests/test-frexpl.c: Include fpucw.h.
69209         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
69210         * tests/test-printf-frexpl.c: Include fpucw.h.
69211         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
69212         * modules/frexpl (Depends-on): Add fpucw.
69213         * modules/printf-frexpl (Depends-on): Likewise.
69214         * modules/fprintf-posix (Depends-on): Likewise.
69215         * modules/snprintf-posix (Depends-on): Likewise.
69216         * modules/sprintf-posix (Depends-on): Likewise.
69217         * modules/vasnprintf-posix (Depends-on): Likewise.
69218         * modules/vasprintf-posix (Depends-on): Likewise.
69219         * modules/vfprintf-posix (Depends-on): Likewise.
69220         * modules/vsnprintf-posix (Depends-on): Likewise.
69221         * modules/vsprintf-posix (Depends-on): Likewise.
69222         * modules/frexpl-tests (Depends-on): Likewise.
69223         * modules/printf-frexpl-tests (Depends-on): Likewise.
69224
69225 2007-03-24  Bruno Haible  <bruno@clisp.org>
69226
69227         * lib/float+.h: New file.
69228         * lib/isnan.c: Include float+.h.
69229         (SIZE): New macro.
69230         (FUNC): Compare only SIZE bytes of the value.
69231         * lib/vasnprintf.c: Include float+.h.
69232         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
69233         SIZEOF_LDBL or SIZEOF_DBL bytes.
69234         * modules/isnan-nolibm (Files): Add lib/float+.h.
69235         * modules/isnanl-nolibm (Files): Add lib/float+.h.
69236         * modules/isnanl (Files): Add lib/float+.h.
69237         * modules/vasnprintf (Files): Add lib/float+.h.
69238
69239 2007-03-24  Bruno Haible  <bruno@clisp.org>
69240
69241         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
69242         include isnanl-nolibm.h.
69243
69244 2007-03-24  Bruno Haible  <bruno@clisp.org>
69245
69246         * tests/test-read-file.c (main): Don't produce spurious output for
69247         expected situations. Make the test fail if it encountered unexpected
69248         results.
69249
69250 2007-03-24  Bruno Haible  <bruno@clisp.org>
69251
69252         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
69253         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
69254
69255 2007-03-24  Bruno Haible  <bruno@clisp.org>
69256
69257         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
69258
69259 2007-03-24  Bruno Haible  <bruno@clisp.org>
69260
69261         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
69262         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
69263
69264         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
69265         * modules/utf8-ucs4: Turn into a symbolic link to module
69266         unistr/u8-mbtouc.
69267
69268         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
69269         utf8-ucs4-unsafe.
69270         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
69271         unistr/u8-mbtouc-unsafe.
69272
69273         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
69274         * modules/utf16-ucs4: Turn into a symbolic link to module
69275         unistr/u16-mbtouc.
69276
69277         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
69278         utf16-ucs4-unsafe.
69279         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
69280         unistr/u16-mbtouc-unsafe.
69281
69282         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
69283         * modules/ucs4-utf8: Turn into a symbolic link to module
69284         unistr/u8-ubtomb.
69285
69286         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
69287         * modules/ucs4-utf16: Turn into a symbolic link to module
69288         unistr/u16-ubtomb.
69289
69290 2007-03-24  Bruno Haible  <bruno@clisp.org>
69291
69292         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
69293         Enable the function only if HAVE_INLINE.
69294         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
69295         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
69296         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
69297         Enable the function only if HAVE_INLINE.
69298         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
69299         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
69300         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
69301         Enable the function only if HAVE_INLINE.
69302         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
69303         Enable the function only if HAVE_INLINE.
69304         * modules/utf8-ucs4: Update.
69305         * modules/utf8-ucs4-unsafe: Update.
69306         * modules/utf16-ucs4: Update.
69307         * modules/utf16-ucs4-unsafe: Update.
69308         * modules/ucs4-utf8: Update.
69309         * modules/ucs4-utf16: Update.
69310
69311 2007-03-24  Bruno Haible  <bruno@clisp.org>
69312
69313         * lib/utf8-ucs4.h: Remove file.
69314         * lib/utf8-ucs4-unsafe.h: Remove file.
69315         * lib/utf16-ucs4.h: Remove file.
69316         * lib/utf16-ucs4-unsafe.h: Remove file.
69317         * lib/ucs4-utf8.h: Remove file.
69318         * lib/ucs4-utf16.h: Remove file.
69319         * lib/unistr.h: Include their previous contents.
69320         * m4/utf-ucs4.m4: Remove file.
69321         * m4/ucs4-utf.m4: Remove file.
69322         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
69323         (Depends-on): Add unistr/base.
69324         (configure.ac): Remove gl_UTF_UCS4.
69325         (Makefile.am): Update.
69326         (Include): Change to unistr.h.
69327         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
69328         (Depends-on): Add unistr/base.
69329         (configure.ac): Remove gl_UTF_UCS4.
69330         (Makefile.am): Update.
69331         (Include): Change to unistr.h.
69332         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
69333         (Depends-on): Add unistr/base.
69334         (configure.ac): Remove gl_UTF_UCS4.
69335         (Makefile.am): Update.
69336         (Include): Change to unistr.h.
69337         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
69338         (Depends-on): Add unistr/base.
69339         (configure.ac): Remove gl_UTF_UCS4.
69340         (Makefile.am): Update.
69341         (Include): Change to unistr.h.
69342         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
69343         (Depends-on): Add unistr/base.
69344         (configure.ac): Remove gl_UCS4_UTF.
69345         (Makefile.am): Update.
69346         (Include): Change to unistr.h.
69347         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
69348         (Depends-on): Add unistr/base.
69349         (configure.ac): Remove gl_UCS4_UTF.
69350         (Makefile.am): Update.
69351         (Include): Change to unistr.h.
69352         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
69353         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
69354         utf8-ucs4-unsafe.h.
69355         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
69356         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
69357         utf16-ucs4-unsafe.h.
69358         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
69359         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
69360         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
69361         * lib/unistr/u8-strchr.c: Likewise.
69362         * lib/unistr/u8-strrchr.c: Likewise.
69363         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
69364         * lib/unistr/u16-strchr.c: Likewise.
69365         * lib/unistr/u16-strrchr.c: Likewise.
69366         * lib/striconveh.c: Update.
69367         * lib/linebreak.c: Update.
69368
69369 2007-03-24  Bruno Haible  <bruno@clisp.org>
69370
69371         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
69372         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
69373
69374 2007-03-22  Bruno Haible  <bruno@clisp.org>
69375
69376         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
69377
69378 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69379
69380         * MODULES.html.sh (File system functions): New module write-any-file.
69381         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
69382         * m4/write-any-file.m4: New files.
69383
69384 2007-03-23  Eric Blake  <ebb9@byu.net>
69385
69386         * gnulib-tool: Rearrange space-tab sequences, since some editors
69387         like to eat them.
69388
69389 2007-03-23  Eric Blake  <ebb9@byu.net>
69390
69391         * lib/version-etc.c (version_etc_va): Update license wording to
69392         be more concise.  Recommended by Richard Stallman.
69393
69394 2007-03-22  Bruno Haible  <bruno@clisp.org>
69395
69396         * lib/poll.c (MSG_PEEK): New fallback definition.
69397
69398 2007-03-22  Bruno Haible  <bruno@clisp.org>
69399
69400         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
69401         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
69402         (main): Update.
69403         Fixes a compilation error on BeOS.
69404
69405 2007-03-22  Bruno Haible  <bruno@clisp.org>
69406
69407         * modules/frexpl-tests: New file.
69408         * tests/test-frexpl.c: New file.
69409
69410         * modules/frexpl: New file.
69411         * m4/frexpl.m4: New file.
69412         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
69413         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
69414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
69415         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
69416         (Depends-on): Add frexpl. Remove isnanl-nolibm.
69417         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
69418
69419 2007-03-22  Bruno Haible  <bruno@clisp.org>
69420
69421         * lib/frexpl.c: Share code with lib/frexp.c.
69422         * modules/mathl (Files): Add lib/frexp.c.
69423         (Depends-on): Add isnanl-nolibm.
69424
69425 2007-03-22  Bruno Haible  <bruno@clisp.org>
69426
69427         * modules/printf-frexp (Files): Add m4/frexp.m4.
69428         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
69429         only if the found frexp function actually works.
69430
69431 2007-03-22  Bruno Haible  <bruno@clisp.org>
69432
69433         * lib/frexp.c: Remove older implementation that uses divisions.
69434
69435 2007-03-21  Bruno Haible  <bruno@clisp.org>
69436
69437         * modules/frexp-tests: New file.
69438         * tests/test-frexp.c: New file.
69439
69440         * modules/frexp: New file.
69441         * lib/frexp.c: New file.
69442         * m4/frexp.m4: New file.
69443         * lib/math_.h (frexp): New declaration.
69444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
69445         REPLACE_FREXP.
69446         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
69447
69448 2007-03-21  Bruno Haible  <bruno@clisp.org>
69449
69450         * modules/isnanl-tests: New file.
69451         * tests/test-isnanl.c: New file.
69452
69453         * modules/isnanl: New file.
69454         * lib/isnanl.h: New file.
69455         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
69456         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
69457         gl_FUNC_ISNANL_WORKS.
69458         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
69459         New macros.
69460
69461 2007-03-21  Bruno Haible  <bruno@clisp.org>
69462
69463         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
69464         lib/isnanl.h.
69465         (Include): Update.
69466         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
69467         * lib/vasnprintf.c: Update.
69468         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
69469         tests/test-isnanl.h, remove tests/test-isnanl.c.
69470         (Makefile.am): Update.
69471         * tests/test-isnanl-nolibm.c: New file.
69472         * tests/test-isnanl.h: New file.
69473         * tests/test-isnanl.c: Remove file.
69474
69475 2007-03-21  Jim Meyering  <jim@meyering.net>
69476
69477         When trying to open ".", treat ESTALE like EACCES.
69478         * lib/savewd.c (savewd_save): Resort to forking not just upon
69479         failure with EACCES, but also when errno is ESTALE.
69480
69481 2007-03-20  Bruno Haible  <bruno@clisp.org>
69482
69483         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
69484         Needed on AIX 5.1. Reported by Matthew Woehlke.
69485
69486 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69487
69488         Suggestions by Bruno Haible:
69489         * lib/acl-internal.h: Include "gettext.h" rather than rolling
69490         our own.
69491         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
69492         * modules/acl (Depends-on): Add gettext.
69493
69494 2007-03-19  Bruno Haible  <bruno@clisp.org>
69495
69496         * modules/iconvme: Remove file.
69497         * lib/iconvme.h: Remove file.
69498         * lib/iconvme.c: Remove file.
69499         * m4/iconvme.m4: Remove file.
69500
69501 2007-03-19  Bruno Haible  <bruno@clisp.org>
69502
69503         * doc/relocatable-maint.texi: Break long shell script line.
69504         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
69505
69506 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69507
69508         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
69509         handle file_has_acl.
69510         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
69511         * lib/acl.c: Move header inclusions and related macro defns into
69512         lib/acl-internal.h.
69513         (S_ISLNK): Remove defn, since that's now done for us.
69514         (file_has_acl): Move to lib/file-has-acl.c.
69515         Call acl_trivial if available.  This is the crucial part of the fix.
69516         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
69517         shared within the library.  Rewrite a bit, partly to make it compatible
69518         with the GNU coding style.
69519         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
69520         Remove unnecessary double-quotes.
69521         Don't test for acl_to_text; the build will catch that.
69522         Replace acl_entries if it doesn't exist and it is needed.
69523         Check for -lsec and acl_trivial (as used on Solaris 10).
69524         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
69525         lib/file-has-acl.c.
69526         (Depends-on): Add sys_stat, for S_ISLNK.
69527
69528 2007-03-19  Ben Pfaff  <blp@gnu.org>
69529
69530         * doc/gnulib.texi: Fix typos.
69531         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
69532
69533 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69534
69535         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
69536         If size is zero here, buf must be zero.
69537
69538 2007-03-19  Simon Josefsson  <simon@josefsson.org>
69539
69540         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
69541         <bruno@clisp.org>.
69542
69543 2007-03-18  Bruno Haible  <bruno@clisp.org>
69544
69545         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
69546         Suggested by Eric Blake.
69547
69548 2007-03-18  Ben Pfaff  <blp@gnu.org>
69549
69550         * doc/relocatable.texi: Recommend using as prefix a directory
69551         that does not exist and will never be created.  Based on
69552         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
69553         and others.
69554
69555 2007-03-17  Bruno Haible  <bruno@clisp.org>
69556
69557         * lib/fchownat.c: Include lchown.h.
69558
69559 2007-03-17  Bruno Haible  <bruno@clisp.org>
69560
69561         Fix endless loop when the given allocated size was > INT_MAX.
69562         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
69563         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
69564         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
69565         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
69566         * lib/sprintf.c (sprintf): Likewise.
69567
69568 2007-03-17  Bruno Haible  <bruno@clisp.org>
69569
69570         * tests/test-argp-2.sh (func_compare): Output a context diff.
69571
69572 2007-03-17  Bruno Haible  <bruno@clisp.org>
69573
69574         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
69575         locale's decimal-point character.
69576
69577 2007-03-17  Bruno Haible  <bruno@clisp.org>
69578
69579         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
69580         before comparing it. Needed because on some platforms (e.g. x86) a
69581         'long double' occupies less bytes than sizeof (long double).
69582
69583 2007-03-17  Bruno Haible  <bruno@clisp.org>
69584
69585         * tests/test-crc.c (main): Make printf statements 64-bit clean.
69586         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
69587         * tests/test-getaddrinfo.c (simple): Likewise.
69588         * tests/test-read-file.c (main): Likewise.
69589
69590 2007-03-17  Bruno Haible  <bruno@clisp.org>
69591
69592         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
69593
69594 2007-03-17  Bruno Haible  <bruno@clisp.org>
69595
69596         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
69597         unused variable.
69598
69599 2007-03-17  Bruno Haible  <bruno@clisp.org>
69600
69601         * tests/test-c-strcasecmp.c: Include c-strcase.h.
69602         * tests/test-c-strncasecmp.c: Likewise.
69603
69604 2007-03-17  Bruno Haible  <bruno@clisp.org>
69605
69606         * modules/stdlib (Depends-on): Add unistd.
69607         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
69608         Needed for MacOS X 10.3.
69609
69610 2007-03-17  Bruno Haible  <bruno@clisp.org>
69611
69612         * lib/unistr/u-strdup.h: Include <stdlib.h>.
69613
69614 2007-03-17  Bruno Haible  <bruno@clisp.org>
69615
69616         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
69617
69618 2007-03-17  Bruno Haible  <bruno@clisp.org>
69619
69620         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
69621         to reflect files copied from gnulib (with or without modifications).
69622         Suggested by Jim Meyering.
69623
69624 2007-03-17  Eric Blake  <ebb9@byu.net>
69625
69626         * NEWS: Document stdlib change from 2007-02-18.
69627
69628 2007-03-17  Jim Meyering  <jim@meyering.net>
69629
69630         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
69631         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
69632         someone uses a name containing shell meta-characters.
69633         Reported by Alfred M. Szmidt.
69634
69635         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
69636
69637 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69638
69639         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
69640         and copy gettext configuration files only if configure.ac contains
69641         a use of AM_GNU_GETTEXT_VERSION.
69642
69643 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69644
69645         * build-aux/bootstrap (gnulib_name): New variable.
69646         (gnulib_tool_options): Use it.
69647
69648 2007-03-13  Simon Josefsson  <simon@josefsson.org>
69649
69650         * tests/test-des.c: Use new namespace.
69651
69652 2007-03-15  Bruno Haible  <bruno@clisp.org>
69653
69654         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
69655         Reported by James Youngman <jay@gnu.org>.
69656
69657 2007-03-15  Bruno Haible  <bruno@clisp.org>
69658
69659         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
69660         declared prototype. Needed with cc on OSF/1 5.1.
69661
69662 2007-03-15  Bruno Haible  <bruno@clisp.org>
69663
69664         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
69665         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
69666         (struct gl_list_implementation): Add dispose_fn argument to the
69667         'create_empty', 'create' methods.
69668         (struct gl_list_impl_base): Add field 'dispose_fn'.
69669         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
69670         argument.
69671         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
69672         dispose_fn argument.
69673         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
69674         dispose_fn on the dropped values.
69675         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
69676         dispose_fn argument.
69677         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
69678         dropped values.
69679         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
69680         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69681         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
69682         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69683         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
69684         argument.
69685         (gl_tree_list_free): Call dispose_fn on the dropped values.
69686         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
69687         the dropped values.
69688         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69689         Add dispose_fn argument.
69690         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
69691         Call dispose_fn on the dropped values.
69692         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
69693         Add dispose_fn argument.
69694         (gl_sublist_create): Initialize the 'dispose_fn' field.
69695         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
69696         * tests/test-array_list.c (main): Update.
69697         * tests/test-carray_list.c (main): Update.
69698         * tests/test-avltree_list.c (main): Update.
69699         * tests/test-rbtree_list.c (main): Update.
69700         * tests/test-avltreehash_list.c (main): Update.
69701         * tests/test-rbtreehash_list.c (main): Update.
69702         * tests/test-linked_list.c (main): Update.
69703         * tests/test-linkedhash_list.c (main): Update.
69704         * tests/test-array_oset.c (main): Update.
69705
69706 2007-03-15  Bruno Haible  <bruno@clisp.org>
69707
69708         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
69709         (gl_oset_create_empty): Add dispose_fn argument.
69710         (struct gl_oset_implementation): Add dispose_fn argument to
69711         'create_empty' method.
69712         (struct gl_oset_impl_base): Add dispose_fn field.
69713         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
69714         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
69715         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
69716         values.
69717         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
69718         (gl_tree_oset_free): Call dispose_fn on the dropped values.
69719         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69720         dropped value.
69721         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69722         dropped value.
69723         * tests/test-array_oset.c (main): Update.
69724         * tests/test-avltree_oset.c (main): Update.
69725         * tests/test-rbtree_oset.c (main): Update.
69726         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
69727
69728 2007-03-13  Bruno Haible  <bruno@clisp.org>
69729
69730         * tests/test-stdbool.c (i): Update after last patch.
69731
69732 2007-03-12  Bruno Haible  <bruno@clisp.org>
69733
69734         * lib/quotearg.c: Include <wctype.h> early, before the definition of
69735         the iswprint macro. Needed on Solaris 2.5.1.
69736
69737 2007-03-12  Bruno Haible  <bruno@clisp.org>
69738
69739         * tests/test-printf-frexp.c (main): Declare x as volatile.
69740
69741 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69742
69743         * doc/gnulib.texi (Build robot for gnulib): New section.
69744
69745 2007-03-12  Jim Meyering  <jim@meyering.net>
69746
69747         * build-aux/bootstrap: New file.
69748         * build-aux/bootstrap.conf: New file, from coreutils.
69749
69750 2007-03-11  Bruno Haible  <bruno@clisp.org>
69751
69752         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
69753
69754 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69755
69756         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
69757         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
69758         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
69759
69760 2007-03-11  Bruno Haible  <bruno@clisp.org>
69761
69762         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
69763         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
69764
69765 2007-03-11  Bruno Haible  <bruno@clisp.org>
69766
69767         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
69768         formula. Needed for SunPRO C 5.0.
69769
69770 2007-03-11  Bruno Haible  <bruno@clisp.org>
69771
69772         * modules/long-options (Depends-on): Add getopt.
69773
69774 2007-03-11  Bruno Haible  <bruno@clisp.org>
69775
69776         * modules/modechange (Depends-on): Add stdbool.
69777
69778 2007-03-11  Bruno Haible  <bruno@clisp.org>
69779
69780         * modules/i-ring (Depends-on): Add stdbool.
69781
69782 2007-03-11  Bruno Haible  <bruno@clisp.org>
69783
69784         * modules/gc-des (Depends-on): Add stdbool.
69785
69786 2007-03-11  Bruno Haible  <bruno@clisp.org>
69787
69788         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
69789
69790 2007-03-11  Bruno Haible  <bruno@clisp.org>
69791
69792         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
69793
69794 2007-03-11  Bruno Haible  <bruno@clisp.org>
69795
69796         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
69797
69798 2007-03-11  Bruno Haible  <bruno@clisp.org>
69799
69800         * lib/vasnprintf.c (sprintf): Undefine.
69801
69802 2007-03-11  Bruno Haible  <bruno@clisp.org>
69803
69804         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
69805         initializers in SunPRO C and Compaq C compilers.
69806
69807 2007-03-11  Bruno Haible  <bruno@clisp.org>
69808
69809         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
69810         decrementing code ANSI C compliant.
69811
69812 2007-03-11  Bruno Haible  <bruno@clisp.org>
69813
69814         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
69815         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
69816
69817 2007-03-11  Bruno Haible  <bruno@clisp.org>
69818
69819         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
69820         <stdbool.h> substitute doesn't pass.
69821
69822 2007-03-11  Bruno Haible  <bruno@clisp.org>
69823
69824         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
69825
69826 2007-03-11  Bruno Haible  <bruno@clisp.org>
69827
69828         * gnulib-tool (func_create_megatestdir): Create also an autobuild
69829         script, for submission to autobuild.josefsson.org.
69830
69831 2007-03-10  Bruno Haible  <bruno@clisp.org>
69832
69833         * modules/canonicalize-lgpl-tests: New file.
69834         * tests/test-canonicalize-lgpl.sh: New file.
69835         * tests/test-canonicalize-lgpl.c: New file.
69836
69837         * modules/c-strcase-tests: New file.
69838         * tests/test-c-strcase.sh: New file.
69839         * tests/test-c-strcasecmp.c: New file.
69840         * tests/test-c-strncasecmp.c: New file.
69841
69842         * modules/atexit-tests: New file.
69843         * tests/test-atexit.sh: New file.
69844         * tests/test-atexit.c: New file.
69845
69846 2007-03-10  Bruno Haible  <bruno@clisp.org>
69847
69848         * tests/test-binary-io.sh: Use temporary filenames that are not so
69849         likely to clash with those of other tests (in a parallel make).
69850         * tests/test-binary-io.c: Likewise.
69851
69852 2007-03-10  Bruno Haible  <bruno@clisp.org>
69853
69854         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
69855         fallback; use #error instead.
69856         Suggested by Simon Josefsson.
69857
69858 2007-03-10  Bruno Haible  <bruno@clisp.org>
69859
69860         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
69861         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
69862         first and the last.
69863
69864 2007-03-10  Bruno Haible  <bruno@clisp.org>
69865
69866         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
69867
69868 2007-03-10  Bruno Haible  <bruno@clisp.org>
69869
69870         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
69871         "make distcheck".
69872         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
69873         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
69874         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
69875
69876 2007-03-10  Bruno Haible  <bruno@clisp.org>
69877
69878         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
69879         variable.
69880         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
69881         variable.
69882
69883 2007-03-09  Eric Blake  <ebb9@byu.net>
69884         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
69885
69886         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
69887         types are not being provided by gnulib.
69888         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
69889         types are supported.
69890
69891 2007-03-10  Bruno Haible  <bruno@clisp.org>
69892
69893         * lib/stdio_.h (__attribute__): New macro.
69894         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
69895         vsprintf): Specify __attribute__ __format__ for GCC.
69896         Suggested by Eric Blake.
69897
69898 2007-03-09  Bruno Haible  <bruno@clisp.org>
69899
69900         * modules/printf-posix-tests: New file.
69901         * tests/test-printf-posix.sh: New file.
69902         * tests/test-printf-posix.c: New file.
69903
69904         * modules/printf-posix: New file.
69905         * lib/printf.c: New file.
69906         * m4/printf-posix-rpl.m4: New file.
69907         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
69908         REPLACE_PRINTF.
69909         * lib/stdio_.h (printf): New declaration.
69910         (format, __format__, ____printf____, ____scanf____, ____strftime____,
69911         ____strfmon____): New macros.
69912         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
69913         REPLACE_PRINTF.
69914
69915 2007-03-09  Bruno Haible  <bruno@clisp.org>
69916
69917         * tests/test-vasnprintf-posix2.sh: New file.
69918         * tests/test-vasnprintf-posix2.c: New file.
69919         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
69920         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69921         (Makefile.am): Activate test-vasnprintf-posix2.sh.
69922
69923         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
69924         a locale dependent decimal point, rather than always '.'.
69925
69926 2007-03-09  Eric Blake  <ebb9@byu.net>
69927
69928         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
69929         spite of platforms like Tandem/NSK that define it to -1.
69930
69931 2007-03-08  Bruno Haible  <bruno@clisp.org>
69932
69933         * modules/vprintf-posix-tests: New file.
69934         * tests/test-vprintf-posix.sh: New file.
69935         * tests/test-vprintf-posix.c: New file.
69936         * tests/test-printf-posix.h: New file.
69937
69938         * modules/vprintf-posix: New file.
69939         * lib/vprintf.c: New file.
69940         * m4/vprintf-posix.m4: New file.
69941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
69942         REPLACE_VPRINTF.
69943         * lib/stdio_.h (vprintf): New declaration.
69944         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69945         REPLACE_VPRINTF.
69946
69947 2007-03-08  Bruno Haible  <bruno@clisp.org>
69948
69949         * modules/fprintf-posix-tests: New file.
69950         * tests/test-fprintf-posix.sh: New file.
69951         * tests/test-fprintf-posix.c: New file.
69952
69953         * modules/fprintf-posix: New file.
69954         * lib/fprintf.c: New file.
69955         * m4/fprintf-posix.m4: New file.
69956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69957         REPLACE_FPRINTF.
69958         * lib/stdio_.h (fprintf): New declaration.
69959         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69960         REPLACE_FPRINTF.
69961
69962 2007-03-08  Bruno Haible  <bruno@clisp.org>
69963
69964         * modules/vfprintf-posix-tests: New file.
69965         * tests/test-vfprintf-posix.sh: New file.
69966         * tests/test-vfprintf-posix.c: New file.
69967         * tests/test-fprintf-posix.h: New file.
69968         * tests/test-fprintf-posix.out: New file.
69969
69970         * modules/vfprintf-posix: New file.
69971         * lib/vfprintf.c: New file.
69972         * m4/vfprintf-posix.m4: New file.
69973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69974         REPLACE_VFPRINTF.
69975         * lib/stdio_.h (vfprintf): New declaration.
69976         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69977         REPLACE_VFPRINTF.
69978
69979 2007-03-08  Bruno Haible  <bruno@clisp.org>
69980
69981         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69982
69983 2007-03-08  Bruno Haible  <bruno@clisp.org>
69984
69985         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69986         instead of 'expr' invocations.
69987         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69988         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69989         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69990         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69991         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69992         Suggested by Paul Eggert.
69993
69994 2007-03-08  Bruno Haible  <bruno@clisp.org>
69995
69996         * modules/fseterr-tests: New file.
69997         * tests/test-fseterr.c: New file.
69998
69999         * modules/fseterr: New file.
70000         * lib/fseterr.h: New file.
70001         * lib/fseterr.c: New file.
70002
70003 2007-03-08  Bruno Haible  <bruno@clisp.org>
70004
70005         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
70006         * lib/getopt_.h: Likewise.
70007         * lib/mbswidth.h: Likewise.
70008         * lib/setenv.h: Likewise.
70009         * lib/vasnprintf.h: Likewise.
70010         * lib/vasprintf.h: Likewise.
70011         * lib/verror.h: Likewise.
70012         * lib/xsetenv.h: Likewise.
70013         * lib/xvasprintf.h: Likewise.
70014
70015 2007-03-08  Jim Meyering  <jim@meyering.net>
70016
70017         * users.txt: Add parted.
70018
70019         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
70020
70021 2007-03-07  Bruno Haible  <bruno@clisp.org>
70022
70023         * m4/printf.m4: Make the shell script snippets copy&pastable.
70024
70025 2007-03-02  Bruno Haible  <bruno@clisp.org>
70026
70027         * lib/netinet_in_.h: New file.
70028         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
70029         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
70030         * modules/netinet_in (Files): Add lib/netinet_in_.h.
70031         (Depends-on): Add absolute-header.
70032         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
70033         into netinet/in.h.
70034
70035 2007-03-03  Bruno Haible  <bruno@clisp.org>
70036
70037         * lib/sys_select_.h: New file.
70038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
70039         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
70040         * modules/sys_select (Files): Add lib/sys_select_.h.
70041         (Depends-on): Add absolute-header.
70042         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
70043         into sys/select.h.
70044
70045 2007-03-02  Bruno Haible  <bruno@clisp.org>
70046
70047         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
70048         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
70049         values.
70050         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
70051         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
70052         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
70053         * modules/sys_socket (Depends-on): Add absolute-header.
70054         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
70055         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
70056         (Include): Remove requirement of inclusion of <sys/types.h>.
70057
70058 2007-03-02  Bruno Haible  <bruno@clisp.org>
70059
70060         * lib/byteswap_.h (bswap_32): Fix formula.
70061
70062 2007-03-06  Bruno Haible  <bruno@clisp.org>
70063
70064         * modules/sprintf-posix-tests: New file.
70065         * tests/test-sprintf-posix.c: New file.
70066
70067         * modules/sprintf-posix: New file.
70068         * lib/sprintf.c: New file.
70069         * m4/sprintf-posix.m4: New file.
70070         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
70071         REPLACE_SPRINTF.
70072         * lib/stdio_.h (sprintf): New declaration.
70073         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
70074         REPLACE_SPRINTF.
70075
70076 2007-03-06  Bruno Haible  <bruno@clisp.org>
70077
70078         * modules/vsprintf-posix-tests: New file.
70079         * tests/test-vsprintf-posix.c: New file.
70080         * tests/test-sprintf-posix.h: New file.
70081
70082         * modules/vsprintf-posix: New file.
70083         * lib/vsprintf.c: New file.
70084         * m4/vsprintf-posix.m4: New file.
70085         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
70086         REPLACE_VSPRINTF.
70087         * lib/stdio_.h (vsprintf): New declaration.
70088         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
70089         REPLACE_VSPRINTF.
70090
70091 2007-03-06  Bruno Haible  <bruno@clisp.org>
70092
70093         * modules/vsnprintf (Depend-on): Remove minmax.
70094
70095 2007-03-06  Bruno Haible  <bruno@clisp.org>
70096
70097         * modules/snprintf-posix-tests: New file.
70098         * tests/test-snprintf-posix.c: New file.
70099
70100         * modules/snprintf-posix: New file.
70101         * m4/snprintf-posix.m4: New file.
70102         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
70103         gl_FUNC_SNPRINTF.
70104         (gl_FUNC_SNPRINTF): Invoke it.
70105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
70106         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
70107         is set.
70108         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
70109
70110 2007-03-06  Bruno Haible  <bruno@clisp.org>
70111
70112         * modules/vsnprintf-posix-tests: New file.
70113         * tests/test-vsnprintf-posix.c: New file.
70114         * tests/test-snprintf-posix.h: New file.
70115
70116         * modules/vsnprintf-posix: New file.
70117         * m4/vsnprintf-posix.m4: New file.
70118         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
70119         gl_FUNC_VSNPRINTF.
70120         (gl_FUNC_VSNPRINTF): Invoke it.
70121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
70122         * lib/stdio_.h (vsnprintf): Define as a replacement if
70123         REPLACE_VSNPRINTF is set.
70124         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
70125
70126 2007-03-06  Bruno Haible  <bruno@clisp.org>
70127
70128         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
70129         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
70130
70131 2007-03-06  Bruno Haible  <bruno@clisp.org>
70132
70133         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
70134         (asinl): Declare also if HAVE_DECL_ASINL is set.
70135         (atanl): Declare also if HAVE_DECL_ATANL is set.
70136         (ceill): Declare also if HAVE_DECL_CEILL is set.
70137         (cosl): Declare also if HAVE_DECL_COSL is set.
70138         (expl): Declare also if HAVE_DECL_EXPL is set.
70139         (floorl): Declare also if HAVE_DECL_FLOORL is set.
70140         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
70141         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
70142         (logl): Declare also if HAVE_DECL_LOGL is set.
70143         (sinl): Declare also if HAVE_DECL_SINL is set.
70144         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
70145         (tanl): Declare also if HAVE_DECL_TANL is set.
70146         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
70147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
70148         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
70149         declaration of frexpl, ldexpl.
70150         * modules/printf-frexpl (Depends-on): Add math.
70151         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
70152
70153 2007-03-05  Bruno Haible  <bruno@clisp.org>
70154
70155         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
70156         frexpl and ldexpl are declared.
70157         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
70158
70159 2007-03-05  Bruno Haible  <bruno@clisp.org>
70160
70161         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
70162         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
70163
70164 2007-03-05  Bruno Haible  <bruno@clisp.org>
70165
70166         * lib/stdio_.h: Include <stddef.h>.
70167
70168 2007-03-05  Bruno Haible  <bruno@clisp.org>
70169
70170         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
70171
70172 2007-03-05  Bruno Haible  <bruno@clisp.org>
70173
70174         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
70175         NetBSD 4, from Ralf Wildenhues.
70176
70177 2007-03-04  Bruno Haible  <bruno@clisp.org>
70178
70179         * lib/vasprintf.h: Update #if logic for the case when the functions
70180         exist but are overridden.
70181
70182 2007-03-04  Bruno Haible  <bruno@clisp.org>
70183
70184         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
70185         implementations: glibc-2.4 and MacOS X 10.3.
70186         * tests/test-vasnprintf-posix.c (test_function): Test also the case
70187         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
70188         * tests/test-vasprintf-posix.c (test_function): Likewise.
70189
70190 2007-03-04  Bruno Haible  <bruno@clisp.org>
70191
70192         * modules/vasprintf-posix-tests: New file.
70193         * tests/test-vasprintf-posix.c: New file.
70194
70195         * modules/vasprintf-posix: New file.
70196         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
70197         defined.
70198         * m4/vasprintf-posix.m4: New file.
70199         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
70200         gl_FUNC_VASPRINTF.
70201         (gl_FUNC_VASPRINTF): Invoke it.
70202         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
70203         here.
70204         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
70205
70206 2007-03-04  Bruno Haible  <bruno@clisp.org>
70207
70208         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
70209         REPLACE_GETTIMEOFDAY.
70210         * modules/sys_time (Makefile.am): Likewise.
70211         * m4/sys_time_h.m4: Likewise.
70212         * m4/gettimeofday.m4: Likewise.
70213
70214 2007-03-04  Bruno Haible  <bruno@clisp.org>
70215
70216         * modules/vasnprintf-posix-tests: New file.
70217         * tests/test-vasnprintf-posix.c: New file.
70218
70219         * modules/vasnprintf-posix: New file.
70220         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
70221         printf-frexpl.h.
70222         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
70223         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
70224         REPLACE_VASNPRINTF is defined.
70225         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
70226         gl_FUNC_VASNPRINTF.
70227         (gl_FUNC_VASNPRINTF): Invoke it.
70228         * m4/vasnprintf-posix.m4: New file.
70229         * m4/printf.m4: New file.
70230
70231 2007-03-04  Bruno Haible  <bruno@clisp.org>
70232
70233         Compile progreloc.c only if --enable-relocatable is specified.
70234         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
70235         if --enable-relocatable was specified.
70236         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
70237         lib_SOURCES.
70238
70239 2007-03-04  Jim Meyering  <jim@meyering.net>
70240
70241         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
70242         Use it consistently, rather than enumerating errno constants.
70243
70244 2007-03-04  Bruno Haible  <bruno@clisp.org>
70245
70246         * modules/xvasprintf-tests: New file.
70247         * tests/test-xvasprintf.c: New file.
70248
70249         * modules/vasprintf-tests: New file.
70250         * tests/test-vasprintf.c: New file.
70251
70252         * modules/vasnprintf-tests: New file.
70253         * tests/test-vasnprintf.c: New file.
70254
70255         * modules/vsnprintf-tests: New file.
70256         * tests/test-vsnprintf.c: New file.
70257
70258         * modules/snprintf-tests: New file.
70259         * tests/test-snprintf.c: New file.
70260
70261 2007-03-04  Bruno Haible  <bruno@clisp.org>
70262
70263         Compile relocatable.c only if --enable-relocatable is specified.
70264         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
70265         gl_RELOCATABLE_LIBRARY.
70266         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
70267         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
70268         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
70269         gl_RELOCATABLE_LIBRARY.
70270         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
70271         (Makefile.am): Remove lib_SOURCES.
70272         * modules/relocatable-lib-lgpl (configure.ac): Invoke
70273         gl_RELOCATABLE_LIBRARY.
70274         (Makefile.am): Remove lib_SOURCES.
70275         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
70276         always.
70277         * modules/relocatable-prog-wrapper (configure.ac): Invoke
70278         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
70279
70280 2007-03-04  Bruno Haible  <bruno@clisp.org>
70281
70282         * modules/argmatch-tests: New file.
70283         * tests/test-argmatch.c: New file.
70284
70285         * tests/test-allocsa.c (main): Halve the number of loop runs.
70286
70287         * modules/alloca-opt-tests: New file.
70288         * tests/test-alloca-opt.c: New file.
70289
70290 2007-03-04  Jim Meyering  <jim@meyering.net>
70291
70292         Work around difference between Linux ACLs and Solaris 10 ZFS.
70293         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
70294         for EINVAL.
70295
70296 2007-03-03  Bruno Haible  <bruno@clisp.org>
70297
70298         * modules/relocatable-prog (Depends-on): Add back progreloc's
70299         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
70300
70301 2007-03-03  Bruno Haible  <bruno@clisp.org>
70302
70303         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
70304         * modules/relocatable-lib: New file.
70305
70306 2007-03-03  Bruno Haible  <bruno@clisp.org>
70307
70308         * modules/relocatable-prog: Renamed from modules/relocatable.
70309         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
70310
70311 2007-03-03  Bruno Haible  <bruno@clisp.org>
70312
70313         * modules/relocatable-script (Files): Add doc/relocatable.texi,
70314         m4/relocatable-lib.m4.
70315         (Depends-on): Remove 'relocatable'.
70316         (configure.ac): Add gl_RELOCATABLE_NOP.
70317
70318 2007-03-03  Bruno Haible  <bruno@clisp.org>
70319
70320         * modules/relocatable-prog-wrapper: New file.
70321         * modules/relocatable (Depends-on): Add it. Remove all other
70322         dependencies except progname.
70323         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
70324
70325         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
70326         (gl_FUNC_STRERROR): Nop.
70327         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
70328
70329         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
70330         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
70331
70332         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
70333         (gl_FUNC_READLINK): Update.
70334
70335         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
70336
70337 2007-03-03  Bruno Haible  <bruno@clisp.org>
70338
70339         * lib/xreadlink.c: Include <unistd.h> unconditionally.
70340         * modules/xreadlink (Depends-on): Add unistd.
70341         * modules/xreadlink-with-size (Depends-on): Likewise.
70342
70343 2007-03-03  Bruno Haible  <bruno@clisp.org>
70344
70345         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
70346         extracted from gt_FUNC_SETENV.
70347         (gt_FUNC_SETENV): Remove macro.
70348         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
70349         remove gt_FUNC_SETENV.
70350
70351 2007-03-03  Bruno Haible  <bruno@clisp.org>
70352
70353         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
70354         ENABLE_RELOCATABLE here.
70355         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
70356
70357 2007-03-03  Bruno Haible  <bruno@clisp.org>
70358
70359         * modules/rbtreehash-list-tests (Depends-on): Add progname.
70360         * tests/test-rbtreehash_list.c: Include progname.h.
70361         (main): Call set_program_name.
70362
70363         * modules/rbtree-oset-tests (Depends-on): Add progname.
70364         * tests/test-rbtree_oset.c: Include progname.h.
70365         (main): Call set_program_name.
70366
70367         * modules/rbtree-list-tests (Depends-on): Add progname.
70368         * tests/test-rbtree_list.c: Include progname.h.
70369         (main): Call set_program_name.
70370
70371         * modules/linked-list-tests (Depends-on): Add progname.
70372         * tests/test-linked_list.c: Include progname.h.
70373         (main): Call set_program_name.
70374
70375 2007-03-03  Bruno Haible  <bruno@clisp.org>
70376
70377         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
70378         All uses of __restrict changed to _Restrict_.
70379         * lib/glob_.h (__restrict): Remove macro.
70380
70381 2007-03-02  Bruno Haible  <bruno@clisp.org>
70382
70383         * modules/gettext (configure.ac): Require gettext infrastructure
70384         from version 0.16.1.
70385
70386 2007-03-02  Bruno Haible  <bruno@clisp.org>
70387
70388         * modules/linkedhash-list-tests (Depends-on): Add progname.
70389         * tests/test-linkedhash_list.c: Include progname.h.
70390         (main): Call set_program_name.
70391
70392         * modules/carray-list-tests (Depends-on): Add progname.
70393         * tests/test-carray_list.c: Include progname.h.
70394         (main): Call set_program_name.
70395
70396         * modules/avltreehash-list-tests (Depends-on): Add progname.
70397         * tests/test-avltreehash_list.c: Include progname.h.
70398         (main): Call set_program_name.
70399
70400         * modules/avltree-oset-tests (Depends-on): Add progname.
70401         * tests/test-avltree_oset.c: Include progname.h.
70402         (main): Call set_program_name.
70403
70404         * modules/avltree-list-tests (Depends-on): Add progname.
70405         * tests/test-avltree_list.c: Include progname.h.
70406         (main): Call set_program_name.
70407
70408         * modules/array-oset-tests (Depends-on): Add progname.
70409         * tests/test-array_oset.c: Include progname.h.
70410         (main): Call set_program_name.
70411
70412         * modules/array-list-tests (Depends-on): Add progname.
70413         * tests/test-array_list.c: Include progname.h.
70414         (main): Call set_program_name.
70415
70416         * modules/argp-tests (Depends-on): Add progname.
70417         * tests/test-argp.c: Include argp.h first. Include progname.h.
70418         (main): Call set_program_name.
70419
70420 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
70421
70422         * doc/gnulib-tool.texi (Initial import): Reword description of
70423         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
70424         limited effect even if defined after the first system include.
70425
70426 2007-03-01  Bruno Haible  <bruno@clisp.org>
70427
70428         * build-aux/config.libpath: Update to libtool-1.5.22.
70429         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70430
70431 2007-03-01  Bruno Haible  <bruno@clisp.org>
70432
70433         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
70434         foo_CFLAGS.
70435         Reported by Ralf Wildenhues.
70436
70437 2007-03-01  Bruno Haible  <bruno@clisp.org>
70438
70439         * build-aux/install-reloc: Remove object files left over by some
70440         compilers.
70441         Reported by Ralf Wildenhues.
70442
70443 2007-03-01  Bruno Haible  <bruno@clisp.org>
70444
70445         * build-aux/install-reloc: Break long lines.
70446
70447 2007-03-01  Bruno Haible  <bruno@clisp.org>
70448
70449         * doc/relocatable.texi: Document that it may not work on OpenBSD.
70450         Reported by Ralf Wildenhues.
70451
70452 2007-03-01  Bruno Haible  <bruno@clisp.org>
70453
70454         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
70455         include ordering constraints.
70456
70457 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70458
70459         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
70460         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
70461         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
70462         as another example.
70463         * lib/time_.h: Fix misspelling.
70464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70465         Require gl_HEADER_TIME_H_DEFAULTS.
70466         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
70467         * m4/time_r.m4 (gl_TIME_R): Likewise.
70468         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
70469
70470 2007-03-01  Bruno Haible  <bruno@clisp.org>
70471
70472         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
70473         * m4/utimens.m4 (gl_UTIMENS): Likewise.
70474
70475 2007-03-01  Jim Meyering  <jim@meyering.net>
70476
70477         * modules/xreadlink (Maintainer): Add my name.
70478         * modules/xreadlink-with-size (Depends-on): Alphabetize.
70479
70480 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
70481             Bruno Haible  <bruno@clisp.org>
70482
70483         * build-aux/install-reloc: Compile also c-ctype.c.
70484         * build-aux/relocatable.sh.in: New file.
70485         * doc/relocatable.texi: New file.
70486         * doc/relocatable-maint.texi: New file.
70487         * doc/gnulib.texi: Include relocatable-maint.texi.
70488         * lib/progreloc.c: Include unistd.h unconditionally.
70489         * lib/relocwrapper.c: Include unistd.h unconditionally.
70490         Include c-ctype.h.
70491         (add_dotbin): Use c_tolower.
70492         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
70493         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
70494         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
70495         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
70496         to m4/relocatable-lib.m4.
70497         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
70498         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
70499         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
70500         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
70501         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
70502         * modules/relocatable: New file.
70503         * modules/relocatable-lib: New file.
70504         * modules/relocatable-script: New file.
70505
70506 2007-02-28  Bruno Haible  <bruno@clisp.org>
70507
70508         Import --enable-relocatable infrastructure.
70509         * build-aux/config.libpath: New file, from GNU gettext.
70510         * build-aux/install-reloc: New file, from GNU gettext.
70511         * build-aux/reloc-ldflags: New file, from GNU gettext.
70512         * lib/relocatable.h: New file, from GNU gettext.
70513         * lib/relocatable.c: New file, from GNU gettext.
70514         * lib/relocwrapper.c: New file, from GNU gettext.
70515         * m4/relocatable.m4: New file, from GNU gettext.
70516
70517 2007-02-28  Bruno Haible  <bruno@clisp.org>
70518
70519         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
70520
70521         * modules/xreadlink: New file, from GNU gettext with modifications.
70522         * lib/xreadlink.c: New file, from GNU gettext.
70523         * lib/xreadlink.h: Add comments.
70524         (xreadlink): New declaration.
70525
70526         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
70527         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
70528         lib/xreadlink-with-size.c.
70529         (configure.ac): Remove gl_XREADLINK invocation.
70530         (Makefile.am): Augment lib_SOURCES.
70531         * m4/xreadlink.m4: Remove file.
70532         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
70533         (xreadlink_with_size): Renamed from xreadink.
70534         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
70535         * modules/canonicalize (Depends-on): Replace xreadlink with
70536         xreadlink-with-size.
70537         * lib/canonicalize.c (canonicalize_filename_mode): Update.
70538
70539 2007-02-25  Jim Meyering  <jim@meyering.net>
70540
70541         * build-aux/announce-gen: When complaining about excess arguments,
70542         list them.
70543
70544 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70545
70546         * README: Document signed integer overflow situation more
70547         accurately.
70548
70549 2007-02-25  Bruno Haible  <bruno@clisp.org>
70550
70551         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
70552         'a' or 'A' conversion.
70553
70554 2007-02-25  Bruno Haible  <bruno@clisp.org>
70555
70556         * modules/filename: Renamed from modules/pathname.
70557         (Files): Replace lib/pathname.h with lib/filename.h. Replace
70558         lib/concatpath.c with lib/concat-filename.c.
70559         (Makefile.am): Update.
70560         (Include): Replace pathname.h with filename.h.
70561         * lib/filename.h: Renamed from lib/pathname.h.
70562         (concatenated_filename): Renamed from concatenated_pathname.
70563         * lib/concat-filename.c: Renamed from lib/concatpath.c.
70564         (concatenated_filename): Renamed from concatenated_pathname.
70565         * lib/findprog.c: Include filename.h instead of pathname.h.
70566         (find_in_path): Update.
70567         * lib/javacomp.c: Include filename.h instead of pathname.h.
70568         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
70569         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
70570         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
70571         is_oldgcj_14_13_usable, is_javac_usable): Update.
70572         * lib/javaexec.c: Include filename.h instead of pathname.h.
70573         (execute_java_class): Update.
70574         * modules/findprog: Update.
70575         * modules/javacomp: Update.
70576         * modules/javaexec: Update.
70577         * MODULES.html.sh (File system functions): Add 'filename', remove
70578         'pathname'.
70579
70580 2007-02-25  Bruno Haible  <bruno@clisp.org>
70581
70582         * modules/printf-frexpl-tests: New file.
70583         * tests/test-printf-frexpl.c: New file.
70584
70585         * modules/printf-frexpl: New file.
70586         * lib/printf-frexpl.h: New file.
70587         * lib/printf-frexpl.c: New file.
70588         * m4/printf-frexpl.m4: New file.
70589
70590 2007-02-25  Bruno Haible  <bruno@clisp.org>
70591
70592         * modules/printf-frexp-tests: New file.
70593         * tests/test-printf-frexp.c: New file.
70594
70595         * modules/printf-frexp: New file.
70596         * lib/printf-frexp.h: New file.
70597         * lib/printf-frexp.c: New file.
70598         * m4/printf-frexp.m4: New file.
70599
70600 2007-02-25  Bruno Haible  <bruno@clisp.org>
70601
70602         Assume automake >= 1.10 for the tests.
70603         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
70604         * modules/arctwo-tests: Likewise.
70605         * modules/argp-tests: Likewise.
70606         * modules/avltree-list-tests: Likewise.
70607         * modules/avltree-oset-tests: Likewise.
70608         * modules/avltreehash-list-tests: Likewise.
70609         * modules/carray-list-tests: Likewise.
70610         * modules/crc-tests: Likewise.
70611         * modules/des-tests: Likewise.
70612         * modules/gc-arcfour-tests: Likewise.
70613         * modules/gc-arctwo-tests: Likewise.
70614         * modules/gc-des-tests: Likewise.
70615         * modules/gc-hmac-md5-tests: Likewise.
70616         * modules/gc-hmac-sha1-tests: Likewise.
70617         * modules/gc-md2-tests: Likewise.
70618         * modules/gc-md4-tests: Likewise.
70619         * modules/gc-md5-tests: Likewise.
70620         * modules/gc-pbkdf2-sha1-tests: Likewise.
70621         * modules/gc-rijndael-tests: Likewise.
70622         * modules/gc-sha1-tests: Likewise.
70623         * modules/gc-tests: Likewise.
70624         * modules/getaddrinfo-tests: Likewise.
70625         * modules/hmac-md5-tests: Likewise.
70626         * modules/hmac-sha1-tests: Likewise.
70627         * modules/linked-list-tests: Likewise.
70628         * modules/linkedhash-list-tests: Likewise.
70629         * modules/lock-tests: Likewise.
70630         * modules/md2-tests: Likewise.
70631         * modules/md4-tests: Likewise.
70632         * modules/md5-tests: Likewise.
70633         * modules/rbtree-list-tests: Likewise.
70634         * modules/rbtree-oset-tests: Likewise.
70635         * modules/rbtreehash-list-tests: Likewise.
70636         * modules/read-file-tests: Likewise.
70637         * modules/rijndael-tests: Likewise.
70638         * modules/stdint-tests: Likewise.
70639         * modules/tls-tests: Likewise.
70640
70641 2007-02-24  Bruno Haible  <bruno@clisp.org>
70642
70643         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
70644         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
70645         function; instead check whether isnan with a double argument links.
70646         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
70647         function; instead check whether isnan with a 'long double' argument
70648         links.
70649         Reported by Eric Blake <ebb9@byu.net>.
70650
70651 2007-02-24  Bruno Haible  <bruno@clisp.org>
70652
70653         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
70654         defined.
70655         * lib/isnanl.c: Remove all code. Just include isnan.c.
70656         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
70657
70658 2007-02-25  Jim Meyering  <jim@meyering.net>
70659
70660         Avoid conflicting types for 'unsetenv' on FreeBSD.
70661         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
70662         conflicting with FreeBSD's (5.0 and 6.1) function declaration
70663         in stdlib.h.
70664
70665 2007-02-24  Bruno Haible  <bruno@clisp.org>
70666
70667         * modules/isnanl-nolibm-tests: New file.
70668         * tests/test-isnanl.c: New file.
70669
70670         * modules/isnanl-nolibm: New file.
70671         * lib/isnanl.h: New file.
70672         * lib/isnanl.c: New file.
70673         * m4/isnanl.m4: New file.
70674
70675 2007-02-24  Bruno Haible  <bruno@clisp.org>
70676
70677         * modules/isnan-nolibm-tests: New file.
70678         * tests/test-isnan.c: New file.
70679
70680         * modules/isnan-nolibm: New file.
70681         * lib/isnan.h: New file.
70682         * lib/isnan.c: New file.
70683         * m4/isnan.m4: New file.
70684
70685 2007-02-24  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
70688         assume that an exponent fits in 20 bits.
70689
70690 2007-02-24  Jim Meyering  <jim@meyering.net>
70691
70692         * m4/regex.m4: Update the description of the configure-time option,
70693         --without-included-regex, to state accurately what the defaults are,
70694         and perhaps to give people an idea why using this option is risky.
70695
70696 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70697
70698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
70699         loops on small arguments.  This attempts to avoid the problem
70700         Bruno Haible reported for AIX 4.3.2 in
70701         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
70702
70703 2007-02-23  Bruno Haible  <bruno@clisp.org>
70704
70705         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
70706         Needed for help2man.
70707
70708 2007-02-23  Karl Berry  <karl@gnu.org>
70709
70710         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
70711         exists, foo.h should be cvs-ignored, not committed.
70712
70713 2007-02-23  Eric Blake  <ebb9@byu.net>
70714
70715         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
70716         * lib/stat-time.h (includes): Likewise.
70717         * lib/utimecmp.c (includes): Likewise.
70718         * lib/utimens.h (includes): Likewise.
70719         * lib/getdate.y (includes): Also include "timespec.h" for use
70720         internal to the module.
70721         * modules/utimens (Depends-on): Revert yesterday's patch.
70722         * modules/nanosleep (Depends-on): Add missing dependency.
70723
70724 2007-02-22  Bruno Haible  <bruno@clisp.org>
70725
70726         * lib/glob.c: Don't include getlogin_r.h.
70727
70728 2007-02-22  Jim Meyering  <jim@meyering.net>
70729
70730         * modules/utimens (Depends-on): Add timespec, required for
70731         utimens.h's inclusion of timespec.h.
70732
70733 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
70734
70735         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
70736         long unreadable paths in GNU/Linux.  Problem reported by Andreas
70737         Schwab in
70738         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
70739         I'll try to think of a better way to fix the Solaris problem.
70740
70741         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
70742         like glibc; on Solaris 10, it fails with errno == EINVAL.
70743         POSIX says the behavior is unspecified if the first argument is NULL,
70744         so play it safe and never pass NULL to the system getcwd.
70745
70746 2007-02-21  Jim Meyering  <jim@meyering.net>
70747
70748         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
70749         of gettimeofday.  It would conflict with the one now always
70750         provided via sys_time_.h.  Reported by Matthew Woehlke, as
70751         an IRIX 6.5 build failure.
70752
70753 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70754
70755         Minor fixups to port to Solaris 10 with Sun C 5.8.
70756         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
70757         * modules/getcwd (Depends-on): Add dirfd.
70758         * lib/putenv.c (putenv): #undef it.
70759         (rpl_putenv): New decl.
70760         (malloc, free): Include <stdlib.h> rather than prototyping separately.
70761
70762 2007-02-20  Bruno Haible  <bruno@clisp.org>
70763
70764         * modules/stdio-tests: New file.
70765         * tests/test-stdio.c: New file.
70766
70767         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
70768         (Depends-on): Add stdio.
70769         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70770         (Include): Use <stdio.h> instead of vsnprintf.h.
70771         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70772         HAVE_DECL_VSNPRINTF.
70773         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
70774
70775         * modules/snprintf (Files): Remove lib/snprintf.h.
70776         (Depends-on): Add stdio.
70777         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70778         (Include): Use <stdio.h> instead of snprintf.h.
70779         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70780         HAVE_DECL_SNPRINTF.
70781         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
70782         * lib/getaddrinfo.c: Likewise.
70783
70784         * modules/stdio: New file.
70785         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
70786         * lib/snprintf.h: Remove file.
70787         * lib/vsnprintf.h: Remove file.
70788         * lib/.cppi-disable: Remove snprintf.h.
70789         * m4/stdio_h.m4: New file.
70790         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
70791
70792 2007-02-20  Jim Meyering  <jim@meyering.net>
70793
70794         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
70795         used by e.g., mingw.  From Bruno Haible.
70796
70797 2007-02-19  Bruno Haible  <bruno@clisp.org>
70798
70799         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
70800         warnings.
70801         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70802
70803 2007-02-19  Bruno Haible  <bruno@clisp.org>
70804
70805         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
70806         from mingw users.
70807
70808 2007-02-19  Bruno Haible  <bruno@clisp.org>
70809
70810         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
70811         warnings.
70812         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
70813
70814 2007-02-19  Jim Meyering  <jim@meyering.net>
70815
70816         Don't use FD after a successful "fdopendir (fd)".
70817         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
70818         Reset it by calling dirfd on the just-obtained DIR*.
70819
70820         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
70821         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
70822
70823 2007-02-18  Bruno Haible  <bruno@clisp.org>
70824
70825         * lib/readlink.c: Include <unistd.h>.
70826         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
70827         HAVE_READLINK.
70828         * modules/readlink (Depends-on): Add unistd.
70829         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70830         (Include): Add <unistd.h>.
70831
70832         * lib/getlogin_r.h: Remove file.
70833         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
70834         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
70835         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
70836         HAVE_DECL_GETLOGIN_R.
70837         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
70838         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70839         (Include): Use <unistd.h> instead of getlogin_r.h.
70840
70841         * lib/getcwd.h: Remove file.
70842         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
70843         * lib/xgetcwd.c: Likewise.
70844         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
70845         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
70846         * modules/getcwd (Files): Remove lib/getcwd.h.
70847         (Depends-on): Add unistd.
70848         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70849         (Include): Use <unistd.h> instad of getcwd.h.
70850
70851         * lib/ftruncate.c: Include <unistd.h> first.
70852         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
70853         Set HAVE_FTRUNCATE.
70854         * modules/ftruncate (Depends-on): Add unistd.
70855         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70856
70857         * lib/fchdir.c: Include <unistd.h> first.
70858         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
70859         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
70860         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
70861         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70862         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
70863
70864         * lib/dup2.c: Include <unistd.h> first.
70865         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
70866         HAVE_DUP2.
70867         * modules/dup2 (Depends-on): Add unistd.
70868         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70869
70870         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
70871         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
70872         REPLACE_CHOWN. Don't define chown as a macro here.
70873         * modules/chown (Depends-on): Add unistd.
70874         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70875
70876         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
70877         Add definition for GL_LINK_WARNING.
70878         (chown, dup2): New declarations.
70879         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
70880         link warning.
70881         (ftruncate): New declaration.
70882         (getcwd): New declaration, taken from old getcwd.h.
70883         (getlogin_r): New declaration, taken from old getlogin_r.h.
70884         (readlink): New declaration.
70885         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
70886         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
70887         (gl_PREREQ_UNISTD): Remove macro.
70888         (gl_UNISTD_MODULE_INDICATOR): New macro.
70889         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
70890         many new variables. Don't set UNISTD_H.
70891         * modules/unistd (Description): Change.
70892         (Depends-on): Add link-warning.
70893         (configure.ac): Update.
70894         (Makefile.am): Create unistd.h always. Substitute many new variables
70895         into it.
70896
70897 2007-02-18  Bruno Haible  <bruno@clisp.org>
70898
70899         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
70900         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
70901         HAVE_GETSUBOPT.
70902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
70903         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
70904         * lib/getsubopt.h: Remove file.
70905         * modules/getsubopt (Files): Remove lib/getsubopt.h.
70906         (Depends-on): Add stdlib.
70907         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70908         (Includes): Use <stdlib.h> instead of getsubopt.h.
70909         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
70910         Set HAVE_GETSUBOPT.
70911         * lib/getsubopt.c: Don't include getsubopt.h.
70912
70913 2007-02-18  Bruno Haible  <bruno@clisp.org>
70914
70915         * modules/fchdir (Depends-on): Add dup2.
70916
70917 2007-02-18  Bruno Haible  <bruno@clisp.org>
70918
70919         * lib/stdlib_.h: Handle glibc's special invocation convention
70920         specially.
70921
70922 2007-02-18  Bruno Haible  <bruno@clisp.org>
70923
70924         * modules/stdlib-tests: New file.
70925         * tests/test-stdlib.c: New file.
70926
70927         * modules/mkstemp (Files): Remove lib/mkstemp.h.
70928         (Depends-on): Add stdlib.
70929         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70930         (Includes): Use <stdlib.h> instead of mkstemp.h.
70931         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70932         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
70933         * lib/mkstemp.c: Don't include mkstemp.h.
70934         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
70935         * lib/stdlib--.h: Don't include mkstemp.h.
70936
70937         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
70938         (Depends-on): Add stdlib.
70939         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70940         (Includes): Use <stdlib.h> instead of mkdtemp.h.
70941         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70942         HAVE_MKDTEMP.
70943         * lib/mkdtemp.c: Don't include mkdtemp.h.
70944         * lib/clean-temp.c: Don't include mkdtemp.h.
70945
70946         * modules/exit (Files): Remove lib/exit.h.
70947         (Depends-on): Add stdlib.
70948         (Makefile.am): Remove lib_SOURCES.
70949         (Include): Use <stdlib.h> instead of exit.h.
70950         * lib/argmatch.c: Don't include exit.h.
70951         * lib/execute.c: Likewise.
70952         * lib/pagealign_alloc.c: Likewise.
70953         * lib/pipe.c: Likewise.
70954         * lib/wait-process.c: Likewise.
70955         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70956         * lib/exitfail.c: Likewise.
70957         * lib/savewd.c: Likewise.
70958         * lib/xsetenv.c: Likewise.
70959
70960         * modules/stdlib: New file.
70961         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70962         and extra comments about mkstemp().
70963         * lib/exit.h: Remove file.
70964         * lib/mkdtemp.h: Remove file.
70965         * lib/mkstemp.h: Remove file.
70966         * m4/stdlib_h.m4: New file.
70967         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70968
70969 2007-02-18  Bruno Haible  <bruno@clisp.org>
70970
70971         * modules/math-tests: New file.
70972         * tests/test-math.c: New file.
70973
70974         * modules/math: New file.
70975         * modules/mathl (Files): Remove lib/mathl.h.
70976         (Depends-on): Add math.
70977         (Makefile.am): Don't mention mathl.h.
70978         (Include): Use <math.h> instead of mathl.h.
70979         * lib/math_.h: New file.
70980         * lib/mathl.h: Remove file.
70981         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70982         mathl.h.
70983         * lib/asinl.c: Likewise.
70984         * lib/atanl.c: Likewise.
70985         * lib/ceill.c: Likewise.
70986         * lib/cosl.c: Likewise.
70987         * lib/expl.c: Likewise.
70988         * lib/floorl.c: Likewise.
70989         * lib/frexpl.c: Likewise.
70990         * lib/ldexpl.c: Likewise.
70991         * lib/logl.c: Likewise.
70992         * lib/sincosl.c: Likewise.
70993         * lib/sinl.c: Likewise.
70994         * lib/sqrtl.c: Likewise.
70995         * lib/tanl.c: Likewise.
70996         * lib/trigl.c: Likewise.
70997         * m4/math_h.m4: New file.
70998         * MODULES.html.sh (Mathematics): Add math.
70999
71000 2007-02-17  Bruno Haible  <bruno@clisp.org>
71001
71002         * modules/wctype-tests: New file.
71003         * tests/test-wctype.c: New file.
71004
71005         * modules/wchar-tests: New file.
71006         * tests/test-wchar.c: New file.
71007
71008         * modules/unistd-tests: New file.
71009         * tests/test-unistd.c: New file.
71010
71011         * modules/time-tests: New file.
71012         * tests/test-time.c: New file.
71013
71014         * modules/sysexits-tests: New file.
71015         * tests/test-sysexits.c: New file.
71016
71017         * modules/sys_time-tests: New file.
71018         * tests/test-sys_time.c: New file.
71019
71020         * modules/sys_stat-tests: New file.
71021         * tests/test-sys_stat.c: New file.
71022
71023         * modules/sys_socket-tests: New file.
71024         * tests/test-sys_socket.c: New file.
71025
71026         * modules/sys_select-tests: New file.
71027         * tests/test-sys_select.c: New file.
71028
71029         * modules/string-tests: New file.
71030         * tests/test-string.c: New file.
71031
71032         * modules/stdbool-tests: New file.
71033         * tests/test-stdbool.c: New file.
71034
71035         * modules/netinet_in-tests: New file.
71036         * tests/test-netinet_in.c: New file.
71037
71038         * modules/inttypes-tests: New file.
71039         * tests/test-inttypes.c: New file.
71040
71041         * modules/fcntl-tests: New file.
71042         * tests/test-fcntl.c: New file.
71043
71044         * modules/byteswap-tests: New file.
71045         * tests/test-byteswap.c: New file.
71046
71047         * modules/arpa_inet-tests: New file.
71048         * tests/test-arpa_inet.c: New file.
71049
71050 2007-02-17  Bruno Haible  <bruno@clisp.org>
71051
71052         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
71053         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
71054         if the corresponding module is not enabled. Emit link warnings if
71055         the function is used nevertheless.
71056         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
71057         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
71058         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
71059         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
71060         * modules/inttypes (Depends-on): Add link-warning.
71061         (Makefile.am): Copy the contents of build-aux/link-warning.h into
71062         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
71063         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
71064         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
71065         * modules/imaxdiv (configure.ac): Likewise.
71066         * modules/strtoimax (configure.ac): Likewise.
71067         * modules/strtoumax (configure.ac): Likewise.
71068
71069 2007-02-17  Bruno Haible  <bruno@clisp.org>
71070
71071         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
71072         gl_STRING_MODULE_INDICATOR_DEFAULTS.
71073         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
71074         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
71075
71076 2007-02-17  Bruno Haible  <bruno@clisp.org>
71077
71078         * modules/link-warning: New file.
71079         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
71080         * lib/string_.h (GL_LINK_WARNING): Remove definition.
71081         * modules/string (Depends-on): Add link-warning.
71082         (Makefile.am): Copy the contents of build-aux/link-warning.h into
71083         string.h.
71084         * MODULES.html.sh (Support for building libraries and executables): Add
71085         link-warning.
71086
71087 2007-02-17  Bruno Haible  <bruno@clisp.org>
71088
71089         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
71090         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
71091         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
71092         long lines.
71093
71094 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
71095             Bruno Haible  <bruno@clisp.org>
71096
71097         * modules/tmpfile: New file.
71098         * lib/tmpfile.c: New file.
71099         * m4/tmpfile.m4: New file.
71100         * MODULES.html.sh (func_all_modules): New section "Input/output".
71101
71102 2007-02-15  Bruno Haible  <bruno@clisp.org>
71103
71104         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
71105         (supports_delete_on_close): New function.
71106         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
71107
71108 2007-02-14  Bruno Haible  <bruno@clisp.org>
71109
71110         * modules/mbspcasecmp-tests: New file.
71111         * tests/test-mbspcasecmp.sh: New file.
71112         * tests/test-mbspcasecmp.c: New file.
71113
71114         New module mbspcasecmp.
71115         * modules/mbspcasecmp: New file.
71116         * lib/mbspcasecmp.c: New file.
71117         * lib/string_.h (strncasecmp): Change warning message.
71118         (mbspcasecmp): New declaration.
71119         * m4/mbspcasecmp.m4: New file.
71120         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71121         GNULIB_MBSPCASECMP.
71122         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
71123         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
71124
71125 2007-02-14  Bruno Haible  <bruno@clisp.org>
71126
71127         * modules/mbsncasecmp-tests: New file.
71128         * tests/test-mbsncasecmp.sh: New file.
71129         * tests/test-mbsncasecmp.c: New file.
71130
71131         New module mbsncasecmp.
71132         * modules/mbsncasecmp: New file.
71133         * lib/mbsncasecmp.c: New file.
71134         * lib/string_.h (mbsncasecmp): New declaration.
71135         * m4/mbsncasecmp.m4: New file.
71136         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71137         GNULIB_MBSNCASECMP.
71138         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
71139         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
71140
71141 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
71142
71143         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
71144         Verify that it doesn't overlap with our flags.
71145         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
71146         do not have the desired effect in multibyte locales; instead, use
71147         mbscasecmp.
71148         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
71149         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
71150         we don't require GNU fnmatch ourselves (if our users require it, they
71151         should do so explicitly).
71152
71153         Fix regex code so it doesn't rely on strcasecmp.
71154         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
71155         Otherwise, include gnulib's langinfo.h.
71156         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
71157         undesirable behavior in non-C locales.  Instead, rely on localecharset.
71158         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
71159         * modules/regex (FILES): Remove m4/codeset.m4.
71160         (Depends-on): Add localcharset.  Remove strcase.
71161
71162 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71163
71164         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
71165         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
71166
71167 2007-02-13  Bruno Haible  <bruno@clisp.org>
71168
71169         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
71170         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71171
71172 2007-02-12  Bruno Haible  <bruno@clisp.org>
71173
71174         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71175         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
71176         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
71177         time warning rather than a link error.
71178
71179 2007-02-12  Bruno Haible  <bruno@clisp.org>
71180
71181         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
71182         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
71183         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71184
71185 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71186
71187         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
71188         args, not 2.
71189
71190 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71191
71192         New module 'time', so that apps can include <time.h> as per
71193         POSIX and GNU instead of separate include files like time_r.h
71194         and timegm.h.  This implementation tries out a simpler approach
71195         for replacing decls in standard include files (as compared to
71196         the string module), somewhat as an experiment.
71197
71198         * config/srclist.txt: Comment out mktime.c for now.
71199         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
71200         since it doesn't apply any more.  Use generic wording instead.
71201         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
71202         'time'.
71203         * lib/time_.h, m4/time_h.m4, modules/time: New files.
71204         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
71205         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
71206         Don't include <sys/types.h>; no longer needed since we assume C89.
71207         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
71208         * lib/strftime.c: Likewise.
71209         * lib/time_r.c: Likewise.
71210         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
71211         * lib/nanosleep.c: Include <time.h> first, to check interface.
71212         * lib/strptime.c: Likewise.
71213         * lib/time_r.c: Likewise.
71214         * lib/timegm.c: Likewise.
71215         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
71216         needed.
71217         * lib/timegm.c: Don't include timegm.h; no longer needed.
71218         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
71219         time.h now handles any problems in that area.
71220         (struct timespec, nanosleep): Remove; time.h now arranges for these.
71221         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
71222         that time.h defines struct timespec.
71223         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
71224         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
71225         handles that.
71226         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
71227         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
71228         needed.  Set REPLACE_LOCALTIME.
71229         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
71230         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
71231         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
71232         nanosleep; time_h.m4 now does that.  Don't require
71233         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
71234         module handles this now.
71235         * modules/getdate (Depends-on): Remove timespec.  Add time.
71236         * modules/nanosleep (Depends-on): Likewise.
71237         * modules/stat-time (Depends-on): Likewise.
71238         * modules/nanosleep (Include): Include time.h, not timespec.h.
71239         * modules/strptime (Files): Remove lib/strptime.h.
71240         (Depends-on): Add extensions, time.
71241         (Include): Include time.h, not strptime.h.
71242         * modules/time_r (Files): Remove lib/time_r.h.
71243         (Depends-on): Add time.
71244         (Include): Include time.h, not time_r.h.
71245         * modules/timegm: Likewise.
71246         * modules/timespec (Description): Now does timespec-related decls
71247         of our own, instead of struct timespec itself.
71248         (Depends-on): Add time; remove extensions.
71249         (Maintainer): Add self.
71250         * modules/utimecmp (Depends-on): Add time; remove timespec.
71251         * modules/utimens (Depends-on): Likewise.
71252         * modules/xnanosleep (Depends-on): Likewise.
71253
71254 2007-02-11  Bruno Haible  <bruno@clisp.org>
71255
71256         * lib/c-strstr.c: Include allocsa.h.
71257         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71258         * lib/c-strcasestr.c: Include allocsa.h.
71259         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71260         * lib/strcasestr.c: Include allocsa.h.
71261         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71262         * lib/mbsstr.c: Include allocsa.h.
71263         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
71264         allocsa/freesa instead of malloc/free.
71265         * lib/mbscasestr.c: Include allocsa.h.
71266         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
71267         allocsa/freesa instead of malloc/free.
71268         * modules/c-strstr (Depends-on): Add allocsa.
71269         * modules/c-strcasestr (Depends-on): Likewise.
71270         * modules/strcasestr (Depends-on): Likewise.
71271         * modules/mbsstr (Depends-on): Likewise.
71272         * modules/mbscasestr (Depends-on): Likewise.
71273
71274 2007-02-11  Bruno Haible  <bruno@clisp.org>
71275
71276         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
71277
71278         * modules/mbsspn-tests: New file.
71279         * tests/test-mbsspn.sh: New file.
71280         * tests/test-mbsspn.c: New file.
71281
71282 2007-02-11  Bruno Haible  <bruno@clisp.org>
71283
71284         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
71285
71286         * modules/mbspbrk-tests: New file.
71287         * tests/test-mbspbrk.sh: New file.
71288         * tests/test-mbspbrk.c: New file.
71289
71290 2007-02-11  Bruno Haible  <bruno@clisp.org>
71291
71292         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
71293         unneeded cast.
71294
71295         * modules/mbscspn-tests: New file.
71296         * tests/test-mbscspn.sh: New file.
71297         * tests/test-mbscspn.c: New file.
71298
71299 2007-02-11  Bruno Haible  <bruno@clisp.org>
71300
71301         * modules/mbscasecmp-tests: New file.
71302         * tests/test-mbscasecmp.sh: New file.
71303         * tests/test-mbscasecmp.c: New file.
71304
71305 2007-02-11  Bruno Haible  <bruno@clisp.org>
71306
71307         Ensure O(n) worst-case complexity of mbscasestr.
71308         * lib/mbscasestr.c: Include stdbool.h.
71309         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
71310         functions.
71311         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
71312         the bookkeeping indicates that it's worth it.
71313         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
71314
71315         * modules/mbscasestr-tests: New file.
71316         * tests/test-mbscasestr1.c: New file.
71317         * tests/test-mbscasestr2.sh: New file.
71318         * tests/test-mbscasestr2.c: New file.
71319         * tests/test-mbscasestr3.sh: New file.
71320         * tests/test-mbscasestr3.c: New file.
71321         * tests/test-mbscasestr4.sh: New file.
71322         * tests/test-mbscasestr4.c: New file.
71323         * m4/locale-tr.m4: New file.
71324
71325 2007-02-11  Bruno Haible  <bruno@clisp.org>
71326
71327         Ensure O(n) worst-case complexity of mbsstr.
71328         * lib/mbsstr.c: Include stdbool.h.
71329         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
71330         functions.
71331         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
71332         bookkeeping indicates that it's worth it.
71333         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
71334
71335         * modules/mbsstr-tests: New file.
71336         * tests/test-mbsstr1.c: New file.
71337         * tests/test-mbsstr2.sh: New file.
71338         * tests/test-mbsstr2.c: New file.
71339         * tests/test-mbsstr3.sh: New file.
71340         * tests/test-mbsstr3.c: New file.
71341         * m4/locale-fr.m4: New file.
71342
71343 2007-02-11  Bruno Haible  <bruno@clisp.org>
71344
71345         * lib/mbsrchr.c (mbsrchr): Fix bug.
71346
71347         * modules/mbsrchr-tests: New file.
71348         * tests/test-mbsrchr.sh: New file.
71349         * tests/test-mbsrchr.c: New file.
71350
71351 2007-02-11  Bruno Haible  <bruno@clisp.org>
71352
71353         * lib/mbschr.c (mbschr): Fix bug.
71354
71355         * modules/mbschr-tests: New file.
71356         * tests/test-mbschr.sh: New file.
71357         * tests/test-mbschr.c: New file.
71358         * m4/locale-zh.m4: New file.
71359
71360 2007-02-11  Bruno Haible  <bruno@clisp.org>
71361
71362         Support for copying multibyte string iterators.
71363         * lib/mbiter.h: Include <string.h>.
71364         (mbiter_multi_copy): New function.
71365         (mbi_copy): New macro.
71366         * lib/mbuiter.h: Include <string.h>.
71367         (mbuiter_multi_copy): New function.
71368         (mbui_copy): New macro.
71369
71370 2007-02-11  Bruno Haible  <bruno@clisp.org>
71371
71372         New module mbslen.
71373         * modules/mbslen: New file.
71374         * lib/mbslen.c: New file.
71375         * lib/string_.h (mbslen): New declaration.
71376         * m4/mbslen.m4: New file.
71377         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71378         GNULIB_MBSLEN.
71379         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
71380         * MODULES.html.sh (Internationalization functions): Add mbslen.
71381
71382 2007-02-11  Bruno Haible  <bruno@clisp.org>
71383
71384         Ensure O(n) worst-case complexity of strcasestr substitute.
71385         * lib/strcasestr.c: Include stdbool.h.
71386         (knuth_morris_pratt): New function.
71387         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
71388         bookkeeping indicates that it's worth it.
71389         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
71390
71391         * modules/strcasestr-tests: New file.
71392         * tests/test-strcasestr.c: New file.
71393
71394 2007-02-11  Bruno Haible  <bruno@clisp.org>
71395
71396         Ensure O(n) worst-case complexity of c_strcasestr.
71397         * lib/c-strcasestr.c: Include stdbool.h, string.h.
71398         (knuth_morris_pratt): New function.
71399         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
71400         the bookkeeping indicates that it's worth it.
71401         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
71402
71403         * modules/c-strcasestr-tests: New file.
71404         * tests/test-c-strcasestr.c: New file.
71405
71406 2007-02-11  Bruno Haible  <bruno@clisp.org>
71407
71408         Ensure O(n) worst-case complexity of c_strstr.
71409         * lib/c-strstr.c: Include stdbool.h, string.h.
71410         (knuth_morris_pratt): New function.
71411         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
71412         bookkeeping indicates that it's worth it.
71413         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
71414
71415         * lib/c-strstr.c: Complete rewrite for maintainability.
71416
71417         * modules/c-strstr-tests: New file.
71418         * tests/test-c-strstr.c: New file.
71419
71420 2007-02-11  Bruno Haible  <bruno@clisp.org>
71421
71422         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
71423         5.2.1 and earlier, whereby \055 was treated just like the range
71424         delimiter '-'.
71425         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
71426
71427 2007-02-08  Bruno Haible  <bruno@clisp.org>
71428
71429         * modules/regex (Depends-on): Add stdbool.
71430         Reported by Dalibor Topic <robilad@kaffe.org>.
71431
71432 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
71433
71434         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
71435         Prefer returning from main to exiting from it.
71436         Remove unnecessary parens after sizeof.
71437
71438 2007-02-05  Bruno Haible  <bruno@clisp.org>
71439
71440         New module mbssep.
71441         * modules/mbssep: New file.
71442         * lib/mbssep.c: New file.
71443         * lib/string_.h (strsep): Add a conditional link warning.
71444         (mbssep): New declaration.
71445         * m4/mbssep.m4: New file.
71446         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71447         GNULIB_MBSSEP.
71448         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
71449         * MODULES.html.sh (Internationalization functions): Add mbssep.
71450
71451 2007-02-05  Bruno Haible  <bruno@clisp.org>
71452
71453         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
71454         Optimize search in case of 1 delimiter.
71455
71456 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
71457
71458         * lib/acl.h: Include sys/types.h before sys/acl.h.
71459
71460 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
71461
71462         Merge upstream fix for glibc bugzilla #3957:
71463
71464         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
71465
71466         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
71467         bit for RE_HAT_LISTS_NOT_NEWLINE.
71468         (build_charclass_op): Remove bogus comment.
71469
71470 2007-02-05  Simon Josefsson  <simon@josefsson.org>
71471
71472         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
71473
71474 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71475
71476         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
71477         * lib/memmem.c [!defined _LIBC]: Include config.h.
71478
71479 2007-02-04  Bruno Haible  <bruno@clisp.org>
71480
71481         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
71482         warning message.
71483
71484 2007-02-04  Bruno Haible  <bruno@clisp.org>
71485
71486         New module mbstok_r.
71487         * modules/mbstok_r: New file.
71488         * lib/mbstok_r.c: New file.
71489         * lib/string_.h (strtok_r): Change argument names to match the
71490         comments. Add a conditional link warning.
71491         (mbstok_r): New declaration.
71492         * m4/mbstok_r.m4: New file.
71493         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71494         GNULIB_MBSTOK_R.
71495         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
71496         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
71497
71498 2007-02-04  Bruno Haible  <bruno@clisp.org>
71499
71500         New module mbsspn.
71501         * modules/mbsspn: New file.
71502         * lib/mbsspn.c: New file.
71503         * lib/string_.h (strspn): Add a conditional link warning.
71504         (mbsspn): New declaration.
71505         * m4/mbsspn.m4: New file.
71506         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71507         GNULIB_MBSSPN.
71508         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
71509         * MODULES.html.sh (Internationalization functions): Add mbsspn.
71510
71511 2007-02-04  Bruno Haible  <bruno@clisp.org>
71512
71513         New module mbspbrk.
71514         * modules/mbspbrk: New file.
71515         * lib/mbspbrk.c: New file.
71516         * lib/string_.h (strpbrk): Add a conditional link warning.
71517         (mbspbrk): New declaration.
71518         * m4/mbspbrk.m4: New file.
71519         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71520         GNULIB_MBSPBRK.
71521         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
71522         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
71523
71524 2007-02-04  Bruno Haible  <bruno@clisp.org>
71525
71526         New module mbscspn.
71527         * modules/mbscspn: New file.
71528         * lib/mbscspn.c: New file.
71529         * lib/string_.h (strcspn): Add a conditional link warning.
71530         (mbscspn): New declaration.
71531         * m4/mbscspn.m4: New file.
71532         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71533         GNULIB_MBSCSPN.
71534         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
71535         * MODULES.html.sh (Internationalization functions): Add mbscspn.
71536
71537 2007-02-04  Bruno Haible  <bruno@clisp.org>
71538
71539         New module mbscasestr, reduced goal of strcasestr.
71540         * modules/mbscasestr: New file.
71541         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
71542         (mbscasestr): Renamed from strcasestr.
71543         * lib/strcasestr.c: Don't include mbuiter.h.
71544         (strcasestr): Remove support for multibyte locales.
71545         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
71546         Change the conditional link warning.
71547         (mbscasestr): New declaration.
71548         * m4/mbscasestr.m4: New file.
71549         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
71550         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
71551         REPLACE_STRCASESTR.
71552         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
71553         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71554         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71555         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
71556         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
71557         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71558         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
71559         (Depends-on): Remove mbuiter.
71560         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
71561
71562 2007-02-04  Bruno Haible  <bruno@clisp.org>
71563
71564         Simplify handling of strncasecmp.
71565         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
71566         the conditional link warning.
71567         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71568         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
71569         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
71570         * modules/strcase (configure.ac): Don't invoke
71571         gl_STRING_MODULE_INDICATOR.
71572         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
71573
71574 2007-02-04  Bruno Haible  <bruno@clisp.org>
71575
71576         New module mbscasecmp, reduced goal of strcasecmp.
71577         * modules/mbscasecmp: New file.
71578         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
71579         (mbscasecmp): Renamed from strcasecmp.
71580         * lib/strcasecmp.c: Don't include mbuiter.h.
71581         (strcasecmp): Remove support for multibyte locales.
71582         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
71583         Change the conditional link warning.
71584         (mbscasecmp): New declaration.
71585         * m4/mbscasecmp.m4: New file.
71586         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
71587         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
71588         REPLACE_STRCASECMP.
71589         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
71590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71591         GNULIB_MBSCASECMP.
71592         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
71593         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
71594         * modules/strcase (Files): Remove m4/mbrtowc.m4.
71595         (Depends-on): Remove mbuiter.
71596         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
71597
71598 2007-02-04  Bruno Haible  <bruno@clisp.org>
71599
71600         New module mbsstr. Remove module strstr.
71601         * modules/mbsstr: New file.
71602         * modules/strstr: Remove file.
71603         * lib/mbsstr.c: Renamed from lib/strstr.c.
71604         (mbsstr): Renamed from strstr.
71605         * lib/string_.h (strstr): Remove declaration. Change the conditional
71606         link warning.
71607         (mbsstr): New declaration.
71608         * m4/mbsstr.m4: New file.
71609         * m4/strstr.m4: Remove file.
71610         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
71611         REPLACE_STRSTR.
71612         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
71613         Don't initialize GNULIB_STRSTR.
71614         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
71615         substitute GNULIB_STRSTR and REPLACE_STRSTR.
71616         * MODULES.html.sh (Internationalization functions): Add mbsstr.
71617         (Support for systems lacking ANSI C 89): Remove strstr.
71618
71619 2007-02-04  Bruno Haible  <bruno@clisp.org>
71620
71621         New module mbsrchr.
71622         * modules/mbsrchr: New file.
71623         * lib/mbsrchr.c: New file.
71624         * lib/string_.h (strrchr): Add a conditional link warning.
71625         (mbsrchr): New declaration.
71626         * m4/mbsrchr.m4: New file.
71627         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71628         GNULIB_MBSRCHR.
71629         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
71630         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
71631
71632 2007-02-04  Bruno Haible  <bruno@clisp.org>
71633
71634         New module mbschr.
71635         * modules/mbschr: New file.
71636         * lib/mbschr.c: New file.
71637         * lib/string_.h (strchr): Add a conditional link warning.
71638         (mbschr): New declaration.
71639         * m4/mbschr.m4: New file.
71640         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71641         GNULIB_MBSCHR.
71642         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
71643         * MODULES.html.sh (Internationalization functions): Add mbschr.
71644
71645 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71646
71647         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
71648
71649         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
71650
71651 2007-02-04  Bruno Haible  <bruno@clisp.org>
71652
71653         New module description section 'configure.ac-early'.
71654         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
71655         (func_get_autoconf_early_snippet): New function.
71656         (func_import, func_create_testdir): Use it. Remove special cases for
71657         modules 'extensions' and 'lock'.
71658         * modules/extensions (configure.ac-early): Require
71659         gl_USE_SYSTEM_EXTENSIONS.
71660         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
71661
71662 2007-02-04  Bruno Haible  <bruno@clisp.org>
71663
71664         Make use of gcj-4.3's -fsource and -ftarget option.
71665         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
71666         and if so try the options -fsource and -ftarget.
71667         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
71668         source_version, ftarget_option, target_version arguments.
71669         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
71670         (is_envjavac_oldgcj_14_14_usable): Renamed from
71671         is_envjavac_gcj_14_14_usable.
71672         (is_envjavac_oldgcj_14_13_usable): Renamed from
71673         is_envjavac_gcj_14_13_usable.
71674         (is_gcj_present): Update.
71675         (is_gcj_43, is_gcj43_usable): New functions.
71676         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
71677         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
71678         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
71679         try the options -fsource and -ftarget.
71680
71681 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71682
71683         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
71684         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
71685         larger value.
71686
71687 2007-02-03  Jim Meyering  <jim@meyering.net>
71688
71689         Give tools a better chance to allocate space for very large buffers.
71690         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
71691
71692         Make pwd and readlink work also when run with an unreadable parent dir
71693         on systems with openat support.
71694         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
71695         provided getcwd function, even when we have openat support.
71696         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
71697
71698 2007-02-02  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71701         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
71702         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
71703         portability problems if one of these functions is only used on specific
71704         platforms.
71705         Reported by Paul Eggert.
71706
71707 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
71708
71709         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
71710         is causing more trouble than it's curing.
71711         * lib/regex_internal.h (__mempcpy): Remove.
71712         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
71713         (and make the code a tad smaller to boot).
71714         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
71715
71716 2007-02-02  Jim Meyering  <jim@meyering.net>
71717
71718         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
71719         section, not in the Makefile.am: one.
71720
71721 2007-02-02  Eric Blake  <ebb9@byu.net>
71722
71723         * lib/strchrnul.c: Always include config.h first.
71724
71725         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
71726         gnulib strstr is not necessary here.
71727
71728 2007-02-02  Simon Josefsson  <simon@josefsson.org>
71729
71730         * m4/socklen.m4: Fix typo.
71731
71732 2007-02-02  Eric Blake  <ebb9@byu.net>
71733
71734         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
71735         * modules/netinet_in (Makefile.am): Likewise.
71736
71737 2007-02-01  Bruno Haible  <bruno@clisp.org>
71738
71739         * lib/string_.h (GL_LINK_WARNING): New macro.
71740         (strcasecmp, strstr, strcasestr): If provided by the system,
71741         conditionally define as a macro that leads to a warning instead of to
71742         an error.
71743         (strncasecmp): Conditionally define as a macro that leads to a warning.
71744
71745 2007-02-01  Karl Berry  <karl@gnu.org>
71746
71747         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
71748
71749 2007-02-01  Bruno Haible  <bruno@clisp.org>
71750
71751         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
71752         renamings.
71753
71754 2007-02-01  Eric Blake  <ebb9@byu.net>
71755
71756         * modules/regex (Depends-on): Revert dependence on mempcpy.
71757         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
71758         module's definition of mempcpy.
71759         Reported by Paul Eggert.
71760
71761 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71762
71763         * lib/string_.h: If the gnulib module XYZ is not present, undefine
71764         the symbol XYZ before redefining it.  This fixes a problem with
71765         programs that don't use XYZ, when compiled on systems that define
71766         XYZ to something else.
71767
71768 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
71769
71770         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
71771         occurs when "mkdir -m foo" creates a setgid directory that is (1)
71772         writeable to group or other and (2) is intended to have a special
71773         mode bit that is set or cleared.  In such a case, the directory
71774         should be neither group- nor other-writeable until the special
71775         mode bits are right.
71776
71777 2007-01-31  Eric Blake  <ebb9@byu.net>
71778
71779         * modules/mountlist (Depends-on): Add strstr.
71780
71781         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
71782         bug.
71783         * modules/string (Makefile.am): Remove redundant replacement.
71784         * modules/regex (Depends-on): Add mempcpy.
71785
71786 2007-01-31  Bruno Haible  <bruno@clisp.org>
71787
71788         New module description field 'Link'.
71789         * gnulib-tool (func_usage): Document --extract-link-directive.
71790         (sed_extract_prog): Recognize 'Link' directive.
71791         (func_get_link_directive): New function.
71792         (func_import): Show summary of link directives.
71793         Handle --extract-link-directive option.
71794         * modules/acl (Link): New section.
71795         * modules/clock-time (Link): New section.
71796         * modules/euidaccess (Link): New section.
71797         * modules/gettext (Link): New section.
71798         * modules/iconv (Link): New section.
71799         * modules/lock (Link): New section.
71800         * modules/nanosleep (Link): New section.
71801         * modules/readline (Link): New section.
71802
71803 2007-01-27  Bruno Haible  <bruno@clisp.org>
71804
71805         Enforce the use of gnulib modules for unportable <string.h> functions.
71806         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
71807         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
71808         (gl_HEADER_STRING_H_BODY): Require it.
71809         * lib/string_.h: If the gnulib module XYZ is not present, redefine
71810         the symbol XYZ to one that gives a link error.
71811         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
71812         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
71813         * modules/mempcpy (configure.ac): Likewise.
71814         * modules/memrchr (configure.ac): Likewise.
71815         * modules/stpcpy (configure.ac): Likewise.
71816         * modules/stpncpy (configure.ac): Likewise.
71817         * modules/strcase (configure.ac): Likewise.
71818         * modules/strcasestr (configure.ac): Likewise.
71819         * modules/strchrnul (configure.ac): Likewise.
71820         * modules/strdup (configure.ac): Likewise.
71821         * modules/strndup (configure.ac): Likewise.
71822         * modules/strnlen (configure.ac): Likewise.
71823         * modules/strpbrk (configure.ac): Likewise.
71824         * modules/strsep (configure.ac): Likewise.
71825         * modules/strstr (configure.ac): Likewise.
71826         * modules/strtok_r (configure.ac): Likewise.
71827
71828 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
71829
71830         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
71831
71832 2007-01-30  Jim Meyering  <jim@meyering.net>
71833
71834         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
71835
71836 2007-01-29  Bruno Haible  <bruno@clisp.org>
71837
71838         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
71839         * lib/execute.c: Likewise.
71840         * lib/pipe.c: Likewise.
71841         * lib/printf-args.h: Likewise.
71842         * lib/printf-args.c: Likewise.
71843         * lib/printf-parse.c: Likewise.
71844         * lib/vasnprintf.c: Likewise.
71845
71846 2007-01-29  Eric Blake  <ebb9@byu.net>
71847
71848         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
71849         declaration.
71850
71851 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
71852
71853         * lib/strptime.h (strptime): Use 'restrict' for args where
71854         POSIX requires this.
71855         * lib/strptime.c (strptime): Likewise.
71856         Change license notice from LGPL to GPL, since gnulib-tool will
71857         change this as needed.
71858         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
71859         defined.
71860         Include "strptime.h" first, to check interface.
71861         Do not #undef _LIBC and _NL_CURRENT.
71862         Do not include <stdlib.h>; no longer needed.
71863         Include "time_r.h" and declare ptime_locale_status
71864         only if _LIBC is not defined.
71865         (__P): Remove unused macro.
71866         (match_string): Bring back glibc version, but use it only if _LIBC
71867         is defined.
71868         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
71869         Remove unnecessary assertion and abort() call.
71870         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
71871         * m4/strptime.m4: Fix serial number comment.
71872         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71873         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
71874         (Depends-on): Add time_r.
71875
71876 2007-01-29  Bruno Haible  <bruno@clisp.org>
71877
71878         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71879         strptime.
71880         * modules/strptime (Depends-on): Add stdbool.
71881         * lib/strptime.h: Include <time.h> always. Add comments.
71882
71883 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71884
71885         * modules/strptime: New file.
71886         * lib/strptime.h: New file.
71887         * lib/strptime.c: New file.
71888         * m4/strptime.m4: New file.
71889
71890 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71891
71892         * MODULES.html.sh: New module mpsort.
71893         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
71894
71895         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
71896         a circularity problem with HP-UX ia64 reported by Bob Proulx in
71897         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
71898         All uses changed.
71899         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
71900         All uses changed.
71901         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
71902         to _Restrict_.
71903         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
71904         the parameter matches the prototype.
71905
71906 2007-01-28  Jim Meyering  <jim@meyering.net>
71907
71908         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
71909         sys/time.h here, reverting that part of the previous patch:
71910         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
71911
71912 2007-01-28  Bruno Haible  <bruno@clisp.org>
71913
71914         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
71915         value of $(SYS_TIME_H).
71916         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
71917         remove it conditionally, too. [added by Jim Meyering]
71918         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
71919         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71920         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
71921         GETTIMEOFDAY_REPLACEMENT to 1.
71922
71923 2007-01-28  Bruno Haible  <bruno@clisp.org>
71924
71925         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
71926         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
71927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
71928         Set UNISTD_H instead of UNISTD_H2.
71929         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
71930
71931 2007-01-28  Bruno Haible  <bruno@clisp.org>
71932
71933         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
71934         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
71935
71936 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71937
71938         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
71939         (func_create_testdir): Ensure C locale for `grep' and `tr'
71940         character ranges.
71941         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
71942         ACLOCAL_AMFLAGS parsing state machine.
71943
71944 2007-01-27  Bruno Haible  <bruno@clisp.org>
71945
71946         * modules/unistr/base: Update.
71947
71948 2007-01-27  Bruno Haible  <bruno@clisp.org>
71949
71950         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71951         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71952         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71953         modules/unistr/u32-mbtouc.
71954         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71955         * lib/unistr.h: Update.
71956         * lib/linebreak.c: Update.
71957         * modules/unistr/u32-mbtouc: Renamed from
71958         modules/unistr/u32-mbtouc-safe.
71959         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71960         * lib/unistr.h: Update.
71961         * lib/unistr/u32-to-u8.c: Update.
71962         * lib/unistr/u32-to-u16.c: Update.
71963
71964 2007-01-27  Bruno Haible  <bruno@clisp.org>
71965
71966         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71967         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71968         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71969         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71970         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71971         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71972         modules/unistr/u16-mbtouc.
71973         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71974         * lib/unistr.h: Update.
71975         * lib/linebreak.c: Update.
71976         * modules/linebreak: Update.
71977         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71978         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71979         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71980         * modules/unistr/u16-mbtouc: Renamed from
71981         modules/unistr/u16-mbtouc-safe.
71982         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71983         * lib/unistr.h: Update.
71984         * lib/unistr/u16-to-u8.c: Update.
71985         * modules/unistr/u16-to-u8: Update.
71986         * lib/unistr/u16-to-u32.c: Update.
71987         * modules/unistr/u16-to-u32: Update.
71988
71989 2007-01-27  Bruno Haible  <bruno@clisp.org>
71990
71991         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71992         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71993         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71994         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71995         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71996         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71997         modules/unistr/u8-mbtouc.
71998         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71999         * lib/unistr.h: Update.
72000         * lib/striconveh.c: Update.
72001         * modules/striconveh: Update.
72002         * lib/linebreak.c: Update.
72003         * modules/linebreak: Update.
72004         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
72005         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
72006         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
72007         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
72008         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
72009         * lib/unistr.h: Update.
72010         * lib/striconveh.c: Update.
72011         * modules/striconveh: Update.
72012         * lib/unistr/u8-to-u16.c: Update.
72013         * modules/unistr/u8-to-u16: Update.
72014         * lib/unistr/u8-to-u32.c: Update.
72015         * modules/unistr/u8-to-u32: Update.
72016
72017 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72018
72019         Sync from Libtool.
72020         * lib/argz.c: Do not include strings.h nor memory.h, include
72021         string.h unconditionally.  Patch by Simon Josefsson.
72022
72023 2007-01-27  Bruno Haible  <bruno@clisp.org>
72024
72025         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
72026         from gl_HEADER_STRING_H_BODY.
72027         (gl_HEADER_STRING_H_BODY): Require it.
72028         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
72029         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
72030         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
72031         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
72032         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
72033         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
72034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
72035         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
72036         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
72037         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
72038         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
72039         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
72040         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
72041         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
72042         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72043
72044 2007-01-27  Bruno Haible  <bruno@clisp.org>
72045
72046         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
72047         check_PROGRAMS into noinst_PROGRAMS.
72048         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
72049         check_PROGRAMS in this case.
72050         (func_import): Set for_test to false.
72051         (func_create_testdir): Set for_test to true.
72052
72053 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72054             Bruno Haible  <bruno@clisp.org>
72055
72056         * modules/strcasestr (Files): Remove lib/strcasestr.h.
72057         (Depends-on): Add string.
72058         (Includes): Use <string.h> instead of strcasestr.h.
72059         * modules/string (Makefile.am): Also substitute the value of
72060         REPLACE_STRCASESTR.
72061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
72062         assume strcasestr is declared in <string.h> not <strings.h>. Also
72063         set REPLACE_STRCASESTR.
72064         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
72065         REPLACE_STRCASESTR.
72066         * lib/strcasestr.h: Remove file.
72067         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
72068         * lib/string_.h (strcasestr): New declaration.
72069
72070 2007-01-27  Bruno Haible  <bruno@clisp.org>
72071
72072         * lib/string_.h: Use 'extern'.
72073
72074 2007-01-27  Jim Meyering  <jim@meyering.net>
72075
72076         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
72077         of set-but-not-used local, "q".
72078
72079         * lib/mempcpy.c: Include <config.h> before <string.h>.
72080         This fixes a compilation error on HP-UX, due to the system's
72081         "restrict"-using mempcpy prototype.
72082
72083 2007-01-26  Bruno Haible  <bruno@clisp.org>
72084
72085         Small optimization.
72086         * lib/javacomp.c: Include c-strstr.h.
72087          (is_envjavac_gcj): Use c_strstr instead of strstr.
72088         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
72089
72090 2007-01-26  Bruno Haible  <bruno@clisp.org>
72091
72092         * MODULES.html.sh (Unicode string functions): Add the new modules.
72093
72094         * modules/uniconv/u32-strconv-to-locale: New file.
72095         * lib/uniconv/u32-strconv-to-locale.c: New file.
72096
72097         * modules/uniconv/u16-strconv-to-locale: New file.
72098         * lib/uniconv/u16-strconv-to-locale.c: New file.
72099
72100         * modules/uniconv/u8-strconv-to-locale: New file.
72101         * lib/uniconv/u8-strconv-to-locale.c: New file.
72102
72103         * modules/uniconv/u32-strconv-from-locale: New file.
72104         * lib/uniconv/u32-strconv-from-locale.c: New file.
72105
72106         * modules/uniconv/u16-strconv-from-locale: New file.
72107         * lib/uniconv/u16-strconv-from-locale.c: New file.
72108
72109         * modules/uniconv/u8-strconv-from-locale: New file.
72110         * lib/uniconv/u8-strconv-from-locale.c: New file.
72111
72112         * modules/uniconv/u32-strconv-to-enc: New file.
72113         * lib/uniconv/u32-strconv-to-enc.c: New file.
72114         * modules/uniconv/u32-strconv-to-enc-tests: New file.
72115         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
72116
72117         * modules/uniconv/u16-strconv-to-enc: New file.
72118         * lib/uniconv/u16-strconv-to-enc.c: New file.
72119         * lib/uniconv/u-strconv-to-enc.h: New file.
72120         * modules/uniconv/u16-strconv-to-enc-tests: New file.
72121         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
72122
72123         * modules/uniconv/u8-strconv-to-enc: New file.
72124         * lib/uniconv/u8-strconv-to-enc.c: New file.
72125         * modules/uniconv/u8-strconv-to-enc-tests: New file.
72126         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
72127
72128         * modules/uniconv/u32-strconv-from-enc: New file.
72129         * lib/uniconv/u32-strconv-from-enc.c: New file.
72130         * modules/uniconv/u32-strconv-from-enc-tests: New file.
72131         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
72132
72133         * modules/uniconv/u16-strconv-from-enc: New file.
72134         * lib/uniconv/u16-strconv-from-enc.c: New file.
72135         * modules/uniconv/u16-strconv-from-enc-tests: New file.
72136         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
72137
72138         * modules/uniconv/u8-strconv-from-enc: New file.
72139         * lib/uniconv/u8-strconv-from-enc.c: New file.
72140         * lib/uniconv/u-strconv-from-enc.h: New file.
72141         * modules/uniconv/u8-strconv-from-enc-tests: New file.
72142         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
72143
72144         * modules/uniconv/u32-conv-from-enc: New file.
72145         * lib/uniconv/u32-conv-from-enc.c: New file.
72146         * modules/uniconv/u32-conv-from-enc-tests: New file.
72147         * tests/uniconv/test-u32-conv-from-enc.c: New file.
72148
72149         * modules/uniconv/u16-conv-from-enc: New file.
72150         * lib/uniconv/u16-conv-from-enc.c: New file.
72151         * lib/uniconv/u-conv-from-enc.h: New file.
72152         * modules/uniconv/u16-conv-from-enc-tests: New file.
72153         * tests/uniconv/test-u16-conv-from-enc.c: New file.
72154
72155         * modules/uniconv/u8-conv-from-enc: New file.
72156         * lib/uniconv/u8-conv-from-enc.c: New file.
72157         * modules/uniconv/u8-conv-from-enc-tests: New file.
72158         * tests/uniconv/test-u8-conv-from-enc.c: New file.
72159
72160         * modules/uniconv/base: New file.
72161         * lib/uniconv.h: New file.
72162
72163 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72164
72165         * doc/gnulib-tool.texi (Initial import): Update to match current
72166         behavior with strdup module.
72167         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
72168         * lib/memmem.h: Remove; all uses removed.  This is now done
72169         by <string.h>.
72170         * lib/mempcpy.h: Likewise.
72171         * lib/memrchr.h: Likewise.
72172         * lib/stpcpy.h: Likewise.
72173         * lib/stpncpy.h: Likewise.
72174         * lib/strcase.h: Likewise.
72175         * lib/strchrnul.h: Likewise.
72176         * lib/strdup.h: Likewise.
72177         * lib/strndup.h: Likewise.
72178         * lib/strnlen.h: Likewise.
72179         * lib/strpbrk.h: Likewise.
72180         * lib/strsep.h: Likewise.
72181         * lib/strstr.h: Likewise.
72182         * lib/strtok_r.h: Likewise.
72183         * lib/string_.h: New file.
72184         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
72185         Rely on <string.h> instead.
72186         * lib/canon-host.c: Likewise.
72187         * lib/chdir-long.c: Likewise.
72188         * lib/concatpath.c: Likewise.
72189         * lib/exclude.c: Likewise.
72190         * lib/fchdir.c: Likewise.
72191         * lib/getaddrinfo.c: Likewise.
72192         * lib/getcwd.c: Likewise.
72193         * lib/getsubopt.c: Likewise.
72194         * lib/glob.c: Likewise.
72195         * lib/hard-locale.c: Likewise.
72196         * lib/iconvme.c: Likewise.
72197         * lib/javacomp.c: Likewise.
72198         * lib/mempcpy.c: Likewise.
72199         * lib/memrchr.c: Likewise.
72200         * lib/regex_internal.h: Likewise.
72201         * lib/stpncpy.c: Likewise.
72202         * lib/strcasecmp.c: Likewise.
72203         * lib/strchrnul.c: Likewise.
72204         * lib/strdup.c: Likewise.
72205         * lib/striconv.c: Likewise.
72206         * lib/striconveh.c: Likewise.
72207         * lib/striconveha.c: Likewise.
72208         * lib/strncasecmp.c: Likewise.
72209         * lib/strndup.c: Likewise.
72210         * lib/strnlen.c: Likewise.
72211         * lib/strsep.c: Likewise.
72212         * lib/strstr.c: Likewise.
72213         * lib/strtok_r.c: Likewise.
72214         * lib/userspec.c: Likewise.
72215         * lib/w32spawn.h: Likewise.
72216         * lib/xstrndup.c: Likewise.
72217         * lib/mountlist.c (strstr): Remove decl.
72218         * m4/string_h.m4: New file.
72219         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
72220         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
72221         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
72222         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
72223         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
72224         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
72225         Set REPLACE_STRCASECMP if necessary.
72226         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
72227         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
72228         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
72229         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
72230         HAVE_DECL_STRDUP if necessary.
72231         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
72232         since gl_FUNC_STRNDUP does that now.
72233         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
72234         Check for decl here...
72235         (gl_PREREQ_STRNLEN): ... not here.
72236         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
72237         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
72238         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
72239         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
72240         necessary.
72241         * modules/string: New file.
72242         * modules/memmem (Files): Remove special-purpose include file.
72243         (Depends-on): Add string.
72244         (Include): Include <string.h>, not the removed file.
72245         * modules/mempcpy: Likewise.
72246         * modules/memrchr: Likewise.
72247         * modules/stpcpy: Likewise.
72248         * modules/stpncpy: Likewise.
72249         * modules/strcase: Likewise.
72250         * modules/strchrnul: Likewise.
72251         * modules/strdup: Likewise.
72252         * modules/strndup: Likewise.
72253         * modules/strnlen: Likewise.
72254         * modules/strpbrk: Likewise.
72255         * modules/strsep: Likewise.
72256         * modules/strstr: Likewise.
72257         * modules/strtok_r: Likewise.
72258         * tests/test-dirname.c: Don't include "strdup.h", since
72259         <string.h> now suffices.
72260         * tests/test-memmem.c: Don't include "memmem.h", since
72261         <string.h> now suffices.
72262
72263 2007-01-25  Bruno Haible  <bruno@clisp.org>
72264
72265         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
72266         *resultp is 0.
72267
72268         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
72269         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
72270         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
72271         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
72272
72273         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
72274         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
72275         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
72276         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
72277         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
72278         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
72279
72280 2007-01-24  Bruno Haible  <bruno@clisp.org>
72281
72282         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
72283         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
72284         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
72285         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
72286         gl_FUNC_FTS_CORE.
72287         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
72288         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
72289         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72290         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
72291         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
72292         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
72293         gl_FUNC_FCHOWNAT.
72294         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
72295         gl_FUNC_STRFTIME.
72296         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
72297         Reported by Ralf Wildenhues.
72298
72299 2007-01-24  Bruno Haible  <bruno@clisp.org>
72300
72301         Drop AC_REQUIRE calls that are redundant with the module dependencies.
72302         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
72303         gl_GETADDRINFO.
72304         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
72305         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
72306         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
72307
72308 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
72309
72310         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
72311         Don't use 'exit'; just return from 'main'.
72312         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
72313
72314         * lib/fnmatch_.h: Readjust white space and comments to match
72315         glibc, to avoid spurious diffs.
72316
72317 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72318
72319         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
72320         2004-12-01 change by Jakub Jelinek, since this code won't compile
72321         if !LIBC.  Problem reported by Bob Proulx.
72322
72323 2007-01-23  Bruno Haible  <bruno@clisp.org>
72324
72325         * lib/striconveh.c: Include c-strcaseeq.h.
72326         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
72327         * modules/striconveh (Depends-on): Add c-strcaseeq.
72328
72329 2007-01-23  Bruno Haible  <bruno@clisp.org>
72330
72331         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
72332
72333         * modules/c-strcaseeq: New file.
72334         * lib/c-strcaseeq.h: New file.
72335
72336         * modules/streq: New file.
72337         * lib/streq.h: New file.
72338
72339 2007-01-23  Bruno Haible  <bruno@clisp.org>
72340
72341         * modules/striconveha-tests: New file.
72342         * tests/test-striconveha.c: New file.
72343
72344         * lib/striconveha.h: Include <stdbool.h>.
72345         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
72346         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
72347         (mem_iconveha_notranslit): Renamed from mem_iconveha.
72348         (mem_iconveha): New function.
72349         (str_iconveha_notranslit): Renamed from str_iconveha.
72350         (str_iconveha): New function.
72351         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
72352         c-strcase.
72353
72354 2007-01-23  Bruno Haible  <bruno@clisp.org>
72355
72356         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
72357         encodings without forgiving before trying any encoding with handler.
72358         (str_iconveha): Try all encodings without forgiving before trying any
72359         encoding with handler.
72360
72361 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72362
72363         Import the following changes from libc.
72364
72365         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
72366
72367         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
72368
72369         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
72370
72371         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
72372         normal_bracket label.
72373
72374         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
72375
72376         [BZ #361]
72377         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
72378         to normal_bracket after fetching the next character.
72379
72380 2007-01-22  Bruno Haible  <bruno@clisp.org>
72381
72382         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
72383         argument.
72384         * lib/striconveh.c (iconv_carefully_1): New function.
72385         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
72386         argument.
72387         (str_cd_iconveh): Update.
72388         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
72389         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
72390         * tests/test-striconveh.c (MAGIC): New macro.
72391         (new_offsets): New function.
72392         (main): Test call with and without offsets.
72393
72394 2007-01-22  Bruno Haible  <bruno@clisp.org>
72395
72396         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
72397         * modules/sys_select (Makefile.am): Likewise.
72398         * modules/sys_socket (Makefile.am): Likewise.
72399         * modules/sys_time (Makefile.am): Likewise.
72400
72401 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72402
72403         * modules/gettimeofday (License): Change from GPL to LGPL, since
72404         gettimeofday is a library function.
72405
72406 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72407
72408         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
72409
72410 2007-01-21  Bruno Haible  <bruno@clisp.org>
72411
72412         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
72413
72414 2007-01-21  Bruno Haible  <bruno@clisp.org>
72415
72416         * modules/striconveha: New file.
72417         * lib/striconveha.h: New file.
72418         * lib/striconveha.c: New file.
72419         * MODULES.html.sh (Internationalization functions): Add striconveha.
72420         * lib/striconv.c (str_iconv): Optimize the case of an empty input
72421         string.
72422         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
72423
72424 2007-01-21  Bruno Haible  <bruno@clisp.org>
72425
72426         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
72427         * lib/striconveh.c (str_iconveh): Likewise.
72428
72429 2007-01-21  Bruno Haible  <bruno@clisp.org>
72430
72431         * lib/striconveh.h (mem_iconveh): New declaration.
72432         * lib/striconveh.c (mem_iconveh): New function.
72433         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
72434
72435 2007-01-21  Bruno Haible  <bruno@clisp.org>
72436
72437         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
72438
72439         * lib/striconveh.h (mem_cd_iconveh): Change specification.
72440         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
72441         original result buffer.
72442         (str_cd_iconveh): Update.
72443         * tests/test-striconveh.c (main): Update.
72444
72445         * lib/striconv.h (mem_cd_iconv): Change specification.
72446         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
72447         result buffer.
72448         (str_cd_iconv): Update.
72449         * tests/test-striconv.c (main): Update.
72450
72451 2007-01-21  Bruno Haible  <bruno@clisp.org>
72452
72453         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
72454
72455 2007-01-20  Jim Meyering  <jim@meyering.net>
72456
72457         * lib/userspec.c (parse_with_separator): If a user or group string
72458         starts with "+", skip the corresponding name-to-ID look-up, since
72459         such a look-up must fail: user and group names may not include "+".
72460
72461 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
72462
72463         * lib/poll.c: Include sys/time.h and time.h unconditionally,
72464         since we now assume the sys_time module.
72465         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
72466         check for sys/time.h; no longer needed.
72467         * modules/poll (Depends-on): Depend on sys_time.
72468
72469 2007-01-18  Bruno Haible  <bruno@clisp.org>
72470
72471         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
72472         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
72473
72474         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
72475         gettimeofday.
72476
72477         * tests/test-gettimeofday.c: Include <time.h>.
72478         (dummy): Remove variable.
72479
72480         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
72481         gl_HEADER_SYS_TIME_H.
72482         (gl_HEADER_SYS_TIME_H): New macro.
72483
72484         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
72485         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72486         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
72487         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
72488         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72489         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
72490         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
72491         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72492         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
72493         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
72494         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72495
72496         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
72497         last change; it caused a compilation error when cross-compiling to
72498         Cygwin.
72499
72500 2007-01-18  Jim Meyering  <jim@meyering.net>
72501
72502         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
72503         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
72504         than the race-prone "test -d sys || mkdir sys".
72505         (configure.ac): Use AC_PROG_MKDIR_P.
72506         * modules/sys_select: Likewise.
72507         * modules/sys_socket: Likewise.
72508         * modules/sys_time: Likewise.
72509
72510 2007-01-18  Eric Blake  <ebb9@byu.net>
72511
72512         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
72513         replace gettimeofday.
72514         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
72515         name, to avoid infinite recursion.
72516
72517 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
72518
72519         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
72520         module sys_time.
72521         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
72522         assume timespec.h defines struct timeval.
72523         * lib/settime.c: Likewise.
72524         * lib/utimens.c: Likewise.
72525         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
72526         since we now assume the gettimeofday module.
72527         * lib/tempname.c (__gen_tempname): Likewise.
72528         * lib/gettimeofday.h: Remove.
72529         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
72530         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
72531         Include <time.h>, for 'time()'.
72532         (localtime_buffer_addr): Also use this workaround if
72533         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
72534         to simplify the uses.  All uses changed.
72535         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
72536         that #undef is inside {}, and 'const' follows type name consistently.
72537         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
72538         (gettimeofday): Do not use the maximum possible value for
72539         tv->tv_usec, since that might break usages other than ls.c.
72540         Instead, we'll leave ls.c alone.  This undoes today's patch
72541         by Bruno.  Add a compile-time warning for 1s-clock resolution;
72542         we've never observed the problem but might as well keep the
72543         canary.
72544         * lib/nanosleep.c: Include timespec.h first, for interface check.
72545         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
72546         now assume the sys_time module.
72547         * lib/tempname.c: Likewise.
72548         * lib/timespec.h: Likewise.
72549         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
72550         needed.
72551         * lib/strftime.c: Likewise.
72552         * lib/timespec.h: Likewise.
72553         * lib/posixtm.c: Include posixtm.h first, for interface check.
72554         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
72555         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
72556         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
72557         * lib/sys_time_.h: New file.
72558         * lib/timespec.h (struct timespec): Use long int, not long.
72559         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72560         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
72561         Remove obsolescent call to AC_HEADER_TIME.
72562         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
72563         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72564         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
72565         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
72566         Likewise.
72567         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
72568         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
72569         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
72570         into the sys_time module.  Check for gettimeofday just once.
72571         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
72572         for gettimeofday signature to just check the signature.  Merely
72573         compile it, since linking doesn't test signature.  Improve test for
72574         whether gettimeofday.o is actually needed.
72575         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
72576         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
72577         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
72578         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72579         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
72580         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
72581         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
72582         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
72583         than worrying about sys/time.h.
72584         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72585         Don't bother worrying about TIME_WITH_SYS_TIME.
72586         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
72587         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
72588         * m4/sys_time_h.m4: New file.
72589         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
72590         Don't include sys/time.h.  Return from main rather than exiting.
72591         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
72592         all uses changed.
72593         * modules/gethrxtime (Depends-on): Add sys_time.
72594         * modules/gettime (Depends-on): Likewise.
72595         * modules/gettimeofday (Depends-on): Likewise.
72596         * modules/nanosleep (Depends-on): Likewise.
72597         * modules/settime (Depends-on): Likewise.
72598         * modules/tempname (Depends-on): Likewise.
72599         * modules/utimens (Depends-on): Likewise.
72600         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
72601         (Include): Change back to <sys/time.h>.
72602         (Maintainer): Add self.
72603         * modules/sys_time: New file.
72604         * modules/tempname (Depends-on): Add gettimeofday.
72605         * tests/test-gettimeofday.c: Include <sys/time.h>
72606         rather than gettimeofday.h.
72607
72608 2007-01-17  Bruno Haible  <bruno@clisp.org>
72609
72610         * gnulib-tool (func_get_license): Revert last patch. Instead, let
72611         the license default to GPL.
72612         (func_create_testdir): Don't complain if a module is LGPL and its
72613         tests module depends on GPLed modules.
72614
72615 2007-01-17  Bruno Haible  <bruno@clisp.org>
72616
72617         * lib/gettimeofday.c (gettimeofday): Add code for the case
72618         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
72619         maximum possible value for tv->tv_usec, rather than the minimum one.
72620
72621 2005-10-08  Martin Lambers  <marlam@marlam.de>
72622 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72623 2007-01-16  Bruno Haible  <bruno@clisp.org>
72624
72625         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
72626         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
72627         gl_FUNC_GETTIMEOFDAY.
72628         (Include): Add gettimeofday.h.
72629         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
72630         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
72631         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
72632         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
72633         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
72634         * lib/gettimeofday.h: New file.
72635         * lib/gettimeofday.c: Include <sys/timeb.h>.
72636         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
72637         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72638         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
72639         fall back on time().
72640
72641         * tests/test-gettimeofday.c: New file.
72642         * modules/gettimeofday-tests: New file.
72643
72644 2007-01-16  Eric Blake  <ebb9@byu.net>
72645
72646         * modules/fnmatch (Depends-on): Depend on wchar.
72647         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
72648         * m4/fnmatch.m4: Likewise.
72649         * modules/mbchar (Makefile.am): Assume <wchar.h>.
72650         * m4/mbchar.m4: Likewise.
72651         * modules/mbswidth (Depends-on): Depend on wchar.
72652         * lib/mbswidth.c: Assume <wchar.h>.
72653         * m4/mbswidth.m4: Likewise.
72654         * modules/quotearg (Depends-on): Depend on wchar.
72655         * lib/quotearg.c: Assume <wchar.h>.
72656         * m4/quotearg.m4: Likewise.
72657         * modules/regex (Depends-on): Depend on wchar.
72658         * lib/regex_internal.h: Assume <wchar.h>.
72659         * m4/regex.m4: Likewise.
72660         * modules/stdint (Depends-on): Depend on wchar.
72661         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
72662         * m4/stdint.m4: Likewise.
72663         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
72664         * modules/strftime (Depends-on): Depend on wchar.
72665         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
72666         * modules/strtol (Depends-on): Depend on wchar.
72667         * lib/strtol.c: Assume <wchar.h>.
72668         * modules/wcwidth (Depends-on): Depend on wchar.
72669         * lib/wcwidth.h: Assume <wchar.h>.
72670         * m4/wcwidth.m4: Likewise.
72671
72672 2007-01-16  Bruno Haible  <bruno@clisp.org>
72673
72674         * modules/csharpexec-script: New, created from...
72675         * modules/csharpexec: ... this.
72676
72677 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
72678
72679         * modules/javaexec-script: New, created from...
72680         * modules/javaexec: ... this.
72681
72682 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72683
72684         * modules/poll (Dependencies): Add sys_select.
72685
72686 2007-01-15  Jim Meyering  <jim@meyering.net>
72687
72688         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
72689         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
72690         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
72691         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
72692
72693 2007-01-15  Bruno Haible  <bruno@clisp.org>
72694
72695         * modules/striconveh: New file.
72696         * lib/striconveh.h: New file.
72697         * lib/striconveh.c: New file.
72698         * MODULES.html.sh (Internationalization functions): Add striconveh.
72699
72700         * modules/striconveh-tests: New file.
72701         * tests/test-striconveh.c: New file.
72702
72703 2007-01-15  Bruno Haible  <bruno@clisp.org>
72704
72705         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
72706         not from GNU libiconv or GNU libc.
72707
72708 2007-01-15  Bruno Haible  <bruno@clisp.org>
72709
72710         * doc/gnulib-intro.texi (Copyright): Explain the different license
72711         terms for module descriptions, autoconf macros, tests, documentation.
72712
72713 2007-01-14  Bruno Haible  <bruno@clisp.org>
72714
72715         * modules/striconv-tests: New file.
72716         * tests/test-striconv.c: New file.
72717
72718 2007-01-14  Bruno Haible  <bruno@clisp.org>
72719
72720         * modules/iconv-tests: New file.
72721         * tests/test-iconv.c: New file.
72722
72723 2007-01-14  Bruno Haible  <bruno@clisp.org>
72724
72725         * gnulib-tool (func_get_license): For test modules, use the license of
72726         the main module.
72727
72728 2007-01-14  Bruno Haible  <bruno@clisp.org>
72729
72730         * modules/iconv (Include): Clarify that <iconv.h> can only be included
72731         if iconv is found to exist.
72732
72733 2007-01-14  Bruno Haible  <bruno@clisp.org>
72734
72735         * modules/c-ctype-tests: New file.
72736         * tests/test-c-ctype.c: New file.
72737
72738 2007-01-14  Bruno Haible  <bruno@clisp.org>
72739
72740         * modules/binary-io-tests: New file.
72741         * tests/test-binary-io.sh: New file.
72742         * tests/test-binary-io.c: New file.
72743
72744 2007-01-14  Bruno Haible  <bruno@clisp.org>
72745
72746         * modules/array-oset-tests: New file.
72747         * tests/test-array_oset.c: New file.
72748
72749 2007-01-14  Bruno Haible  <bruno@clisp.org>
72750
72751         * modules/array-list-tests: New file.
72752         * tests/test-array_list.c: New file.
72753
72754 2007-01-14  Bruno Haible  <bruno@clisp.org>
72755
72756         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
72757         and make.
72758         Reported by Simon Josefsson in
72759         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
72760
72761 2007-01-14  Bruno Haible  <bruno@clisp.org>
72762
72763         * modules/allocsa-tests: New file.
72764         * tests/test-allocsa.c: New file.
72765
72766 2007-01-14  Bruno Haible  <bruno@clisp.org>
72767
72768         * modules/fchdir (Depends-on): Add absolute-header.
72769         * modules/unistd (Depends-on): Likewise.
72770
72771 2006-12-30  Bruno Haible  <bruno@clisp.org>
72772
72773         * modules/fchdir: New file.
72774         * modules/unistd (Files): Add lib/unistd_.h.
72775         (Makefile.am): Generate unistd.h from unistd_.h.
72776         * lib/fchdir.c: New file.
72777         * lib/dirent_.h: New file.
72778         * lib/unistd_.h: New file.
72779         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
72780         * m4/fchdir.m4: New file.
72781         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
72782         (gl_HEADER_UNISTD): Invoke it.
72783         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
72784         function.
72785         * lib/backupfile.c (opendir, closedir): Undefine.
72786         * lib/chown.c (open, close): Undefine.
72787         * lib/clean-temp.c (open, close): Undefine.
72788         * lib/copy-file.c (open, close): Undefine.
72789         * lib/execute.c (open, close): Undefine.
72790         * lib/fsusage.c (open, close): Undefine.
72791         * lib/gc-gnulib.c (open, close): Undefine.
72792         * lib/getcwd.c (opendir, closedir): Undefine.
72793         * lib/glob.c (opendir, closedir): Undefine.
72794         * lib/javacomp.c (open, close): Undefine.
72795         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
72796         * lib/openat-proc.c (open, close): Undefine.
72797         * lib/pagealign_alloc.c (open, close): Undefine.
72798         * lib/pipe.c (open, close): Undefine.
72799         * lib/progreloc.c (open, close): Undefine.
72800         * lib/savedir.c (opendir, closedir): Undefine.
72801         * lib/utime.c (open, close): Undefine.
72802         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
72803
72804 2007-01-10  Bruno Haible  <bruno@clisp.org>
72805
72806         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
72807
72808 2007-01-12  Eric Blake  <ebb9@byu.net>
72809
72810         Provide a robust <wchar.h>.  Further simplifications are now
72811         possible in other modules, but not included here.
72812         * modules/wchar: New module.
72813         * m4/wchar.m4: New file.
72814         * lib/wchar_.h: Likewise.
72815         * modules/mbchar (Depends-on): Depend on wchar, as the first use
72816         of the new module.
72817         * MODULES.html.sh (Extended multibyte and wide character utilities):
72818         New section.
72819
72820 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72821
72822         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
72823         to a reasonable default for memory allocation.
72824         (xreadlink): Don't allocate a huge buffer, to work around a buggy
72825         file system that reports garbage st_size values for symlinks.
72826         Problem reported by Liyang Hu.
72827
72828 2007-01-11  Simon Josefsson  <simon@josefsson.org>
72829
72830         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
72831         Emacs .#* auto-save files).
72832
72833 2007-01-11  Bruno Haible  <bruno@clisp.org>
72834
72835         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
72836         directory.
72837
72838 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72839
72840         Use @...@ consistently in lib/wctype_.h.
72841         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
72842         on it being set to 1 or 0.
72843         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
72844         go back to AC_SUBSTing it.
72845         * modules/wctype (Makefile.am): Undo previous change.
72846
72847 2007-01-10  Eric Blake  <ebb9@byu.net>
72848
72849         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
72850         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
72851         * modules/wctype (Makefile.am): Likewise.
72852         Reported by Chris McGuire.
72853
72854 2007-01-10  Jim Meyering  <jim@meyering.net>
72855
72856         fts.c: a small readability/maintainability improvement
72857         * lib/fts.c (fts_read): Make this code slightly more readable and
72858         maintainable by hoisting the "sp->fts_cur = p" assignments to
72859         immediately follow the statements that set P.  Derived from
72860         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
72861
72862 2007-01-10  Eric Blake  <ebb9@byu.net>
72863
72864         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
72865         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
72866         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72867         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
72868         Reported by Chris McGuire.
72869
72870 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72871
72872         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
72873         in sed script.
72874
72875 2007-01-09  Bruno Haible  <bruno@clisp.org>
72876
72877         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
72878         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
72879         variables.
72880         (func_module): Use them.
72881
72882 2007-01-09  Bruno Haible  <bruno@clisp.org>
72883
72884         * modules/unistr/base: New file.
72885         * lib/unistr.h: New file.
72886
72887         * modules/unistr/u8-to-u16: New file.
72888         * lib/unistr/u8-to-u16.c: New file.
72889
72890         * modules/unistr/u8-to-u32: New file.
72891         * lib/unistr/u8-to-u32.c: New file.
72892
72893         * modules/unistr/u16-to-u8: New file.
72894         * lib/unistr/u16-to-u8.c: New file.
72895
72896         * modules/unistr/u16-to-u32: New file.
72897         * lib/unistr/u16-to-u32.c: New file.
72898
72899         * modules/unistr/u32-to-u8: New file.
72900         * lib/unistr/u32-to-u8.c: New file.
72901
72902         * modules/unistr/u32-to-u16: New file.
72903         * lib/unistr/u32-to-u16.c: New file.
72904
72905         * modules/unistr/u8-check: New file.
72906         * modules/unistr/u16-check: New file.
72907         * modules/unistr/u32-check: New file.
72908         * lib/unistr/u8-check.c: New file.
72909         * lib/unistr/u16-check.c: New file.
72910         * lib/unistr/u32-check.c: New file.
72911
72912         * modules/unistr/u8-chr: New file.
72913         * modules/unistr/u16-chr: New file.
72914         * modules/unistr/u32-chr: New file.
72915         * lib/unistr/u8-chr.c: New file.
72916         * lib/unistr/u16-chr.c: New file.
72917         * lib/unistr/u32-chr.c: New file.
72918
72919         * modules/unistr/u8-cmp: New file.
72920         * modules/unistr/u16-cmp: New file.
72921         * modules/unistr/u32-cmp: New file.
72922         * lib/unistr/u8-cmp.c: New file.
72923         * lib/unistr/u16-cmp.c: New file.
72924         * lib/unistr/u32-cmp.c: New file.
72925
72926         * modules/unistr/u8-cpy: New file.
72927         * modules/unistr/u16-cpy: New file.
72928         * modules/unistr/u32-cpy: New file.
72929         * lib/unistr/u8-cpy.c: New file.
72930         * lib/unistr/u16-cpy.c: New file.
72931         * lib/unistr/u32-cpy.c: New file.
72932         * lib/unistr/u-cpy.h: New file.
72933
72934         * modules/unistr/u8-cpy-alloc: New file.
72935         * modules/unistr/u16-cpy-alloc: New file.
72936         * modules/unistr/u32-cpy-alloc: New file.
72937         * lib/unistr/u8-cpy-alloc.c: New file.
72938         * lib/unistr/u16-cpy-alloc.c: New file.
72939         * lib/unistr/u32-cpy-alloc.c: New file.
72940         * lib/unistr/u-cpy-alloc.h: New file.
72941
72942         * modules/unistr/u8-endswith: New file.
72943         * modules/unistr/u16-endswith: New file.
72944         * modules/unistr/u32-endswith: New file.
72945         * lib/unistr/u8-endswith.c: New file.
72946         * lib/unistr/u16-endswith.c: New file.
72947         * lib/unistr/u32-endswith.c: New file.
72948         * lib/unistr/u-endswith.h: New file.
72949
72950         * modules/unistr/u8-mblen: New file.
72951         * modules/unistr/u16-mblen: New file.
72952         * modules/unistr/u32-mblen: New file.
72953         * lib/unistr/u8-mblen.c: New file.
72954         * lib/unistr/u16-mblen.c: New file.
72955         * lib/unistr/u32-mblen.c: New file.
72956
72957         * modules/unistr/u8-mbtouc: New file.
72958         * modules/unistr/u16-mbtouc: New file.
72959         * modules/unistr/u32-mbtouc: New file.
72960         * lib/unistr/u8-mbtouc.c: New file.
72961         * lib/unistr/u16-mbtouc.c: New file.
72962         * lib/unistr/u32-mbtouc.c: New file.
72963
72964         * modules/unistr/u8-mbtouc-safe: New file.
72965         * modules/unistr/u16-mbtouc-safe: New file.
72966         * modules/unistr/u32-mbtouc-safe: New file.
72967         * lib/unistr/u8-mbtouc-safe.c: New file.
72968         * lib/unistr/u16-mbtouc-safe.c: New file.
72969         * lib/unistr/u32-mbtouc-safe.c: New file.
72970
72971         * modules/unistr/u8-move: New file.
72972         * modules/unistr/u16-move: New file.
72973         * modules/unistr/u32-move: New file.
72974         * lib/unistr/u8-move.c: New file.
72975         * lib/unistr/u16-move.c: New file.
72976         * lib/unistr/u32-move.c: New file.
72977         * lib/unistr/u-move.h: New file.
72978
72979         * modules/unistr/u8-next: New file.
72980         * modules/unistr/u16-next: New file.
72981         * modules/unistr/u32-next: New file.
72982         * lib/unistr/u8-next.c: New file.
72983         * lib/unistr/u16-next.c: New file.
72984         * lib/unistr/u32-next.c: New file.
72985
72986         * modules/unistr/u8-prev: New file.
72987         * modules/unistr/u16-prev: New file.
72988         * modules/unistr/u32-prev: New file.
72989         * lib/unistr/u8-prev.c: New file.
72990         * lib/unistr/u16-prev.c: New file.
72991         * lib/unistr/u32-prev.c: New file.
72992
72993         * modules/unistr/u8-set: New file.
72994         * modules/unistr/u16-set: New file.
72995         * modules/unistr/u32-set: New file.
72996         * lib/unistr/u8-set.c: New file.
72997         * lib/unistr/u16-set.c: New file.
72998         * lib/unistr/u32-set.c: New file.
72999         * lib/unistr/u-set.h: New file.
73000
73001         * modules/unistr/u8-startswith: New file.
73002         * modules/unistr/u16-startswith: New file.
73003         * modules/unistr/u32-startswith: New file.
73004         * lib/unistr/u8-startswith.c: New file.
73005         * lib/unistr/u16-startswith.c: New file.
73006         * lib/unistr/u32-startswith.c: New file.
73007         * lib/unistr/u-startswith.h: New file.
73008
73009         * modules/unistr/u8-stpcpy: New file.
73010         * modules/unistr/u16-stpcpy: New file.
73011         * modules/unistr/u32-stpcpy: New file.
73012         * lib/unistr/u8-stpcpy.c: New file.
73013         * lib/unistr/u16-stpcpy.c: New file.
73014         * lib/unistr/u32-stpcpy.c: New file.
73015         * lib/unistr/u-stpcpy.h: New file.
73016
73017         * modules/unistr/u8-stpncpy: New file.
73018         * modules/unistr/u16-stpncpy: New file.
73019         * modules/unistr/u32-stpncpy: New file.
73020         * lib/unistr/u8-stpncpy.c: New file.
73021         * lib/unistr/u16-stpncpy.c: New file.
73022         * lib/unistr/u32-stpncpy.c: New file.
73023         * lib/unistr/u-stpncpy.h: New file.
73024
73025         * modules/unistr/u8-strcat: New file.
73026         * modules/unistr/u16-strcat: New file.
73027         * modules/unistr/u32-strcat: New file.
73028         * lib/unistr/u8-strcat.c: New file.
73029         * lib/unistr/u16-strcat.c: New file.
73030         * lib/unistr/u32-strcat.c: New file.
73031         * lib/unistr/u-strcat.h: New file.
73032
73033         * modules/unistr/u8-strchr: New file.
73034         * modules/unistr/u16-strchr: New file.
73035         * modules/unistr/u32-strchr: New file.
73036         * lib/unistr/u8-strchr.c: New file.
73037         * lib/unistr/u16-strchr.c: New file.
73038         * lib/unistr/u32-strchr.c: New file.
73039
73040         * modules/unistr/u8-strcmp: New file.
73041         * modules/unistr/u16-strcmp: New file.
73042         * modules/unistr/u32-strcmp: New file.
73043         * lib/unistr/u8-strcmp.c: New file.
73044         * lib/unistr/u16-strcmp.c: New file.
73045         * lib/unistr/u32-strcmp.c: New file.
73046
73047         * modules/unistr/u8-strcpy: New file.
73048         * modules/unistr/u16-strcpy: New file.
73049         * modules/unistr/u32-strcpy: New file.
73050         * lib/unistr/u8-strcpy.c: New file.
73051         * lib/unistr/u16-strcpy.c: New file.
73052         * lib/unistr/u32-strcpy.c: New file.
73053         * lib/unistr/u-strcpy.h: New file.
73054
73055         * modules/unistr/u8-strcspn: New file.
73056         * modules/unistr/u16-strcspn: New file.
73057         * modules/unistr/u32-strcspn: New file.
73058         * lib/unistr/u8-strcspn.c: New file.
73059         * lib/unistr/u16-strcspn.c: New file.
73060         * lib/unistr/u32-strcspn.c: New file.
73061         * lib/unistr/u-strcspn.h: New file.
73062
73063         * modules/unistr/u8-strdup: New file.
73064         * modules/unistr/u16-strdup: New file.
73065         * modules/unistr/u32-strdup: New file.
73066         * lib/unistr/u8-strdup.c: New file.
73067         * lib/unistr/u16-strdup.c: New file.
73068         * lib/unistr/u32-strdup.c: New file.
73069         * lib/unistr/u-strdup.h: New file.
73070
73071         * modules/unistr/u8-strlen: New file.
73072         * modules/unistr/u16-strlen: New file.
73073         * modules/unistr/u32-strlen: New file.
73074         * lib/unistr/u8-strlen.c: New file.
73075         * lib/unistr/u16-strlen.c: New file.
73076         * lib/unistr/u32-strlen.c: New file.
73077         * lib/unistr/u-strlen.h: New file.
73078
73079         * modules/unistr/u8-strmblen: New file.
73080         * modules/unistr/u16-strmblen: New file.
73081         * modules/unistr/u32-strmblen: New file.
73082         * lib/unistr/u8-strmblen.c: New file.
73083         * lib/unistr/u16-strmblen.c: New file.
73084         * lib/unistr/u32-strmblen.c: New file.
73085
73086         * modules/unistr/u8-strmbtouc: New file.
73087         * modules/unistr/u16-strmbtouc: New file.
73088         * modules/unistr/u32-strmbtouc: New file.
73089         * lib/unistr/u8-strmbtouc.c: New file.
73090         * lib/unistr/u16-strmbtouc.c: New file.
73091         * lib/unistr/u32-strmbtouc.c: New file.
73092
73093         * modules/unistr/u8-strncat: New file.
73094         * modules/unistr/u16-strncat: New file.
73095         * modules/unistr/u32-strncat: New file.
73096         * lib/unistr/u8-strncat.c: New file.
73097         * lib/unistr/u16-strncat.c: New file.
73098         * lib/unistr/u32-strncat.c: New file.
73099         * lib/unistr/u-strncat.h: New file.
73100
73101         * modules/unistr/u8-strncmp: New file.
73102         * modules/unistr/u16-strncmp: New file.
73103         * modules/unistr/u32-strncmp: New file.
73104         * lib/unistr/u8-strncmp.c: New file.
73105         * lib/unistr/u16-strncmp.c: New file.
73106         * lib/unistr/u32-strncmp.c: New file.
73107
73108         * modules/unistr/u8-strncpy: New file.
73109         * modules/unistr/u16-strncpy: New file.
73110         * modules/unistr/u32-strncpy: New file.
73111         * lib/unistr/u8-strncpy.c: New file.
73112         * lib/unistr/u16-strncpy.c: New file.
73113         * lib/unistr/u32-strncpy.c: New file.
73114         * lib/unistr/u-strncpy.h: New file.
73115
73116         * modules/unistr/u8-strnlen: New file.
73117         * modules/unistr/u16-strnlen: New file.
73118         * modules/unistr/u32-strnlen: New file.
73119         * lib/unistr/u8-strnlen.c: New file.
73120         * lib/unistr/u16-strnlen.c: New file.
73121         * lib/unistr/u32-strnlen.c: New file.
73122         * lib/unistr/u-strnlen.h: New file.
73123
73124         * modules/unistr/u8-strpbrk: New file.
73125         * modules/unistr/u16-strpbrk: New file.
73126         * modules/unistr/u32-strpbrk: New file.
73127         * lib/unistr/u8-strpbrk.c: New file.
73128         * lib/unistr/u16-strpbrk.c: New file.
73129         * lib/unistr/u32-strpbrk.c: New file.
73130         * lib/unistr/u-strpbrk.h: New file.
73131
73132         * modules/unistr/u8-strrchr: New file.
73133         * modules/unistr/u16-strrchr: New file.
73134         * modules/unistr/u32-strrchr: New file.
73135         * lib/unistr/u8-strrchr.c: New file.
73136         * lib/unistr/u16-strrchr.c: New file.
73137         * lib/unistr/u32-strrchr.c: New file.
73138
73139         * modules/unistr/u8-strspn: New file.
73140         * modules/unistr/u16-strspn: New file.
73141         * modules/unistr/u32-strspn: New file.
73142         * lib/unistr/u8-strspn.c: New file.
73143         * lib/unistr/u16-strspn.c: New file.
73144         * lib/unistr/u32-strspn.c: New file.
73145         * lib/unistr/u-strspn.h: New file.
73146
73147         * modules/unistr/u8-strstr: New file.
73148         * modules/unistr/u16-strstr: New file.
73149         * modules/unistr/u32-strstr: New file.
73150         * lib/unistr/u8-strstr.c: New file.
73151         * lib/unistr/u16-strstr.c: New file.
73152         * lib/unistr/u32-strstr.c: New file.
73153         * lib/unistr/u-strstr.h: New file.
73154
73155         * modules/unistr/u8-strtok: New file.
73156         * modules/unistr/u16-strtok: New file.
73157         * modules/unistr/u32-strtok: New file.
73158         * lib/unistr/u8-strtok.c: New file.
73159         * lib/unistr/u16-strtok.c: New file.
73160         * lib/unistr/u32-strtok.c: New file.
73161         * lib/unistr/u-strtok.h: New file.
73162
73163         * modules/unistr/u8-uctomb: New file.
73164         * modules/unistr/u16-uctomb: New file.
73165         * modules/unistr/u32-uctomb: New file.
73166         * lib/unistr/u8-uctomb.c: New file.
73167         * lib/unistr/u16-uctomb.c: New file.
73168         * lib/unistr/u32-uctomb.c: New file.
73169
73170         * MODULES.html.sh (Unicode string functions): Add the new modules.
73171
73172 2007-01-08  Bruno Haible  <bruno@clisp.org>
73173
73174         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
73175         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
73176         subdirectories.
73177
73178 2007-01-08  Karl Berry  <karl@gnu.org>
73179
73180         * doc/error.texi: mention that main() fns must set program_name
73181         when progname is used.
73182
73183 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
73184
73185         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
73186         WCTYPE_H is empty, for the benefit of builds from non-distclean
73187         directories.  Problem reported by Eric Blake in
73188         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
73189
73190 2007-01-08  Bruno Haible  <bruno@clisp.org>
73191
73192         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
73193         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
73194         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
73195         PROVIDE_CANONICALIZE_FILENAME_MODE.
73196         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
73197
73198 2007-01-08  Bruno Haible  <bruno@clisp.org>
73199
73200         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
73201         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
73202         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
73203         * lib/fts.c: Likewise.
73204         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
73205
73206 2006-12-25  Bruno Haible  <bruno@clisp.org>
73207
73208         * modules/utf8-ucs4-safe: New file.
73209         * lib/utf8-ucs4-safe.h: New file.
73210         * lib/unistr/utf8-ucs4-safe.c: New file.
73211
73212         * modules/utf16-ucs4-safe: New file.
73213         * lib/utf16-ucs4-safe.h: New file.
73214         * lib/unistr/utf16-ucs4-safe.c: New file.
73215
73216         * MODULES.html.sh (Unicode string functions): Add the new modules.
73217
73218 2007-01-08  Bruno Haible  <bruno@clisp.org>
73219
73220         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
73221         (Depends-on): Add unitypes.
73222         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
73223         (u8_mbtouc_aux): Move out to separate file.
73224         (u8_mbtouc): Use ucs4_t, uint8_t types.
73225         * lib/unistr/utf8-ucs4.c: New file.
73226
73227         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
73228         (Depends-on): Add unitypes.
73229         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
73230         (u16_mbtouc_aux): Move out to separate file.
73231         (u16_mbtouc): Use ucs4_t, uint16_t types.
73232         * lib/unistr/utf16-ucs4.c: New file.
73233
73234         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
73235         (Depends-on): Add unitypes.
73236         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
73237         (u8_uctomb_aux): Move out to separate file.
73238         (u8_uctomb): Use ucs4_t, uint8_t types.
73239         * lib/unistr/ucs4-utf8.c: New file.
73240
73241         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
73242         (Depends-on): Add unitypes.
73243         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
73244         (u16_uctomb_aux): Move out to separate file.
73245         (u16_uctomb): Use ucs4_t, uint16_t types.
73246         * lib/unistr/ucs4-utf16.c: New file.
73247
73248 2006-12-25  Bruno Haible  <bruno@clisp.org>
73249
73250         * modules/unitypes: New file.
73251         * lib/unitypes.h: New file.
73252         * MODULES.html.sh (func_all_modules): New section "Unicode string
73253         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
73254         this section. Add unitypes.
73255
73256 2007-01-08  Bruno Haible  <bruno@clisp.org>
73257
73258         Avoid variable names that conflict with those from libtool.
73259         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
73260         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
73261         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
73262         library_names_spec to acl_library_names_spec, hardcode_* to
73263         acl_hardcode_*.
73264         Reported by Ralf Wildenhues.
73265
73266 2007-01-08  Bruno Haible  <bruno@clisp.org>
73267
73268         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
73269         definition.
73270         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
73271         definition.
73272         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
73273         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
73274         definition.
73275         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
73276         definition.
73277         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
73278         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
73279         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
73280         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
73281         definition.
73282         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
73283         definition.
73284         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
73285         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
73286         GC_USE_<algorithm>.
73287         * lib/gc-libgcrypt.c: Likewise.
73288         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
73289         * modules/gc-arctwo (configure.ac): Likewise.
73290         * modules/gc-des (configure.ac): Likewise.
73291         * modules/gc-hmac-md5 (configure.ac): Likewise.
73292         * modules/gc-hmac-sha1 (configure.ac): Likewise.
73293         * modules/gc-md2 (configure.ac): Likewise.
73294         * modules/gc-md4 (configure.ac): Likewise.
73295         * modules/gc-md5 (configure.ac): Likewise.
73296         * modules/gc-random (configure.ac): Likewise.
73297         * modules/gc-rijndael (configure.ac): Likewise.
73298         * modules/gc-sha1 (configure.ac): Likewise.
73299
73300 2007-01-08  Bruno Haible  <bruno@clisp.org>
73301
73302         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
73303         macro definition.
73304         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
73305         definition.
73306         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
73307         definition.
73308         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
73309         * modules/fcntl-safer (configure.ac): Likewise.
73310         * modules/fopen-safer (configure.ac): Likewise.
73311         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
73312         GNULIB_FWRITEERROR macro definition.
73313
73314 2007-01-08  Bruno Haible  <bruno@clisp.org>
73315
73316         * m4/gnulib-common.m4: New file.
73317         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
73318         (func_get_filelist): Add m4/gnulib-common.m4.
73319
73320 2007-01-08  Bruno Haible  <bruno@clisp.org>
73321
73322         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
73323         command.
73324
73325 2007-01-08  Jim Meyering  <jim@meyering.net>
73326
73327         Use a more robust test for a "can't happen" condition.
73328         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
73329         narrowed the st_size value.  Presuming the "can't happen" condition
73330         is true, that narrowing could conceivably convert an invalid st_size
73331         value into a valid one.  Instead, use a change based on Matthew
73332         Woehlke's original patch.
73333
73334         Slight readability improvement: use an assert-like macro
73335         in place of literal "abort ()" uses.
73336         * lib/fts.c (fts_assert): Define.
73337         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
73338         Use this macro instead of a bare 'abort'.
73339
73340 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
73341
73342         Don't worry about using IRIX 5.3's wctype.h broken definitions;
73343         simply work around them.
73344         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
73345         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
73346         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
73347         declaring.
73348         Don't bother to define as macros, since the standard doesn't require it.
73349         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
73350         longer worry about IRIX 5.3.
73351         (HAVE_WCTYPE_CTMP_BUG): Remove.
73352
73353 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73354
73355         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
73356         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
73357         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
73358         Problems reported by Georg Schwarz for IRIX 5.3.
73359
73360         * gnulib-tool (autoconf_minversion): Take the maximum version number
73361         found, not the minimum.  Problem reported by James Youngman.
73362
73363 2007-01-03  Karl Berry  <karl@gnu.org>
73364
73365         * doc/error.texi: new file, explaining interaction with progname.
73366         * doc/gnulib.texi: include it.  Update copyright.
73367
73368 2007-01-03  Simon Josefsson  <simon@josefsson.org>
73369
73370         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
73371         AC_CANONICAL_HOST, to improve autobuild outputs.
73372
73373 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
73374             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73375
73376         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
73377         sockets, server sockets, and other file descriptors.  Count errors
73378         to compute the return value.  Reorder the code a bit to be easier
73379         to follow.  Don't set event bits that were not requested (except
73380         POLLERR and POLLHUP).
73381
73382 2007-01-01  Bruno Haible  <bruno@clisp.org>
73383
73384         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
73385
73386 2007-01-03  Jim Meyering  <jim@meyering.net>
73387
73388         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
73389
73390 2007-01-02  Bruno Haible  <bruno@clisp.org>
73391
73392         * modules/settime (Include): Require timespec.h.
73393         * modules/nanosleep (Include): Likewise.
73394
73395 2007-01-01  Bruno Haible  <bruno@clisp.org>
73396
73397         * gnulib-tool (func_emit_copyright_notice): Bump year.
73398         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
73399
73400 2007-01-01  Bruno Haible  <bruno@clisp.org>
73401
73402         Improve support for OpenBSD.
73403         * build-aux/config.rpath (libname_spec): Export.
73404         (library_names_spec): New variable. Export.
73405         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
73406         library_names_spec from the config.rpath output. Locate shared library
73407         through the name pattern in library_names_spec.
73408
73409 2007-01-01  Eric Blake  <ebb9@byu.net>
73410
73411         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
73412
73413 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
73414
73415         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
73416         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
73417         assume the C locale, and avoid an "eval" that could cause trouble.
73418         Problem with SORT reported by Bob Proulx.
73419
73420         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
73421         Define.  Trivial patch from Henning Nielsen Lund, originally
73422         sent to bug-grep@gnu.org today.
73423
73424 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
73425
73426         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
73427         struct stat.  Problem reported by Henning Nielsen Lund.
73428         * lib/acl.c: Include acl.h first, to check interface.  Don't
73429         bother to include sys/types.h and sys/stat.h again.
73430
73431 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73432
73433         Import the following change from libc; problem reported by
73434         Sven Verdoolaege.
73435
73436         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
73437
73438         [BZ #1373]
73439         * lib/argp.h: Remove __NTH for __argp_usage inline function.
73440
73441 2006-12-28  Jim Meyering  <jim@meyering.net>
73442
73443         * build-aux/announce-gen: Do not assume that the package
73444         builds any of tar.gz, tar.bz2, and .xdelta files.
73445         Suggestion from Simon Josefsson.
73446
73447 2006-12-28  Simon Josefsson  <simon@josefsson.org>
73448
73449         * modules/announce-gen: New file.
73450
73451 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
73452
73453         * lib/mbchar.h: Just include <wctype.h>; the wctype module
73454         handles its gotchas now.
73455         * lib/mbswidth.c: Likewise.
73456         * lib/wcwidth.h: Likewise.
73457         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
73458         and iswcntrl; the wctype module does this stuff now.
73459         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73460         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
73461         * modules/mbchar (Depends-on): Add wctype.
73462         * modules/mbswidth (Depends-on): Likewise.
73463         * modules/wcwidth (Depends-on): Likewise.
73464
73465 2006-12-27  Eric Blake  <ebb9@byu.net>
73466
73467         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
73468         module uses more than what <wctype.h> is required to provide.
73469
73470 2006-12-26  Eric Blake  <ebb9@byu.net>
73471
73472         * gnulib-tool (sed_extract_prog): Avoid space-tab.
73473
73474 2006-12-26  Eric Blake  <ebb9@byu.net>
73475
73476         * modules/absolute-header: New module.
73477         * modules/fcntl (Depends-on): Depend on it.
73478         * modules/inttypes (Depends-on): Likewise.
73479         * modules/stdint (Depends-on): Likewise.
73480         * modules/sys_stat (Depends-on): Likewise.
73481         * modules/wctype (Depends-on): Likewise.
73482         * MODULES.html.sh (Support for building libraries and
73483         executables): Document it.
73484
73485 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
73486
73487         * gnulib-tool (SED): Remove, undoing previous change.
73488         The problem was that it broke coreutils on Solaris, because
73489         "sed --posix" leaked into a makefile.
73490         (sed): New alias, if 'alias' and GNU sed.
73491
73492 2006-12-24  Jim Meyering  <jim@meyering.net>
73493
73494         Work around an fchownat bug in glibc-2.4:
73495         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
73496         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
73497         in spite of the -P option.
73498         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
73499         New macros.
73500         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
73501         * modules/openat (Files): Add lib/fchownat.c.
73502         * lib/openat.c (fchownat): Don't define here.  Move to...
73503         * lib/fchownat.c: ...this new file.
73504
73505 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73506
73507         Fix bug reported by Bruno Haible in
73508         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
73509         where quotearg.c didn't compile on Mac OS X 10.2 because it
73510         lacks <wchar.h> and wint_t.
73511         * lib/wctype_.h (__wctype_wint_t): New type.
73512         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
73513         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
73514         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
73515         Arg is now of type __wctype_wint_t, not wint_t.
73516         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
73517         substitute HAVE_WINT_T.
73518         * modules/wctype (Files): Add m4/wint_t.m4.
73519         (wctype.h): Substitute HAVE_WINT_T.
73520
73521 2006-12-23  Bruno Haible  <bruno@clisp.org>
73522
73523         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
73524
73525 2006-12-23  Bruno Haible  <bruno@clisp.org>
73526
73527         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
73528         S_ISLNK.
73529         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
73530         mingw.
73531
73532 2006-12-22  Bruno Haible  <bruno@clisp.org>
73533
73534         * lib/copy-file.c: Include acl.h.
73535         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
73536         Close the file descriptors only after being done with copy_acl.
73537         * modules/copy-file (Depends-on): Add acl.
73538
73539 2006-12-22  Bruno Haible  <bruno@clisp.org>
73540
73541         * gnulib-tool (SED): New variable.
73542         Use $SED instead of sed everywhere.
73543
73544 2006-12-22  Bruno Haible  <bruno@clisp.org>
73545
73546         * modules/no-c++: New file.
73547         * m4/no-c++.m4: New file.
73548         * MODULES.html.sh (Support for building libraries and executables):
73549         Add no-c++.
73550
73551 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
73552
73553         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
73554         Include <limits.h>, and use its INT_MAX to rewrite the
73555         j loop so that it does not overflow 'int'.  Problem reported by
73556         Ralf Wildenhues in
73557         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
73558         Play it safe by shifting left by 1 rather than multiplying by 2,
73559         as GCC is less likely to optimize this away when the value
73560         is signed (when it assumes overflow leads to undefined behavior).
73561         Also, don't assume time_t uses two's complement.
73562
73563 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
73564
73565         * MODULES.html.sh: New module wctype.
73566         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
73567         * lib/fnmatch.c: Don't bother to include <wchar.h> before
73568         <wctype.h>, since the new wctype module should fix this.
73569         * lib/quotearg.c: Include <wctype.h> unconditionally, since
73570         the wctype module should arrange for it.
73571         * lib/regex_internal.h: Likewise.
73572         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
73573         since the wctype module should handle this now.
73574         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
73575         * modules/fnmatch (Depends-on): Add wctype.
73576         * modules/quotearg (Depends-on): Likewise.
73577         * modules/regex (Depends-on): Likewise.
73578
73579 2006-12-19  Bruno Haible  <bruno@clisp.org>
73580
73581         * lib/strdup.h [C++]: Wrap definitions in extern "C".
73582         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
73583
73584 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73585
73586         * modules/savewd (Depends-on): Fix dependency on fcntl.
73587
73588 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73589
73590         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
73591         conforms to C99, rather than relying on the user's environment
73592         setting of STDINT_H.
73593
73594 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73595         and Eric Blake  <ebb9@byu.net>
73596
73597         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
73598         This is more consistent with the other defines here.
73599         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
73600         Port to z/OS.  Problem reported by Paul Gilmartin.
73601         Change local vars to use gl_ prefix rather than ac_.
73602         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
73603         with other defines.
73604         * modules/double-slash-root: New module.
73605         * modules/dirname (Files): Remove m4/double-slash-root.m4.
73606         (Depends-on): Add double-slash-root.
73607         * MODULES.html.sh (File system functions): Mention new module.
73608
73609 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
73610
73611         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
73612         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
73613         This is for the benefit of gzip, which doesn't do i18n.
73614
73615 2006-12-12  Jim Meyering  <jim@meyering.net>
73616
73617         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
73618         Reported by Andreas Schwab <schwab@suse.de>.
73619
73620 2006-12-12  Bruno Haible  <bruno@clisp.org>
73621
73622         Merge these changes.
73623         2006-09-05  Bruno Haible  <bruno@clisp.org>
73624         * lib/iconvme.c (iconv_string): No need to save and restore errno when
73625         iconv_alloc succeeded.
73626         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
73627         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
73628         test for " && dest " at the end - dest is always != NULL there. Call
73629         iconv with 4xNULL arguments initially, to reset the state. Call iconv
73630         with 2xNULL arguments, also to flush the state storage. Handle the
73631         IRIX iconv behaviour. Realloc the final result, to throw away unused
73632         memory.
73633
73634 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
73635
73636         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
73637         and fchmodat unconditionally, since glibc 2.4 has them.
73638         Problem reported by Arkadiusz Miskiewicz.
73639
73640 2006-12-10  Bruno Haible  <bruno@clisp.org>
73641
73642         * gnulib-tool (func_import): Show the include files only for those
73643         modules that are copied and specified.
73644         Reported by Karl Berry.
73645
73646 2006-12-08  Jim Meyering  <jim@meyering.net>
73647
73648         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
73649         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
73650
73651         * build-aux/announce-gen: Add two new options, both optional:
73652         --bootstrap-tools=TOOL_LIST
73653               a comma-separated list of tools, e.g.,
73654               autoconf,automake,bison,gnulib
73655         --gnulib-snapshot-date=DATE
73656               if gnulib is in the bootstrap tool list,
73657               then report this as the snapshot date.
73658               If not specified, use the current date/time.
73659               If you specify a date here, be sure it's UTC.
73660
73661 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73662
73663         * tests/test-argp-2.sh: Fix test to match actual output.
73664         (func_compare): Fix sed script to be portable.
73665
73666 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
73667
73668         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
73669         workaround for this case.  It is not autoconfigured now; offhand
73670         it's hard to see how to autoconfigure it.
73671
73672 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73673
73674         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
73675         a directory that is about to be chowned.  Such a directory's
73676         initial file permissions should permit the owner only and this
73677         should not be changed until after the chown, since the group and
73678         other bits would be incorrect if they granted permission before
73679         the chown.
73680
73681         Fix porting problem for iswctype reported by Georg Schwarz in:
73682         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
73683         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
73684         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
73685         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
73686         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73687
73688 2006-12-03  Jim Meyering  <jim@meyering.net>
73689
73690         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
73691         p->fts_statp may not yet be defined.
73692         (fts_read): Instead, set it in the caller, once p->fts_statp is
73693         sure to be defined, and corresponds to a top-level directory.
73694         This bug made du -x fail.  Here's the coreutils test case:
73695         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
73696         Reported by Mike Frysinger.
73697
73698 2006-12-01  Jim Meyering  <jim@meyering.net>
73699
73700         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
73701         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
73702         Reported by Simon Josefsson.
73703
73704 2006-11-30  Jim Meyering  <jim@meyering.net>
73705
73706         * m4/warning.m4: Use the all-permissive copyright notice
73707         recommended by RMS (rather than LGPL).
73708         * m4/vararrays.m4: Likewise.
73709         * m4/flexmember.m4: Likewise.
73710
73711 2006-11-29  Bruno Haible  <bruno@clisp.org>
73712
73713         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73714         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
73715         using +=.
73716         Reported by Simon Josefsson <simon@josefsson.org>.
73717
73718 2006-11-28  James Youngman <jay@gnu.org>
73719
73720         * README: Advise users that they might find the bug-gnulib@gnu.org
73721         and autotools-announce@gnu.org mailing lists useful.
73722
73723 2006-11-28  Bruno Haible  <bruno@clisp.org>
73724
73725         * m4/ptrdiff_max.m4: Remove file.
73726
73727 2006-11-21  Bruno Haible  <bruno@clisp.org>
73728
73729         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
73730         _AC_COMPUTE_INT.
73731         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73732         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
73733         _AC_COMPUTE_INT.
73734         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73735         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
73736         _AC_COMPUTE_INT.
73737         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73738
73739 2006-11-28  Jim Meyering  <jim@meyering.net>
73740
73741         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
73742         warning from "gcc -Wshadow" about shadowing the builtin.
73743
73744 2006-11-27  Bruno Haible  <bruno@clisp.org>
73745
73746         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
73747         _AC_COMPUTE_INT.
73748         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73749
73750 2006-11-27  Bruno Haible  <bruno@clisp.org>
73751             Paul Eggert  <eggert@cs.ucla.edu>
73752
73753         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
73754
73755 2006-11-26  Bruno Haible  <bruno@clisp.org>
73756
73757         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73758         noinst_LTLIBRARIES.
73759
73760 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73761             Bruno Haible  <bruno@clisp.org>
73762
73763         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
73764         if compiling with "gcc -ansi".
73765
73766 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73767
73768         Fix some incompatibilities with gcc -ansi -pedantic.
73769         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
73770         if compiling pedantically with GCC, unless it's C99 or later.
73771         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
73772         it mishandles gcc -ansi -pedantic as well.
73773         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
73774         if gcc -pedantic.
73775         * lib/regexec.c (check_node_accept_bytes): Don't use auto
73776         initializers for struct if -pedantic, unless it's C99 or later.
73777
73778 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
73779
73780         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
73781         Don't close an fd more than once. Identical atimes indicate
73782         success, not failure.
73783
73784 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
73785
73786         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
73787
73788 2006-11-23  Jim Meyering  <jim@meyering.net>
73789
73790         * build-aux/announce-gen: New file.  From coreutils.
73791
73792 2006-11-22  Jim Meyering  <jim@meyering.net>
73793
73794         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
73795         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
73796         (fts_read): Use a temporary to narrow the overused st_size member
73797         before using it in a switch statement.  Reported by Matthew Woehlke.
73798
73799         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
73800         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
73801
73802 2006-11-20  Bruno Haible  <bruno@clisp.org>
73803
73804         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
73805         changequote instead of pairs of brackets.
73806         Reported by Andreas Schwab <schwab@suse.de>.
73807
73808 2006-11-21  Jim Meyering  <jim@meyering.net>
73809
73810         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
73811         so as to remain compatible with older compilers.
73812         Patch from Michael Deutschmann.
73813
73814 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73815
73816         * MODULES.html.sh (File system functions): Add openat.
73817
73818         * lib/openat.h (rpl_fstatat): New macro, if
73819         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
73820         (fstatat): Define to rpl_fstatat under the same conditions,
73821         unless COMPILING_FSTATAT.
73822         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
73823         seems to have the bug.
73824         * lib/fstatat.c: New file.
73825         * modules/openat (Files): Add it.
73826
73827 2006-11-20  Bruno Haible  <bruno@clisp.org>
73828
73829         * Makefile: New file.
73830
73831 2006-11-20  Jim Meyering  <jim@meyering.net>
73832
73833         The beginnings of syntax-related checks for gnulib.
73834         * lib/Makefile: New file.
73835         * lib/t-idcache: New script.  Ensure that the two halves of
73836         idcache.c stay in sync.
73837
73838         * lib/idcache.c: Adjust comments in user- and group- portions to
73839         be more accurate, and to be consistent with one another.
73840
73841 2006-11-20  Jim Meyering  <jim@meyering.net>
73842
73843         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
73844         continue using the flexible array member (thus, this module performs
73845         half as many malloc calls), with the addition that...
73846         (getgroup, getuser): Consistently record a non-match via an empty
73847         "name" string, and map an empty string match to a NULL return value.
73848         * modules/idcache (Depends-on): Re-add flexmember.
73849
73850         * lib/idcache.c (getuser): Remove all uses of the register keyword.
73851         (getuidbyname, getgroup, getgidbyname): Likewise.
73852
73853         Use cleaner syntax: NULL rather than 0.
73854         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
73855
73856 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73857
73858         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
73859         It mishandled the case where the group was missing.
73860         Problem reported by Greg Schafer.
73861         * modules/idcache: Likewise.
73862
73863 2006-11-18  Jim Meyering  <jim@meyering.net>
73864
73865         * check-module (%exempt_header): Add exception for some
73866         conditionally-included headers.
73867
73868         * modules/i-ring (Depends-on): Add verify.
73869         (License): Change to LGPL.
73870
73871 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73872
73873         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
73874         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
73875         and inttostr.h.  Use snprintf rather than uinttostr, so that
73876         LGPLed code doesn't depend on GPLed.
73877
73878 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73879
73880         * modules/inline (License): Change from GPL to LGPL.
73881
73882 2006-11-17  Jim Meyering  <jim@meyering.net>
73883
73884         * modules/d-type (License): Switch to LGPL.
73885
73886 2006-11-15  Bruno Haible  <bruno@clisp.org>
73887
73888         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
73889
73890 2006-11-15  Eric Blake  <ebb9@byu.net>
73891
73892         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
73893         the module dependency.
73894
73895 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73896             Bruno Haible  <bruno@clisp.org>
73897
73898         * gnulib-tool (func_create_testdir): Add license consistency check.
73899
73900 2006-11-15  Eric Blake  <ebb9@byu.net>
73901
73902         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
73903         random "(cached)" in configure output.
73904
73905 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73906
73907         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
73908         test for conforming inttypes.h is both announced and cached.
73909
73910         * MODULES.html.sh (seen_modules, seen_files): New variables.
73911         (func_module): Rewrite to use a few less gnulib-tool and sed
73912         invocations.  Avoid a couple of quadratic algorithms for ...
73913         (missed_modules, missed_files): ... these, with ...
73914         (func_append, func_tmpdir): ... these new functions, from
73915         gnulib-tool.  Analogously, install traps for cleanup.
73916
73917         * tests/test-gc.c (main): Remove unused variables.
73918         * tests/test-read-file.c: Include stdlib.h, for 'free'.
73919
73920 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
73921
73922         * modules/inttostr (License): Change to LGPL.
73923
73924 2006-11-14  Eric Blake  <ebb9@byu.net>
73925
73926         * modules/tempname (License): Change to LGPL.
73927
73928 2006-11-14  Eric Blake  <ebb9@byu.net>
73929
73930         * doc/functions.texi (Function Portability): *printf functions on
73931         Cygwin now understand all POSIX size specifiers.
73932
73933 2006-11-14  Bruno Haible  <bruno@clisp.org>
73934
73935         * modules/c-ctype (License): Change to LGPL.
73936
73937 2006-11-12  Bruno Haible  <bruno@clisp.org>
73938
73939         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
73940         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
73941         for GNOME libraries, for which the include files are installed in
73942         subdirectories of $prefix/include.
73943
73944 2006-11-12  Bruno Haible  <bruno@clisp.org>
73945
73946         * m4/lib-link.m4: Require at least autoconf-2.54.
73947         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73948         name to underscores for the --with option.
73949
73950 2006-11-13  Bruno Haible  <bruno@clisp.org>
73951
73952         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73953         the tests directory.
73954         Reported by Ralf Wildenhues.
73955
73956 2006-11-13  Bruno Haible  <bruno@clisp.org>
73957
73958         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73959         (func_emit_initmacro_end): Undo the override here.
73960         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73961         Works around the famous automake error in coreutils.
73962
73963 2006-11-13  Eric Blake  <ebb9@byu.net>
73964
73965         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73966         element, not its node.
73967
73968 2006-11-12  Bruno Haible  <bruno@clisp.org>
73969
73970         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73971         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73972
73973 2006-11-12  Bruno Haible  <bruno@clisp.org>
73974
73975         * gnulib-tool: New option --local-symlink.
73976         (func_usage): Document it.
73977         (lsymbolic): New variable.
73978         (func_import, func_create_testdir): If --symlink was not specified,
73979         test whether --local-symlink was specified and the file comes from
73980         the local_gnulib_dir.
73981
73982 2006-11-12  Bruno Haible  <bruno@clisp.org>
73983
73984         * gnulib-tool (func_ln): New function.
73985         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73986
73987 2006-11-12  Bruno Haible  <bruno@clisp.org>
73988
73989         Finish support for source files in subdirectories.
73990         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73991         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73992         AUTOMAKE_OPTIONS.
73993         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73994
73995 2006-11-12  Bruno Haible  <bruno@clisp.org>
73996
73997         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73998         EXTRA_lib_SOURCES augmentation.
73999         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
74000
74001 2006-11-12  Jim Meyering  <jim@meyering.net>
74002
74003         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
74004         file descriptors.  This also averts a failure on systems with
74005         native openat support when a traversed directory lacks "x" access.
74006         * lib/fts_.h: Include "i-ring.h"
74007         (struct FTS) [fts_fd_ring]: New member.
74008         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
74009         (FCHDIR): Add parentheses.
74010         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
74011         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
74012         When descending, rather than simply closing the previous
74013         fts_cwd_fd value, push that file descriptor onto the ring.
74014         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
74015         (fts_open): Initialize the new fd_ring member.
74016         (fts_close): Clear the ring.
74017         (fts_safe_changedir): When possible, use our new fd_ring to skip
74018         the diropen and fstat and dev/ino comparison that would normally
74019         accompany a virtual `chdir ("..")'.
74020
74021         * modules/fts (Depends-on): Add i-ring.
74022         * modules/i-ring: New module.
74023         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
74024         * m4/i-ring.m4: New file.
74025
74026 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74027
74028         * gnulib-tool (func_create_testdir): Fix replacement of
74029         `build-aux' in configure.ac.  Run autotools in gltests
74030         subdirectory.
74031         (func_create_testdir, func_create_megatestdir, test): There is
74032         no need for '--force' in most autotool invocations in a new
74033         tree.  Actually fail the whole test if any of the tools, or the
74034         configure or make stages fail.
74035
74036         Sync from Automake.
74037         * build-aux/gnupload: Revert last change.  Add pointer to upload
74038         instructions of the GNU Maintenance Instructions.
74039         Suggestion by Karl Berry.
74040
74041 2006-11-10  Jim Meyering  <jim@meyering.net>
74042
74043         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
74044
74045 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74046
74047         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
74048         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
74049         (bind_textdomain_codeset) [! ENABLE_NLS]:
74050         Evaluate all the arguments.  That way, callers get compatible behavior
74051         if the arguments have side effects.  Also, it avoids some GCC
74052         diagnostics in some cases; Joel E. Denny reported problems when Bison
74053         was configured with --enable-gcc-warnigs.
74054
74055 2006-11-10  Jim Meyering  <jim@meyering.net>
74056
74057         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
74058         relevant options in CFLAGS (like -O, -fno-inline) are taken into
74059         account.
74060
74061 2006-11-10  Jim Meyering  <jim@meyering.net>
74062
74063         * modules/inline: New file/module.
74064         * modules/xalloc (Files): Remove m4/inline.m4.
74065         (Depends-on): Add inline, instead.
74066         * modules/oset: Likewise.
74067         * modules/list: Likewise.
74068
74069 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74070
74071         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
74072         Problem reported by Matthew Woehlke.
74073
74074 2006-11-09  Bruno Haible  <bruno@clisp.org>
74075
74076         * lib/tempname.c (gen_tempname): Remove variant that invokes
74077         __gen_tempname.
74078         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
74079         __gen_tempname.
74080
74081 2006-11-08  Bruno Haible  <bruno@clisp.org>
74082
74083         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
74084         to 'yes' instead of 'cross-compiling'.
74085
74086 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
74087
74088         * lib/quotearg.h (quotearg_free): New decl.
74089         * lib/quotearg.c (quotearg_free): New function.
74090         (slot0, nslots, slotvec0, slotvec):
74091         Now file-scope so that quotearg_free can get at them.
74092
74093 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74094
74095         Sync from Automake.
74096         * build-aux/gnupload: Add missing 'gnu' to example URL.
74097         Report by Karl Berry.
74098
74099 2006-11-08  Bruno Haible  <bruno@clisp.org>
74100
74101         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
74102         Suggested by Paul Eggert.
74103
74104 2006-11-08  Jim Meyering  <jim@meyering.net>
74105
74106         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
74107         It's already included if !_LIBC.
74108         (fts_safe_changedir): Add a comment.
74109
74110 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
74111
74112         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
74113         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
74114         Matthew Woehlke.
74115
74116         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
74117         definitions up, to avoid colliding with change below.
74118         (static_inline) [HAVE_INLINE]: New macro.
74119         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
74120         Provide extern decls when !HAVE_INLINE.  Do not define unless
74121         static_inline is defined, either by us or by xmalloc.c.  Use
74122         static_inline rather than static inline.
74123         (XCALLOC): Optimize sizeof(T) = 1 case.
74124         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
74125
74126 2006-11-07  Bruno Haible  <bruno@clisp.org>
74127
74128         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
74129         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
74130         AC_C_INLINE.
74131         * modules/xalloc (Files): Add m4/inline.m4.
74132
74133 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74134
74135         * README: Fix typo.
74136         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
74137         (Miscellanous Notes): ...from this.
74138
74139 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
74140
74141         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
74142         Mention that offsetof should be used instead of sizeof.
74143         From Bruno Haible.
74144
74145 2006-11-07  Bruno Haible  <bruno@clisp.org>
74146
74147         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
74148
74149 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
74150
74151         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
74152         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
74153         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
74154         (gl_tree_add_before, gl_tree_add_after):
74155         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
74156         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
74157         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
74158         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
74159         (gl_linked_add_after, gl_linked_add_at): Likewise.
74160         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
74161         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
74162         (gl_tree_add_before, gl_tree_add_after): Likewise.
74163         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
74164         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
74165         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
74166
74167 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74168
74169         * lib/gl_oset.h: Use C comment style, not C++ comment style.
74170
74171 2006-11-06  Bruno Haible  <bruno@clisp.org>
74172
74173         * m4/inline.m4: New file.
74174         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
74175         * modules/list (Files): Add m4/inline.m4.
74176         * modules/oset (Files): Likewise.
74177
74178 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
74179
74180         * lib/idcache.c: Include <stddef.h>, for offsetof.
74181         (struct userid.name): Change from char * to a flexible array member.
74182         All uses changed.
74183         * modules/idcache (Depends-on): Add flexmember.
74184
74185         * MODULES.html.sh (Core language properties): New module flexmember.
74186         * modules/flexmember, m4/flexmember.m4: New files.
74187
74188         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
74189         inline functions that are identical with the old xnmalloc_inline,
74190         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
74191         that we can avoid some unnecessary integer multiplications and
74192         divisions in the common case where the element size is known at
74193         compile time.
74194         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
74195         needed.
74196         (xnboundedmalloc): Remove.
74197         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
74198         arguments, for consistency with rest of this header.
74199         (xcharalloc): Rewrite using XNMALLOC.
74200         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
74201         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
74202         versions have been moved to lib/xalloc.h and renamed to be the
74203         non-*_inline versions.
74204         (xmalloc, xrealloc): Implement without reference to the xnmalloc
74205         and xnrealloc functions, since those functions are now inline and
74206         now call us.
74207         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
74208         renaming described above.
74209         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
74210         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
74211         captures the dependency in AC_C_INLINE.
74212
74213         New module canonicalize-lgpl, proposed by Charles Wilson in
74214         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
74215         with a few small changes afterwards.
74216         * MODULES.html.sh (File system functions): New module
74217         canonicalize-lgpl.
74218         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
74219         and canonicalize_file_name.
74220         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
74221         * modules/canonicalize-lgpl: New files.
74222
74223 2006-11-05  Bruno Haible  <bruno@clisp.org>
74224
74225         * gnulib-tool (func_import, func_create_testdir): Create directories
74226         also for files in subdirectories of lib/.
74227
74228 2006-11-05  Bruno Haible  <bruno@clisp.org>
74229
74230         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
74231         ANSI C compliant.
74232
74233 2006-11-03  Bruno Haible  <bruno@clisp.org>
74234
74235         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
74236         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
74237         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
74238         (xnboundedmalloc): New inline function.
74239         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
74240         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
74241         xmalloc.
74242         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
74243         xmalloc.
74244         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
74245         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
74246         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
74247         xmalloc.
74248         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
74249         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
74250         xmalloc.
74251         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
74252         gl_tree_add_after): Use XMALLOC instead of xmalloc.
74253         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
74254         xmalloc.
74255         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
74256         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
74257         gl_tree_add_after): Use XMALLOC instead of xmalloc.
74258         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
74259         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
74260         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
74261         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
74262
74263 2006-11-03  Bruno Haible  <bruno@clisp.org>
74264
74265         * lib/c-ctype.h [C++]: Define functions without name mangling.
74266         * lib/fwriteerror.h [C++]: Likewise.
74267         * lib/gcd.h [C++]: Likewise.
74268         * lib/linebreak.h [C++]: Likewise.
74269
74270 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74271
74272         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
74273         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
74274         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
74275         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74276         Check for functions and headers just once.
74277         Check for declaration of canonicalize_file_name.
74278         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
74279
74280 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74281
74282         * gnulib-tool (func_import): Fix typo in actioncmd.
74283
74284 2006-11-02  Bruno Haible  <bruno@clisp.org>
74285
74286         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
74287         newline sequence in the Makefile.am snippet as a space, like "make"
74288         does.
74289         Reported by Roger Persson <perrog@gmail.com>.
74290
74291 2006-11-01  Bruno Haible  <bruno@clisp.org>
74292
74293         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
74294         already declared in <string.h>.
74295         * lib/strcase.h (strncasecmp): Don't declare it if yes.
74296
74297 2006-11-01  Bruno Haible  <bruno@clisp.org>
74298
74299         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
74300         * lib/strcase.h: Include <string.h>.
74301         (strcasecmp): Define to rpl_strcasecmp here.
74302
74303 2006-11-01  Bruno Haible  <bruno@clisp.org>
74304
74305         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
74306
74307 2006-11-01  Eric Blake  <ebb9@byu.net>
74308
74309         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
74310
74311         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
74312
74313 2006-10-29  Bruno Haible  <bruno@clisp.org>
74314
74315         Make it compile in C++ mode.
74316         * lib/full-write.c (full_rw): Add a cast.
74317
74318 2006-11-01  Bruno Haible  <bruno@clisp.org>
74319
74320         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
74321         be POSIX compliant.
74322         Reported by Roger Persson <perrog@gmail.com>.
74323
74324 2006-11-01  Eric Blake  <ebb9@byu.net>
74325
74326         * lib/getopt_.h: Fix comments.
74327
74328 2006-10-31  Eric Blake  <ebb9@byu.net>
74329
74330         * modules/tmpdir (Depends-on): Add sys_stat.
74331         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
74332         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
74333         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
74334         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
74335         tempname.
74336
74337 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
74338
74339         Avoid some C++ diagnostics reported by Bruno Haible.
74340         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
74341         xmalloc.
74342         (quotearg_alloc): Use xcharalloc rather than xmalloc.
74343         (struct slotvec): Move to top level.
74344         (quotearg_n_options): Rewrite to avoid xmalloc.
74345         * lib/xalloc.h (xcharalloc): New function.
74346         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
74347         [defined __cplusplus]: Add function template that provides result
74348         type propagation.  This part of the change is from Bruno Haible.
74349
74350 2006-10-29  Bruno Haible  <bruno@clisp.org>
74351
74352         Make it compile in C++ mode.
74353         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
74354         * lib/strnlen1.c (strnlen1): Cast memchr result.
74355         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
74356         * lib/clean-temp.c (string_equals, string_hash): Add casts.
74357         (create_temp_dir): Rename local variable 'template'.
74358         (compile_csharp_using_sscli): Add cast.
74359         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
74360         * lib/findprog.c (find_in_path): Likewise.
74361         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
74362         * lib/wait-process.c (register_slave_subprocess): Likewise.
74363
74364 2006-10-22  Bruno Haible  <bruno@clisp.org>
74365
74366         * modules/tsearch: New file.
74367         * lib/tsearch.h: New file.
74368         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
74369         * m4/tsearch.m4: New file.
74370         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
74371
74372 2006-10-29  Eric Blake  <ebb9@byu.net>
74373
74374         * lib/arcfour.c: Assume config.h.
74375         * lib/arctwo.c: Likewise.
74376         * lib/base64.c: Likewise.
74377         * lib/check-version.c: Likewise.
74378         * lib/crc.c: Likewise.
74379         * lib/des.c: Likewise.
74380         * lib/gc-gnulib.c: Likewise.
74381         * lib/gc-libgcrypt.c: Likewise.
74382         * lib/gc-pbkdf2-sha1.c: Likewise.
74383         * lib/getaddrinfo.c: Likewise.
74384         * lib/getdelim.c: Likewise.
74385         * lib/getline.c: Likewise.
74386         * lib/hmac-md5.c: Likewise.
74387         * lib/hmac-sha1.c: Likewise.
74388         * lib/iconvme.c: Likewise.
74389         * lib/md2.c: Likewise.
74390         * lib/md4.c: Likewise.
74391         * lib/memxor.c: Likewise.
74392         * lib/read-file.c: Likewise.
74393         * lib/readline.c: Likewise.
74394         * lib/rijndael-alg-fst.c: Likewise.
74395         * lib/rijndael-api-fst.c: Likewise.
74396         * lib/xgetdomainname.c: Likewise.
74397
74398 2006-10-28  Eric Blake  <ebb9@byu.net>
74399
74400         * lib/xstrndup.c: Assume config.h.
74401
74402 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
74403
74404         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
74405         stat-macros.h is now for our own macros, whereas stat_h is for
74406         macros in the <sys/stat.h> name space.
74407         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
74408         (STAT_MACROS_H): Remove.
74409         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
74410         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
74411         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
74412         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
74413         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
74414         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
74415         Move these macros to ...
74416         * lib/stat_.h: here.  Don't include stat-macros.h.
74417         * lib/canonicalize.c: Don't include stat-macros.h.
74418         * lib/chown.c: Likewise.
74419         * lib/euidaccess.c: Likewise.
74420         * lib/file-type.c: Likewise.
74421         * lib/filemode.c: Likewise.
74422         * lib/glob.c: Likewise.
74423         * lib/isapipe.c: Likewise.
74424         * lib/lchown.c: Likewise.
74425         * lib/lstat.c: Likewise.
74426         * lib/mkdir-p.c: Likewise.
74427         * lib/rmdir.c: Likewise.
74428         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
74429         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
74430         unless mkdir isn't declared, to speed up 'configure'.
74431         Always create sys/stat.h, since it's unlikely any real sys/stat.h
74432         would define all the S_* symbols.
74433         * modules/canonicalize (Depends-on):
74434         Depend on sys_stat, not stat-macros.
74435         * modules/chown: Likewise.
74436         * modules/euidaccess: Likewise.
74437         * modules/filemode: Likewise.
74438         * modules/file-type: Likewise.
74439         * modules/glob: Likewise.
74440         * modules/isapipe: Likewise.
74441         * modules/lchown: Likewise.
74442         * modules/lstat: Likewise.
74443         * modules/mkancesdirs: Likewise.
74444         * modules/rmdir: Likewise.
74445         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
74446         * modules/modechange: Likewise.
74447         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
74448         (configure.ac): Remove gl_STAT_MACROS.
74449         * modules/sys_stat (Depends-on): Remove stat-macros.
74450
74451 2006-10-27  Bruno Haible  <bruno@clisp.org>
74452
74453         * m4/signed.m4: Remove file.
74454         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
74455         invocation.
74456         * modules/vasnprintf (Files): Remove m4/signed.m4.
74457
74458 2006-10-27  Bruno Haible  <bruno@clisp.org>
74459
74460         Update to GNU gettext 0.16.
74461         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
74462         m4/inttypes-h.m4, m4/signed.m4.
74463         * m4/gettext.m4: Update to GNU gettext 0.16.
74464         * m4/intl.m4: New file, from GNU gettext.
74465         * m4/intldir.m4: New file, from GNU gettext.
74466         * config/srclist.txt: Update
74467
74468 2006-10-27  Eric Blake  <ebb9@byu.net>
74469
74470         * MODULES.html.sh: Document tempname.
74471         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
74472         dependencies.
74473         (Files): Move lib/tempname.c...
74474         * modules/tempname: ...to this new module.
74475         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
74476         (gl_PREREQ_TEMPNAME): Move...
74477         * m4/tempname.m4: ...to this new file.
74478         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
74479         * modules/sys_stat (Depends-on): Add stat-macros.
74480         * lib/stat_.h (includes): Pick up stat macros.
74481         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
74482         if stat macros are broken.
74483         * lib/tempname.c (includes): No need to include "stat-macros.h".
74484         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
74485         (direxists, __path_search) [!_LIBC]: Don't compile these in
74486         gnulib; the tmpdir module covers that.
74487         * lib/tempname.h: New file.
74488
74489 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
74490
74491         * COPYING: Explain how gnulib-tool converts licence headers.
74492         Almost all wording by Eric Blake.
74493
74494 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
74495
74496         * lib/mbchar.h (is_basic_table): Make read-only.
74497         * lib/mbchar.c (is_basic_table): Likewise.
74498         Reported by John Darrington.
74499
74500 2006-10-25  Bruno Haible  <bruno@clisp.org>
74501
74502         * lib/progname.h (set_program_name): Undefine before defining.
74503
74504 2006-10-25  Bruno Haible  <bruno@clisp.org>
74505
74506         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
74507         false for non-gcc C++ compilers.
74508         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74509
74510 2006-10-24  Bruno Haible  <bruno@clisp.org>
74511
74512         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
74513         iconv implementations like Irix iconv.
74514
74515 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74516
74517         * modules/vararrays: New file.
74518         * m4/vararrays.m4: New file, taken from diffutils.
74519         * MODULES.html.sh: New module vararrays.
74520
74521 2006-10-24  Karl Berry  <karl@gnu.org>
74522
74523         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
74524         Don't call GNU Unix.
74525
74526 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74527
74528         * users.txt: Add Libtool.
74529
74530         Sync from Libtool:
74531
74532         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74533
74534         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
74535         to gnulib's policy of including config.h unconditionally.
74536
74537 2006-10-24  Bruno Haible  <bruno@clisp.org>
74538
74539         * modules/wcwidth (Files): Add m4/wint_t.m4.
74540         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
74541         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
74542
74543 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74544
74545         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
74546         to pacify GCC with some -W flags enabled.  Problem reported by
74547         Bruno Haible.
74548
74549 2006-10-24  Jim Meyering  <jim@meyering.net>
74550
74551         * MODULES.html.sh: Remove uinttostr.  It's not a module.
74552         Reported by Karl Berry.
74553
74554 2006-10-23  Bruno Haible  <bruno@clisp.org>
74555
74556         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
74557
74558 2006-10-24  Bruno Haible  <bruno@clisp.org>
74559
74560         * lib/gl_list.h: Use C comment style, not C++ comment style.
74561
74562 2006-10-23  Eric Blake  <ebb9@byu.net>
74563
74564         * lib/getaddrinfo.c (includes): Add missing include.
74565
74566 2006-10-23  Bruno Haible  <bruno@clisp.org>
74567             Paul Eggert  <eggert@cs.ucla.edu>
74568
74569         Ability to rename obstack_free.
74570         * lib/obstack.h (__obstack_free): New macro. Declare instead of
74571         obstack_free.
74572         (obstack_free): Invoke the __obstack_free macro.
74573         * lib/obstack.c (obstack_free): Use __obstack_free macro.
74574
74575 2006-10-23  Bruno Haible  <bruno@clisp.org>
74576             Paul Eggert  <eggert@cs.ucla.edu>
74577
74578         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
74579         __argc, __argv from the declaration. (They are defined as macros on
74580         mingw.)
74581
74582 2006-10-22  Bruno Haible  <bruno@clisp.org>
74583
74584         * doc/gnulib-intro.texi: New file.
74585         * doc/gnulib.texi: Include it.
74586
74587 2006-10-21  Bruno Haible  <bruno@clisp.org>
74588
74589         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
74590         "Introduction", "Miscellanous Notes", "Particular Modules".
74591
74592 2006-10-21  Bruno Haible  <bruno@clisp.org>
74593
74594         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74595         Change mostlyclean-local rule to avoid sh syntax error from bash
74596         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
74597
74598 2006-10-23  Jim Meyering  <jim@meyering.net>
74599
74600         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
74601         in place of snprintf.
74602
74603         * modules/inttostr (Files): Add lib/uinttostr.c.
74604         * lib/uinttostr.c (inttostr): New file/function.
74605         * lib/inttostr.h (uinttostr): Declare.
74606         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
74607         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74608         Add uinttostr.
74609         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
74610
74611 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74612
74613         * lib/canonicalize.c (ELOOP): Define if not already defined.
74614         Problem reported by Bruno Haible in
74615         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
74616
74617 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74618
74619         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
74620         Problem reported by Perry Smith and Ville Laurikari.
74621
74622         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
74623         uses.
74624
74625 2006-10-19  Bruno Haible  <bruno@clisp.org>
74626
74627         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
74628         for mingw.
74629
74630 2006-10-19  Bruno Haible  <bruno@clisp.org>
74631
74632         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
74633         Needed for mingw.
74634
74635 2006-10-19  Bruno Haible  <bruno@clisp.org>
74636
74637         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
74638
74639 2006-10-19  Bruno Haible  <bruno@clisp.org>
74640
74641         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
74642         it.
74643
74644 2006-10-19  Bruno Haible  <bruno@clisp.org>
74645
74646         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
74647         invocation.
74648
74649 2006-10-19  Bruno Haible  <bruno@clisp.org>
74650
74651         * gnulib-tool (func_create_testdir): Don't include ftruncate and
74652         mountlist by default.
74653
74654 2006-10-16  Bruno Haible  <bruno@clisp.org>
74655
74656         * lib/c-strstr.c: Include c-strstr.h.
74657
74658 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74659
74660         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
74661         in a slash.
74662
74663 2006-10-18  Bruno Haible  <bruno@clisp.org>
74664
74665         * lib/lock.h [C++]: Wrap definitions in extern "C".
74666
74667 2006-10-18  Bruno Haible  <bruno@clisp.org>
74668
74669         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
74670         gl_LIBOBJS list.
74671
74672 2006-10-18  Bruno Haible  <bruno@clisp.org>
74673
74674         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
74675
74676 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
74677
74678         * lib/xstrtol.h: Include gettext.h.
74679         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
74680         Problem reported by Eric Blake.
74681         * modules/xstrtol (Depends-on): Add gettext-h.
74682
74683 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
74684
74685         * lib/strftime.c (advance): New macro.
74686         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
74687         incomplete type, so you can't add 0 to it.  Problem and patch
74688         reported by Eelco Dolstra for dietlibc.
74689
74690 2006-10-18  Jim Meyering  <jim@meyering.net>
74691
74692         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
74693         type for a local, and rename it: s/up/user_proc/.
74694
74695 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
74696
74697         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
74698         READ_UTMP_USER_PROCESS.
74699         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
74700
74701 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74702
74703         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
74704         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
74705
74706 2006-10-17  Eric Blake  <ebb9@byu.net>
74707
74708         * lib/sigprocmask.c (sigprocmask): Fix typo.
74709
74710         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
74711
74712         * modules/clean-temp (Makefile.am): Don't add to make output...
74713         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
74714         config.h.
74715
74716 2006-10-17  Bruno Haible  <bruno@clisp.org>
74717
74718         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
74719         differently if DEFAULT_TEXT_DOMAIN is set.
74720
74721 2006-10-16  Bruno Haible  <bruno@clisp.org>
74722
74723         * lib/clean-temp.c: Include fwriteerror.h.
74724
74725 2006-10-16  Bruno Haible  <bruno@clisp.org>
74726
74727         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
74728
74729 2006-10-16  Bruno Haible  <bruno@clisp.org>
74730
74731         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
74732         * lib/sigprocmask.h: Include <sys/types.h>.
74733         (sigset_t): Use the system's definition if present.
74734
74735 2006-10-17  Eric Blake  <ebb9@byu.net>
74736
74737         * lib/xvasprintf.c (includes): Assume config.h.
74738         * lib/xasprintf.c (includes): Likewise.
74739
74740 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74741
74742         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
74743         at least as wide as intmax_t.
74744
74745 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
74746
74747         (Imported from Automake.)
74748         * build-aux/gnupload: Update to version 1.1 of directive file.
74749
74750 2006-10-16  Eric Blake  <ebb9@byu.net>
74751
74752         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
74753         match Automake 1.10a.
74754
74755 2006-10-14  Bruno Haible  <bruno@clisp.org>
74756
74757         * modules/sigprocmask: New file.
74758         * lib/sigprocmask.h: New file.
74759         * lib/sigprocmask.c: New file.
74760         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
74761         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
74762         request sigprocmask.o.
74763         (gl_PREREQ_SIGPROCMASK): New macro.
74764         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
74765         (Depends-on): Add sigprocmask.
74766         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
74767         gt_SIGNALBLOCKING. Test for 'raise' only once.
74768         * lib/fatal-signal.c: Include sigprocmask.h.
74769         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
74770         unblock_fatal_signals): Define always.
74771         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74772         sigprocmask.
74773
74774 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74775
74776         Sync from Automake.
74777         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
74778         which incorrectly sets the mode of an existing destination
74779         directory.  In some cases the unpatched install-sh could do the
74780         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
74781         system.  We hope this is rare in practice, but it's clearly worth
74782         fixing.  Problem reported by Alex Unleashed in
74783         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
74784         Also, don't bother to check for -m bugs unless we're using -m;
74785         suggested by Stepan Kasal.
74786
74787 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74788
74789         Sync from Automake.
74790         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
74791         `-c' flag, so they appear at the same position as in %FASTDEP%
74792         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
74793         which ignores unknown options only after the first non-option.
74794         Bug report against M4 by Nelson H. F. Beebe.
74795
74796 2006-10-13  Jim Meyering  <jim@meyering.net>
74797
74798         Fix a bug in yesterday's change.
74799         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
74800         p->fts_statp->st_dev would be used uninitialized.
74801         Ensures that we always call fts_stat on the very first entry.
74802         Miklos Szeredi reported that find -xdev stopped working.
74803
74804 2006-10-12  Bruno Haible  <bruno@clisp.org>
74805
74806         * gnulib-tool (func_get_automake_snippet): Append an automatically
74807         computed EXTRA_DIST augmentation.
74808         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
74809         * modules/alloca-opt (Makefile.am): Likewise.
74810         * modules/allocsa (Makefile.am): Likewise.
74811         * modules/arcfour (Makefile.am): Likewise.
74812         * modules/arctwo (Makefile.am): Likewise.
74813         * modules/argmatch (Makefile.am): Likewise.
74814         * modules/argz (Makefile.am): Likewise.
74815         * modules/atexit (Makefile.am): Likewise.
74816         * modules/backupfile (Makefile.am): Likewise.
74817         * modules/byteswap (Makefile.am): Likewise.
74818         * modules/c-strtod (Makefile.am): Likewise.
74819         * modules/c-strtold (Makefile.am): Likewise.
74820         * modules/calloc (Makefile.am): Likewise.
74821         * modules/canon-host (Makefile.am): Likewise.
74822         * modules/canonicalize (Makefile.am): Likewise.
74823         * modules/chdir-long (Makefile.am): Likewise.
74824         * modules/chdir-safer (Makefile.am): Likewise.
74825         * modules/check-version (Makefile.am): Likewise.
74826         * modules/chown (Makefile.am): Likewise.
74827         * modules/cloexec (Makefile.am): Likewise.
74828         * modules/close-stream (Makefile.am): Likewise.
74829         * modules/closeout (Makefile.am): Likewise.
74830         * modules/crc (Makefile.am): Likewise.
74831         * modules/csharpexec (Makefile.am): Likewise.
74832         * modules/cycle-check (Makefile.am): Likewise.
74833         * modules/des (Makefile.am): Likewise.
74834         * modules/dev-ino (Makefile.am): Likewise.
74835         * modules/dirfd (Makefile.am): Likewise.
74836         * modules/dirname (Makefile.am): Likewise.
74837         * modules/dup2 (Makefile.am): Likewise.
74838         * modules/eealloc (Makefile.am): Likewise.
74839         * modules/error (Makefile.am): Likewise.
74840         * modules/euidaccess (Makefile.am): Likewise.
74841         * modules/exclude (Makefile.am): Likewise.
74842         * modules/exitfail (Makefile.am): Likewise.
74843         * modules/fcntl-safer (Makefile.am): Likewise.
74844         * modules/fcntl (Makefile.am): Likewise.
74845         * modules/file-type (Makefile.am): Likewise.
74846         * modules/fileblocks (Makefile.am): Likewise.
74847         * modules/filemode (Makefile.am): Likewise.
74848         * modules/filenamecat (Makefile.am): Likewise.
74849         * modules/fnmatch (Makefile.am): Likewise.
74850         * modules/fopen-safer (Makefile.am): Likewise.
74851         * modules/fpending (Makefile.am): Likewise.
74852         * modules/fprintftime (Makefile.am): Likewise.
74853         * modules/free (Makefile.am): Likewise.
74854         * modules/fsusage (Makefile.am): Likewise.
74855         * modules/ftruncate (Makefile.am): Likewise.
74856         * modules/fts (Makefile.am): Likewise.
74857         * modules/gc-arcfour (Makefile.am): Likewise.
74858         * modules/gc-des (Makefile.am): Likewise.
74859         * modules/gc-hmac-md5 (Makefile.am): Likewise.
74860         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
74861         * modules/gc-md4 (Makefile.am): Likewise.
74862         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74863         * modules/gc-sha1 (Makefile.am): Likewise.
74864         * modules/gc (Makefile.am): Likewise.
74865         * modules/getaddrinfo (Makefile.am): Likewise.
74866         * modules/getcwd (Makefile.am): Likewise.
74867         * modules/getdelim (Makefile.am): Likewise.
74868         * modules/getdomainname (Makefile.am): Likewise.
74869         * modules/getgroups (Makefile.am): Likewise.
74870         * modules/gethostname (Makefile.am): Likewise.
74871         * modules/gethrxtime (Makefile.am): Likewise.
74872         * modules/getline (Makefile.am): Likewise.
74873         * modules/getloadavg (Makefile.am): Likewise.
74874         * modules/getlogin_r (Makefile.am): Likewise.
74875         * modules/getndelim2 (Makefile.am): Likewise.
74876         * modules/getopt (Makefile.am): Likewise.
74877         * modules/getpagesize (Makefile.am): Likewise.
74878         * modules/getpass-gnu (Makefile.am): Likewise.
74879         * modules/getpass (Makefile.am): Likewise.
74880         * modules/getsubopt (Makefile.am): Likewise.
74881         * modules/gettime (Makefile.am): Likewise.
74882         * modules/gettimeofday (Makefile.am): Likewise.
74883         * modules/getugroups (Makefile.am): Likewise.
74884         * modules/getusershell (Makefile.am): Likewise.
74885         * modules/glob (Makefile.am): Likewise.
74886         * modules/group-member (Makefile.am): Likewise.
74887         * modules/hard-locale (Makefile.am): Likewise.
74888         * modules/hash (Makefile.am): Likewise.
74889         * modules/hmac-md5 (Makefile.am): Likewise.
74890         * modules/hmac-sha1 (Makefile.am): Likewise.
74891         * modules/human (Makefile.am): Likewise.
74892         * modules/idcache (Makefile.am): Likewise.
74893         * modules/imaxabs (Makefile.am): Likewise.
74894         * modules/imaxdiv (Makefile.am): Likewise.
74895         * modules/inet_ntop (Makefile.am): Likewise.
74896         * modules/inet_pton (Makefile.am): Likewise.
74897         * modules/intprops (Makefile.am): Likewise.
74898         * modules/inttostr (Makefile.am): Likewise.
74899         * modules/inttypes (Makefile.am): Likewise.
74900         * modules/isapipe (Makefile.am): Likewise.
74901         * modules/javaversion (Makefile.am): Likewise.
74902         * modules/lchmod (Makefile.am): Likewise.
74903         * modules/lchown (Makefile.am): Likewise.
74904         * modules/localcharset (Makefile.am): Likewise.
74905         * modules/long-options (Makefile.am): Likewise.
74906         * modules/lstat (Makefile.am): Likewise.
74907         * modules/malloc (Makefile.am): Likewise.
74908         * modules/mathl (Makefile.am): Likewise.
74909         * modules/mbchar (Makefile.am): Likewise.
74910         * modules/md2 (Makefile.am): Likewise.
74911         * modules/md4 (Makefile.am): Likewise.
74912         * modules/md5 (Makefile.am): Likewise.
74913         * modules/memcasecmp (Makefile.am): Likewise.
74914         * modules/memchr (Makefile.am): Likewise.
74915         * modules/memcmp (Makefile.am): Likewise.
74916         * modules/memcoll (Makefile.am): Likewise.
74917         * modules/memcpy (Makefile.am): Likewise.
74918         * modules/memmem (Makefile.am): Likewise.
74919         * modules/memmove (Makefile.am): Likewise.
74920         * modules/mempcpy (Makefile.am): Likewise.
74921         * modules/memrchr (Makefile.am): Likewise.
74922         * modules/memset (Makefile.am): Likewise.
74923         * modules/memxor (Makefile.am): Likewise.
74924         * modules/mkancesdirs (Makefile.am): Likewise.
74925         * modules/mkdir-p (Makefile.am): Likewise.
74926         * modules/mkdir (Makefile.am): Likewise.
74927         * modules/mkdtemp (Makefile.am): Likewise.
74928         * modules/mkstemp (Makefile.am): Likewise.
74929         * modules/mktime (Makefile.am): Likewise.
74930         * modules/modechange (Makefile.am): Likewise.
74931         * modules/mountlist (Makefile.am): Likewise.
74932         * modules/nanosleep (Makefile.am): Likewise.
74933         * modules/obstack (Makefile.am): Likewise.
74934         * modules/openat (Makefile.am): Likewise.
74935         * modules/pagealign_alloc (Makefile.am): Likewise.
74936         * modules/pathmax (Makefile.am): Likewise.
74937         * modules/physmem (Makefile.am): Likewise.
74938         * modules/poll (Makefile.am): Likewise.
74939         * modules/posixtm (Makefile.am): Likewise.
74940         * modules/posixver (Makefile.am): Likewise.
74941         * modules/putenv (Makefile.am): Likewise.
74942         * modules/quote (Makefile.am): Likewise.
74943         * modules/quotearg (Makefile.am): Likewise.
74944         * modules/raise (Makefile.am): Likewise.
74945         * modules/read-file (Makefile.am): Likewise.
74946         * modules/readline (Makefile.am): Likewise.
74947         * modules/readlink (Makefile.am): Likewise.
74948         * modules/readtokens (Makefile.am): Likewise.
74949         * modules/readutmp (Makefile.am): Likewise.
74950         * modules/realloc (Makefile.am): Likewise.
74951         * modules/regex (Makefile.am): Likewise.
74952         * modules/rename-dest-slash (Makefile.am): Likewise.
74953         * modules/rename (Makefile.am): Likewise.
74954         * modules/rijndael (Makefile.am): Likewise.
74955         * modules/rmdir (Makefile.am): Likewise.
74956         * modules/rpmatch (Makefile.am): Likewise.
74957         * modules/safe-read (Makefile.am): Likewise.
74958         * modules/safe-write (Makefile.am): Likewise.
74959         * modules/same-inode (Makefile.am): Likewise.
74960         * modules/same (Makefile.am): Likewise.
74961         * modules/save-cwd (Makefile.am): Likewise.
74962         * modules/savedir (Makefile.am): Likewise.
74963         * modules/setenv (Makefile.am): Likewise.
74964         * modules/settime (Makefile.am): Likewise.
74965         * modules/sha1 (Makefile.am): Likewise.
74966         * modules/sig2str (Makefile.am): Likewise.
74967         * modules/snprintf (Makefile.am): Likewise.
74968         * modules/stat-macros (Makefile.am): Likewise.
74969         * modules/stat-time (Makefile.am): Likewise.
74970         * modules/stdbool (Makefile.am): Likewise.
74971         * modules/stdint (Makefile.am): Likewise.
74972         * modules/stdlib-safer (Makefile.am): Likewise.
74973         * modules/stpcpy (Makefile.am): Likewise.
74974         * modules/stpncpy (Makefile.am): Likewise.
74975         * modules/strcase (Makefile.am): Likewise.
74976         * modules/strcasestr (Makefile.am): Likewise.
74977         * modules/strchrnul (Makefile.am): Likewise.
74978         * modules/strcspn (Makefile.am): Likewise.
74979         * modules/strdup (Makefile.am): Likewise.
74980         * modules/strerror (Makefile.am): Likewise.
74981         * modules/strftime (Makefile.am): Likewise.
74982         * modules/strndup (Makefile.am): Likewise.
74983         * modules/strnlen (Makefile.am): Likewise.
74984         * modules/strpbrk (Makefile.am): Likewise.
74985         * modules/strsep (Makefile.am): Likewise.
74986         * modules/strstr (Makefile.am): Likewise.
74987         * modules/strtod (Makefile.am): Likewise.
74988         * modules/strtoimax (Makefile.am): Likewise.
74989         * modules/strtok_r (Makefile.am): Likewise.
74990         * modules/strtol (Makefile.am): Likewise.
74991         * modules/strtoll (Makefile.am): Likewise.
74992         * modules/strtoul (Makefile.am): Likewise.
74993         * modules/strtoull (Makefile.am): Likewise.
74994         * modules/strtoumax (Makefile.am): Likewise.
74995         * modules/strverscmp (Makefile.am): Likewise.
74996         * modules/sys_socket (Makefile.am): Likewise.
74997         * modules/sys_stat (Makefile.am): Likewise.
74998         * modules/sysexits (Makefile.am): Likewise.
74999         * modules/time_r (Makefile.am): Likewise.
75000         * modules/timegm (Makefile.am): Likewise.
75001         * modules/timespec (Makefile.am): Likewise.
75002         * modules/tmpfile-safer (Makefile.am): Likewise.
75003         * modules/trim (Makefile.am): Likewise.
75004         * modules/unistd-safer (Makefile.am): Likewise.
75005         * modules/unlinkdir (Makefile.am): Likewise.
75006         * modules/unlocked-io (Makefile.am): Likewise.
75007         * modules/userspec (Makefile.am): Likewise.
75008         * modules/utime (Makefile.am): Likewise.
75009         * modules/utimecmp (Makefile.am): Likewise.
75010         * modules/utimens (Makefile.am): Likewise.
75011         * modules/vasnprintf (Makefile.am): Likewise.
75012         * modules/vasprintf (Makefile.am): Likewise.
75013         * modules/vsnprintf (Makefile.am): Likewise.
75014         * modules/xalloc (Makefile.am): Likewise.
75015         * modules/xgetcwd (Makefile.am): Likewise.
75016         * modules/xnanosleep (Makefile.am): Likewise.
75017         * modules/xreadlink (Makefile.am): Likewise.
75018         * modules/xstrtod (Makefile.am): Likewise.
75019         * modules/xstrtol (Makefile.am): Likewise.
75020         * modules/xstrtold (Makefile.am): Likewise.
75021         * modules/yesno (Makefile.am): Likewise.
75022         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
75023
75024 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75025
75026         * modules/error (Makefile.am): Distribute files through
75027         EXTRA_DIST, not lib_SOURCES.
75028
75029 2006-10-12  Eric Blake  <ebb9@byu.net>
75030
75031         * modules/error (Makefile.am): Distribute files in /lib.
75032         * modules/obstack (Makefile.am): Likewise.
75033
75034 2006-10-12  Bruno Haible  <bruno@clisp.org>
75035
75036         * modules/acl (Makefile.am): Distribute all files in lib/ through
75037         EXTRA_DIST.
75038         * modules/arcfour (Makefile.am): Likewise.
75039         * modules/arctwo (Makefile.am): Likewise.
75040         * modules/argmatch (Makefile.am): Likewise.
75041         * modules/argz (Makefile.am): Likewise.
75042         * modules/atexit (Makefile.am): Likewise.
75043         * modules/backupfile (Makefile.am): Likewise.
75044         * modules/c-strtod (Makefile.am): Likewise.
75045         * modules/c-strtold (Makefile.am): Likewise.
75046         * modules/calloc (Makefile.am): Likewise.
75047         * modules/canon-host (Makefile.am): Likewise.
75048         * modules/canonicalize (Makefile.am): Likewise.
75049         * modules/chdir-long (Makefile.am): Likewise.
75050         * modules/chdir-safer (Makefile.am): Likewise.
75051         * modules/check-version (Makefile.am): Likewise.
75052         * modules/chown (Makefile.am): Likewise.
75053         * modules/cloexec (Makefile.am): Likewise.
75054         * modules/close-stream (Makefile.am): Likewise.
75055         * modules/closeout (Makefile.am): Likewise.
75056         * modules/crc (Makefile.am): Likewise.
75057         * modules/cycle-check (Makefile.am): Likewise.
75058         * modules/des (Makefile.am): Likewise.
75059         * modules/dirfd (Makefile.am): Likewise.
75060         * modules/dirname (Makefile.am): Likewise.
75061         * modules/dup2 (Makefile.am): Likewise.
75062         * modules/euidaccess (Makefile.am): Likewise.
75063         * modules/exclude (Makefile.am): Likewise.
75064         * modules/exitfail (Makefile.am): Likewise.
75065         * modules/fcntl-safer (Makefile.am): Likewise.
75066         * modules/file-type (Makefile.am): Likewise.
75067         * modules/fileblocks (Makefile.am): Likewise.
75068         * modules/filemode (Makefile.am): Likewise.
75069         * modules/filenamecat (Makefile.am): Likewise.
75070         * modules/fnmatch (Makefile.am): Likewise.
75071         * modules/fopen-safer (Makefile.am): Likewise.
75072         * modules/fpending (Makefile.am): Likewise.
75073         * modules/fprintftime (Makefile.am): Likewise.
75074         * modules/free (Makefile.am): Likewise.
75075         * modules/fsusage (Makefile.am): Likewise.
75076         * modules/ftruncate (Makefile.am): Likewise.
75077         * modules/fts (Makefile.am): Likewise.
75078         * modules/gc (Makefile.am): Likewise.
75079         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
75080         * modules/getaddrinfo (Makefile.am): Likewise.
75081         * modules/getcwd (Makefile.am): Likewise.
75082         * modules/getdelim (Makefile.am): Likewise.
75083         * modules/getdomainname (Makefile.am): Likewise.
75084         * modules/getgroups (Makefile.am): Likewise.
75085         * modules/gethostname (Makefile.am): Likewise.
75086         * modules/gethrxtime (Makefile.am): Likewise.
75087         * modules/getline (Makefile.am): Likewise.
75088         * modules/getloadavg (Makefile.am): Likewise.
75089         * modules/getlogin_r (Makefile.am): Likewise.
75090         * modules/getopt (Makefile.am): Likewise.
75091         * modules/getpass (Makefile.am): Likewise.
75092         * modules/getpass-gnu (Makefile.am): Likewise.
75093         * modules/getsubopt (Makefile.am): Likewise.
75094         * modules/gettime (Makefile.am): Likewise.
75095         * modules/gettimeofday (Makefile.am): Likewise.
75096         * modules/getugroups (Makefile.am): Likewise.
75097         * modules/getusershell (Makefile.am): Likewise.
75098         * modules/glob (Makefile.am): Likewise.
75099         * modules/group-member (Makefile.am): Likewise.
75100         * modules/hard-locale (Makefile.am): Likewise.
75101         * modules/hash (Makefile.am): Likewise.
75102         * modules/hmac-md5 (Makefile.am): Likewise.
75103         * modules/hmac-sha1 (Makefile.am): Likewise.
75104         * modules/human (Makefile.am): Likewise.
75105         * modules/idcache (Makefile.am): Likewise.
75106         * modules/imaxabs (Makefile.am): Likewise.
75107         * modules/imaxdiv (Makefile.am): Likewise.
75108         * modules/inet_ntop (Makefile.am): Likewise.
75109         * modules/inet_pton (Makefile.am): Likewise.
75110         * modules/inttostr (Makefile.am): Likewise.
75111         * modules/isapipe (Makefile.am): Likewise.
75112         * modules/lchown (Makefile.am): Likewise.
75113         * modules/long-options (Makefile.am): Likewise.
75114         * modules/lstat (Makefile.am): Likewise.
75115         * modules/malloc (Makefile.am): Likewise.
75116         * modules/mathl (Makefile.am): Likewise.
75117         * modules/mbchar (Makefile.am): Likewise.
75118         * modules/md2 (Makefile.am): Likewise.
75119         * modules/md4 (Makefile.am): Likewise.
75120         * modules/md5 (Makefile.am): Likewise.
75121         * modules/memcasecmp (Makefile.am): Likewise.
75122         * modules/memchr (Makefile.am): Likewise.
75123         * modules/memcmp (Makefile.am): Likewise.
75124         * modules/memcoll (Makefile.am): Likewise.
75125         * modules/memcpy (Makefile.am): Likewise.
75126         * modules/memmem (Makefile.am): Likewise.
75127         * modules/memmove (Makefile.am): Likewise.
75128         * modules/mempcpy (Makefile.am): Likewise.
75129         * modules/memrchr (Makefile.am): Likewise.
75130         * modules/memset (Makefile.am): Likewise.
75131         * modules/memxor (Makefile.am): Likewise.
75132         * modules/mkancesdirs (Makefile.am): Likewise.
75133         * modules/mkdir (Makefile.am): Likewise.
75134         * modules/mkdir-p (Makefile.am): Likewise.
75135         * modules/mkdtemp (Makefile.am): Likewise.
75136         * modules/mkstemp (Makefile.am): Likewise.
75137         * modules/mktime (Makefile.am): Likewise.
75138         * modules/modechange (Makefile.am): Likewise.
75139         * modules/mountlist (Makefile.am): Likewise.
75140         * modules/nanosleep (Makefile.am): Likewise.
75141         * modules/openat (Makefile.am): Likewise.
75142         * modules/pagealign_alloc (Makefile.am): Likewise.
75143         * modules/physmem (Makefile.am): Likewise.
75144         * modules/poll (Makefile.am): Likewise.
75145         * modules/posixtm (Makefile.am): Likewise.
75146         * modules/posixver (Makefile.am): Likewise.
75147         * modules/putenv (Makefile.am): Likewise.
75148         * modules/quote (Makefile.am): Likewise.
75149         * modules/quotearg (Makefile.am): Likewise.
75150         * modules/raise (Makefile.am): Likewise.
75151         * modules/read-file (Makefile.am): Likewise.
75152         * modules/readline (Makefile.am): Likewise.
75153         * modules/readlink (Makefile.am): Likewise.
75154         * modules/readtokens (Makefile.am): Likewise.
75155         * modules/readutmp (Makefile.am): Likewise.
75156         * modules/realloc (Makefile.am): Likewise.
75157         * modules/regex (Makefile.am): Likewise.
75158         * modules/rename (Makefile.am): Likewise.
75159         * modules/rename-dest-slash (Makefile.am): Likewise.
75160         * modules/rijndael (Makefile.am): Likewise.
75161         * modules/rmdir (Makefile.am): Likewise.
75162         * modules/rpmatch (Makefile.am): Likewise.
75163         * modules/safe-read (Makefile.am): Likewise.
75164         * modules/safe-write (Makefile.am): Likewise.
75165         * modules/same (Makefile.am): Likewise.
75166         * modules/save-cwd (Makefile.am): Likewise.
75167         * modules/savedir (Makefile.am): Likewise.
75168         * modules/setenv (Makefile.am): Likewise.
75169         * modules/settime (Makefile.am): Likewise.
75170         * modules/sha1 (Makefile.am): Likewise.
75171         * modules/sig2str (Makefile.am): Likewise.
75172         * modules/snprintf (Makefile.am): Likewise.
75173         * modules/stdlib-safer (Makefile.am): Likewise.
75174         * modules/stpcpy (Makefile.am): Likewise.
75175         * modules/stpncpy (Makefile.am): Likewise.
75176         * modules/strcase (Makefile.am): Likewise.
75177         * modules/strcasestr (Makefile.am): Likewise.
75178         * modules/strchrnul (Makefile.am): Likewise.
75179         * modules/strcspn (Makefile.am): Likewise.
75180         * modules/strdup (Makefile.am): Likewise.
75181         * modules/strerror (Makefile.am): Likewise.
75182         * modules/strftime (Makefile.am): Likewise.
75183         * modules/strndup (Makefile.am): Likewise.
75184         * modules/strnlen (Makefile.am): Likewise.
75185         * modules/strpbrk (Makefile.am): Likewise.
75186         * modules/strsep (Makefile.am): Likewise.
75187         * modules/strstr (Makefile.am): Likewise.
75188         * modules/strtod (Makefile.am): Likewise.
75189         * modules/strtoimax (Makefile.am): Likewise.
75190         * modules/strtok_r (Makefile.am): Likewise.
75191         * modules/strtol (Makefile.am): Likewise.
75192         * modules/strtoll (Makefile.am): Likewise.
75193         * modules/strtoul (Makefile.am): Likewise.
75194         * modules/strtoull (Makefile.am): Likewise.
75195         * modules/strtoumax (Makefile.am): Likewise.
75196         * modules/strverscmp (Makefile.am): Likewise.
75197         * modules/time_r (Makefile.am): Likewise.
75198         * modules/timegm (Makefile.am): Likewise.
75199         * modules/tmpfile-safer (Makefile.am): Likewise.
75200         * modules/unistd-safer (Makefile.am): Likewise.
75201         * modules/unlinkdir (Makefile.am): Likewise.
75202         * modules/userspec (Makefile.am): Likewise.
75203         * modules/utime (Makefile.am): Likewise.
75204         * modules/utimecmp (Makefile.am): Likewise.
75205         * modules/utimens (Makefile.am): Likewise.
75206         * modules/vasnprintf (Makefile.am): Likewise.
75207         * modules/vasprintf (Makefile.am): Likewise.
75208         * modules/vsnprintf (Makefile.am): Likewise.
75209         * modules/xalloc (Makefile.am): Likewise.
75210         * modules/xgetcwd (Makefile.am): Likewise.
75211         * modules/xnanosleep (Makefile.am): Likewise.
75212         * modules/xreadlink (Makefile.am): Likewise.
75213         * modules/xstrtod (Makefile.am): Likewise.
75214         * modules/xstrtol (Makefile.am): Likewise.
75215         * modules/xstrtold (Makefile.am): Likewise.
75216         * modules/yesno (Makefile.am): Likewise.
75217
75218 2006-10-12  Jim Meyering  <jim@meyering.net>
75219
75220         * m4/getloadavg.m4: Revert the change below.
75221
75222         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
75223         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
75224         fail with a symlink, which is what coreutils' ./bootstrap now
75225         creates by default.
75226
75227 2006-10-12  Bruno Haible  <bruno@clisp.org>
75228
75229         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
75230         mingw.
75231         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
75232         MSVC and mingw explicitly.
75233
75234 2006-10-11  Simon Josefsson  <jas@extundo.com>
75235             Bruno Haible  <bruno@clisp.org>
75236
75237         Add support for multiple gnulib-tool invocations in the scope of a
75238         single configure.ac file.
75239         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
75240         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
75241         with the same contents as the _LIBADD variable.
75242         (func_emit_initmacro_start, func_emit_initmacro_end,
75243         func_emit_initmacro_done): New functions.
75244         (func_import, func_create_testdir): Invoke them. Allow the identifiers
75245         gl_LIBOBJS and gl_LTLIBOBJS.
75246
75247 2006-10-11  Bruno Haible  <bruno@clisp.org>
75248
75249         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
75250         (func_create_testdir): Don't create po/Makefile.am, don't invoke
75251         autoreconf. Instead, invoke autopoint explicitly but move back the
75252         *.m4 files from gnulib.
75253
75254 2006-10-11  Bruno Haible  <bruno@clisp.org>
75255
75256         * gnulib-tool (func_usage): Make module names after --create-testdir
75257         optional.
75258         (func_create_testdir): If no module was specified, use nearly all
75259         modules.
75260
75261 2006-10-12  Jim Meyering  <jim@meyering.net>
75262
75263         Big performance improvement for fts-based tools that use FTS_NOSTAT.
75264         Avoid spurious inode-mismatch problems on non-POSIX file systems.
75265         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
75266         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
75267         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
75268         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
75269         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
75270         (fts_set_stat_required): New function.
75271         (fts_open): Defer the calls to fts_stat, if possible or requested.
75272         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
75273         into fts_stat itself.
75274         (fts_read): Perform any required (deferred) fts_stat call.
75275         (fts_build): Likewise, for the directory we're about to open and read.
75276         In the readdir loop, carefully decide whether each entry will require
75277         an eventual call to fts_stat, using dirent.d_type info if available.
75278         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
75279         a command line argument into this function.  Update all callers.
75280         Map a return value of FTS_DOT to FTS_D for a command line argument.
75281         * modules/fts (Depends-on): Add d-type.  Alphabetize.
75282         Thanks to Miklos Szeredi for his tenacity and for the initial
75283         bug report about "find" failing on a FUSE-based file system.
75284
75285         * lib/fts.c (fts_open): Use consistent indentation.
75286
75287 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75288
75289         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
75290         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
75291         reported by Jim Meyering.  All uses of cache variables renamed
75292         to match Autoconf's.
75293         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
75294         the other one.
75295
75296         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
75297         Fix misspelling in diagnostic.
75298
75299 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
75300
75301         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
75302         defined.  Problem reported by Matthew Woehlke.
75303
75304         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
75305         Add support for Tandem NonStop R series.
75306         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
75307         Use new macro.
75308
75309         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
75310         (has_trailing_slash): Omit size arg; all callers changed.
75311         Omit 'inline', since it doesn't help performance and we'd
75312         need to configure it.
75313         Don't count //, ///, etc. as having a trailing slash.
75314         As a side effect, this removes a C99ism reported by Matthew Woehlke.
75315         (rpl_rename_dest_slash): On failure, use rename's errno rather
75316         than (in some cases) an incorrect or junk errno.
75317         Simplify code by removing need to compute length; this does
75318         cause it to make two passes instead of one over the file name,
75319         but it's worth it.
75320
75321         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
75322         change, since Autoconf's version may no longer be appropriate now
75323         that we are using CVS Autoconf's version.  Add support for Tandem.
75324
75325 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
75326             Bruno Haible  <bruno@clisp.org>
75327
75328         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
75329         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
75330         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
75331         gl_AC_TYPE_LONG_LONG.
75332
75333         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
75334         instead of HAVE_LONG_LONG.
75335         * lib/printf-args.c (printf_fetchargs): Likewise.
75336         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
75337         * lib/vasnprintf.c (VASNPRINTF): Likewise.
75338         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
75339         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
75340         gl_AC_TYPE_LONG_LONG.
75341
75342 2006-10-11  Bruno Haible  <bruno@clisp.org>
75343
75344         * m4/longlong.m4: Add comments.
75345         * m4/ulonglong.m4: Likewise.
75346
75347 2006-10-10  Bruno Haible  <bruno@clisp.org>
75348
75349         Make it possible to #define stpcpy, strdup to aliases.
75350         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
75351         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
75352
75353 2006-10-10  Bruno Haible  <bruno@clisp.org>
75354
75355         Make it possible to #define gcd to an alias.
75356         * lib/gcd.c: Include config.h.
75357
75358 2006-10-10  Bruno Haible  <bruno@clisp.org>
75359
75360         Make it possible to #define c_isascii to an alias.
75361         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
75362         defined. Undefine the macros before defining them, to avoid gcc
75363         warnings.
75364         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
75365         define NO_C_CTYPE_MACROS early.
75366
75367 2006-10-10  Bruno Haible  <bruno@clisp.org>
75368
75369         Make it possible to #define set_program_name to an alias.
75370         * lib/progname.c: Don't undefine set_program_name; instead, undefine
75371         ENABLE_RELOCATABLE early.
75372
75373 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75374
75375         Port to Tandem NSK OSS, which has 64-bit signed int but at most
75376         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
75377         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
75378         More generally, don't assume that 64-bit signed int is available
75379         if unsigned int is, and vice versa.
75380         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
75381         unsigned symbols, not on their signed counterparts.
75382         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
75383         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
75384         (UINT64_C, UINTMAX_C):
75385         Likewise.
75386         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
75387         unsigned counterparts.
75388         (Have_long_long, Unsigned): New macros.
75389         (Int): Renamed from INT.
75390         (strtoimax): Use the new macros.
75391         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
75392         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
75393         * modules/inttypes (inttypes.h): Substitute
75394         HAVE_UNSIGNED_LONG_LONG_INT.
75395         * modules/stdint (stdint.h): Likewise.
75396         (Files): Add m4/ulonglong.m4.
75397
75398 2006-10-10  Bruno Haible  <bruno@clisp.org>
75399
75400         Fix a gcc -Wshadow warning.
75401         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
75402         to 'bucket'.
75403         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
75404         gl_linked_indexof_from_to): Likewise.
75405         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
75406         Likewise.
75407         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
75408         Likewise.
75409         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
75410         Reported by Eric Blake.
75411
75412 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
75413
75414         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
75415         for NetBSD.  Problem reported by Bruno Haible.
75416
75417 2006-10-09  Jim Meyering  <jim@meyering.net>
75418
75419         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
75420         Patch from Bruno Haible.
75421
75422 2006-10-09  Jim Meyering  <jim@meyering.net>
75423
75424         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
75425         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
75426         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
75427
75428 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
75429
75430         Don't include <config.h> twice; this doesn't work in some cases,
75431         e.g., when config.h has "#define intmax_t long long int" and
75432         we include <config.h>, <inttypes.h>, <config.h> in that order.
75433         Problem reported by Matthew Woehlke in:
75434         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
75435         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
75436         * lib/fts-cycle.c: Don't include config.h.
75437         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
75438         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
75439         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
75440         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
75441         inttypes.h.
75442         * lib/xstrtoumax.c: Likewise.
75443         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
75444         __strtol and the like, so that this module is more like its siblings.
75445         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
75446         Remove; no longer needed now that we assume gnulib inttypes.h.
75447
75448 2006-10-08  Bruno Haible  <bruno@clisp.org>
75449
75450         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
75451         option.
75452
75453 2006-10-07  Jim Meyering  <jim@meyering.net>
75454
75455         * modules/inttypes (inttypes.h): Revert what seems to have been
75456         an inadvertent part of today's change: use "|", not "/" in the
75457         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
75458
75459 2006-10-07  Bruno Haible  <bruno@clisp.org>
75460
75461         * modules/sublist: New file.
75462
75463 2006-10-07  Bruno Haible  <bruno@clisp.org>
75464
75465         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
75466         * modules/argz (argz.h): Likewise.
75467         * modules/arpa_inet (arpa/inet.h): Likewise.
75468         * modules/byteswap (byteswap.h): Likewise.
75469         * modules/configmake (configmake.h): Likewise.
75470         * modules/fcntl (fcntl.h): Likewise.
75471         * modules/fnmatch (fnmatch.h): Likewise.
75472         * modules/getopt (getopt.h): Likewise.
75473         * modules/glob (glob.h): Likewise.
75474         * modules/inttypes (inttypes.h): Likewise.
75475         * modules/netinet_in (netinet/in.h): Likewise.
75476         * modules/poll (poll.h): Likewise.
75477         * modules/stdbool (stdbool.h): Likewise.
75478         * modules/stdint (stdint.h): Likewise.
75479         * modules/sys_select (sys/select.h): Likewise.
75480         * modules/sys_socket (sys/socket.h): Likewise.
75481         * modules/sys_stat (sys/stat.h): Likewise.
75482         * modules/sysexits (sysexits.h): Likewise.
75483         * modules/unistd (unistd.h): Likewise.
75484         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75485         Add a "DO NOT EDIT" comment to the generated file.
75486         (func_import): Likewise for gnulib-comp.m4.
75487
75488 2006-10-07  Bruno Haible  <bruno@clisp.org>
75489
75490         * lib/gl_sublist.h: New file.
75491         * lib/gl_sublist.c: New file.
75492
75493 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75494
75495         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
75496         name (relative to the original working directory) and the file
75497         name component (relative to the temporary working directory).  All
75498         callers changed.
75499         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
75500         * lib/mkdir-p.c (make_dir_parents): Likewise.
75501         * lib/mkdir-p.h (make_dir_parents): Likewise.
75502
75503 2006-10-06  Eric Blake  <ebb9@byu.net>
75504
75505         Define several macros for use by the clean-temp module.
75506         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
75507         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
75508         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
75509
75510         * lib/clean-temp.h (close_stream_temp): New declaration.
75511         * lib/clean-temp.c (includes): Pull in headers according to what
75512         other modules are in use.
75513         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
75514
75515 2006-10-06  Bruno Haible  <bruno@clisp.org>
75516
75517         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
75518         instead of fopen, fwriteerror.
75519
75520 2006-10-06  Bruno Haible  <bruno@clisp.org>
75521
75522         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
75523         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
75524         int.
75525         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
75526         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
75527         Return an error indicator.
75528         Suggested by Eric Blake.
75529
75530 2006-10-06  Bruno Haible  <bruno@clisp.org>
75531
75532         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
75533         Reported by Eric Blake.
75534
75535 2006-10-06  Bruno Haible  <bruno@clisp.org>
75536
75537         * modules/closeout (Description): Mention stderr too.
75538
75539 2006-10-06  Bruno Haible  <bruno@clisp.org>
75540         and Paul Eggert  <eggert@cs.ucla.edu>
75541
75542         * lib/closeout.c (close_stdout): Also close stderr.
75543         * lib/closeout.h: Update comment.
75544
75545 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
75546
75547         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
75548         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
75549         * lib/dirchownmod.c: Include lchown.h.
75550         * lib/lchown.c: Don't include files that lchown.h now includes.
75551         Don't declare chown, since lchown.h now does that.
75552         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
75553         (lchown): Define to rpl_chown if lchown is declared but
75554         does not exist.  Declare using a prototype if lchown is not
75555         declared.  Add a copyright notice.
75556         * lib/mkstemp.h: Include <unistd.h>.
75557         * lib/openat.c: Include lchown.h.
75558
75559         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
75560         we now test for that separately.
75561         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
75562         rather than O_NOFOLLOW, when testing whether it's possible to
75563         avoid a race condition reliably.
75564         * lib/savewd.c (savewd_chdir): Likewise.
75565
75566         Remove macros that are no longer needed now that stdint.h is
75567         reliable.
75568         * lib/fsusage.c (UINTMAX_MAX): Remove.
75569         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
75570         * lib/utimecmp.c (SIZE_MAX): Remove.
75571
75572         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
75573
75574         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
75575         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
75576         O_NOATIME works.
75577
75578 2006-10-05  Bruno Haible  <bruno@clisp.org>
75579
75580         * lib/gl_list.h (gl_sortedlist_search_from_to,
75581         gl_sortedlist_indexof_from_to): New declarations.
75582         (gl_list_implementation): New fields sortedlist_search_from_to,
75583         sortedlist_indexof_from_to.
75584         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
75585         inline functions.
75586         * lib/gl_list.c (gl_sortedlist_search_from_to,
75587         gl_sortedlist_indexof_from_to): New functions.
75588         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
75589         function.
75590         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
75591         (gl_array_sortedlist_search_from_to): New function.
75592         (gl_array_list_implementation): Update.
75593         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
75594         function.
75595         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
75596         (gl_carray_sortedlist_search_from_to): New function.
75597         (gl_carray_list_implementation): Update.
75598         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
75599         gl_linked_sortedlist_indexof_from_to): New functions.
75600         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75601         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75602         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
75603         gl_tree_sortedlist_indexof_from_to): New functions.
75604         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75605         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75606         Update.
75607         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75608         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
75609         Update.
75610
75611 2006-10-05  Bruno Haible  <bruno@clisp.org>
75612
75613         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
75614         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
75615         (struct gl_list_implementation): Add fields search_from_to,
75616         indexof_from_to. Remove fields search, indexof.
75617         (gl_list_search): Use the search_from_to method.
75618         (gl_list_search_from, gl_list_search_from_to): New functions.
75619         (gl_list_indexof): Use the indexof_from_to method.
75620         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75621         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
75622         (gl_list_search_from, gl_list_search_from_to): New functions.
75623         (gl_list_indexof): Use the indexof_from_to method.
75624         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75625         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
75626         gl_array_indexof. Add start_index, end_index arguments.
75627         (gl_array_search_from_to): Renamed from gl_array_search. Add
75628         start_index, end_index arguments.
75629         (gl_array_remove, gl_array_list_implementation): Update.
75630         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
75631         gl_carray_indexof. Add start_index, end_index arguments.
75632         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
75633         start_index, end_index arguments.
75634         (gl_carray_remove, gl_carray_list_implementation): Update.
75635         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
75636         gl_linked_search. Add start_index, end_index arguments.
75637         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
75638         start_index, end_index arguments.
75639         (gl_linked_remove): Update.
75640         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75641         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75642         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
75643         field to 'size_t'.
75644         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
75645         gl_tree_search. Add start_index, end_index arguments.
75646         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75647         start_index, end_index arguments.
75648         (gl_tree_remove): Update.
75649         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75650         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75651         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
75652         function.
75653         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
75654         gl_tree_search. Add start_index, end_index arguments.
75655         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75656         start_index, end_index arguments.
75657         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75658         Update.
75659         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75660
75661 2006-10-05  Bruno Haible  <bruno@clisp.org>
75662
75663         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
75664
75665         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
75666         fwriteerror_temp): New declarations.
75667         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
75668         (descriptors): New variable.
75669         (cleanup): First, close the descriptors.
75670         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
75671         fclose_temp, fwriteerror_temp): New functions.
75672
75673 2006-10-04  Jim Meyering  <jim@meyering.net>
75674
75675         * lib/fts.c (fts_open): Tiny comment change.
75676
75677 2006-10-04  Bruno Haible  <bruno@clisp.org>
75678
75679         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
75680         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
75681         gl_LOCK_BODY.
75682         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
75683         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
75684         gl_LOCK_EARLY_BODY.
75685         (gl_LOCK): Require gl_LOCK_BODY.
75686
75687 2006-10-04  Bruno Haible  <bruno@clisp.org>
75688
75689         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
75690         (gl_oset_search_atleast): New declaration.
75691         (struct gl_oset_implementation): Add field 'search_atleast'.
75692         (gl_oset_search_atleast): New inline function.
75693         * lib/gl_oset.c (gl_oset_search_atleast): New function.
75694         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
75695         (gl_array_oset_implementation): Update.
75696         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
75697         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
75698         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
75699
75700 2006-10-04  Bruno Haible  <bruno@clisp.org>
75701
75702         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
75703
75704 2006-10-03  Bruno Haible  <bruno@clisp.org>
75705
75706         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
75707         from gl_avltreehash_list_implementation.
75708
75709 2006-10-03  Bruno Haible  <bruno@clisp.org>
75710
75711         * lib/gl_oset.c (gl_oset_add): Fix return type.
75712
75713 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
75714
75715         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
75716
75717 2006-10-02  Eric Blake  <ebb9@byu.net>
75718
75719         * modules/strnlen (Depends-on): Add extensions.
75720
75721 2006-10-02  Eric Blake  <ebb9@byu.net>
75722
75723         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
75724         definition in 2.60+.
75725
75726 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
75727
75728         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
75729         checks.
75730
75731 2006-10-02  Bruno Haible  <bruno@clisp.org>
75732
75733         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
75734         to the AUTOMAKE_OPTIONS.
75735         Reported by Jim Meyering.
75736
75737 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75738
75739         Work around bug in Solaris 10 /proc file system:
75740         /proc/self/fd/NNN/.. isn't the parent directory of
75741         the directory whose file descriptor is NNN.  This needs to
75742         be worked around at run time, not compile time, since a
75743         program might be built on Solaris 8, where things work, and
75744         run on Solaris 10.
75745         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
75746         to use the following interface instead:
75747         (OPENAT_BUFFER_SIZE): New macro.
75748         (openat_proc_name): New function.
75749         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
75750         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
75751         Likewise.
75752         * lib/openat-proc.c: New file.
75753         * modules/openat (Files): Add lib/openat-proc.c.
75754         (Depends-on): Add same-inode, stdbool.
75755         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
75756
75757 2006-09-29  Bruno Haible  <bruno@clisp.org>
75758
75759         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
75760         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
75761         argument. Set stdout_closed before testing for ferror, not after.
75762         (fwriteerror, fwriteerror_no_ebadf): New functions.
75763
75764 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75765
75766         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
75767
75768 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
75769
75770         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
75771         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
75772
75773 2006-09-28  Jim Meyering  <jim@meyering.net>
75774
75775         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
75776         Include <unistd.h>.
75777
75778 2006-09-28  Bruno Haible  <bruno@clisp.org>
75779
75780         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
75781         * modules/linkedhash-list (Depends-on): Likewise.
75782         * modules/rbtreehash-list (Depends-on): Likewise.
75783
75784 2006-09-28  Bruno Haible  <bruno@clisp.org>
75785
75786         * lib/strndup.h: Simplify the redefinition of strndup.
75787         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
75788         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
75789
75790 2006-09-28  Bruno Haible  <bruno@clisp.org>
75791
75792         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
75793         * lib/gl_linkedhash_list.c: Likewise.
75794         * lib/gl_rbtreehash_list.c: Likewise.
75795
75796 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75797
75798         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
75799         getaddrinfo.
75800
75801         * lib/__fpending.h: Don't include <stdio_ext.h> unless
75802         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
75803         it causes <stdio_ext.h> to cause a compile-time error.
75804         Problem reported by Nelson H. F. Beebe.
75805         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
75806         of HAVE_DECL___PENDING.
75807
75808         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
75809         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
75810         declaration.
75811
75812 2006-09-27  Jim Meyering  <jim@meyering.net>
75813
75814         This file could end up with a definition for a function
75815         named __strndup, rather than rpl_strndup on a system with
75816         incomplete weak_alias support.
75817         * lib/strndup.c (strndup): Rename from __strndup.
75818         Remove #defines that used to map __strndup to strndup.
75819         Don't use K&R prototypes.
75820         Remove LIBC-related code, since this file is not sync'd with glibc.
75821         * lib/strndup.h: Revamp, accordingly.
75822         * m4/strndup.m4: Modernize.
75823
75824 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75825
75826         * modules/savewd (Depends-on): Add 'raise'.
75827         * lib/savewd.c: Include <signal.h>, for 'raise'.
75828
75829 2006-09-26  Jim Meyering  <jim@meyering.net>
75830
75831         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
75832         when we detect Darwin 8.7.0's acl_get_file bug.
75833         Rearrange to perform the new (below) run-test while $LIBS
75834         contains any acl-related library.  Set USE_ACL at the end.
75835         (gl_ACL_GET_FILE): New function.
75836
75837 2006-09-26  Eric Blake  <ebb9@byu.net>
75838
75839         * lib/verror.c: Include <config.h> unconditionally.
75840
75841 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75842
75843         * modules/clock-time (Maintainer): Add self.
75844         * modules/getlogin_r (Depends-on): Add extensions.
75845
75846 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75847
75848         * modules/clock-time: New module.
75849         * modules/nanosleep (Depends-on): Add clock-time.
75850         * modules/gethrxtime (Depends-on): Likewise.
75851         * modules/gettime (Depends-on): Likewise.
75852         * modules/settime (Depends-on): Likewise.
75853
75854         * modules/fts-lgpl: Depend on openat.
75855         * modules/mkancesdirs: Depend on savewd.
75856         * modules/mkdir-p: Likewise.
75857
75858 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75859
75860         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
75861
75862         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
75863         `gl_have_arbitrary_file_name_length_limit' to
75864         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
75865         actually works between configure runs.
75866
75867 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75868             Bruno Haible  <bruno@clisp.org>
75869
75870         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
75871
75872 2006-09-25  Jim Meyering  <jim@meyering.net>
75873
75874         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
75875         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
75876
75877 2006-09-25  Eric Blake  <ebb9@byu.net>
75878
75879         * gnulib-tool (func_import, func_create_testdir): Fix typos in
75880         exec's in 2006-09-18 patch when shuffling fds.
75881
75882 2006-09-25  Bruno Haible  <bruno@clisp.org>
75883
75884         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
75885         Reported by Jim Meyering.
75886
75887 2006-09-24  Jim Meyering  <jim@meyering.net>
75888
75889         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
75890         compare a pointer against a literal "0".  That caused failures with
75891         at least HP-UX's hpcc.
75892
75893 2006-09-22  Simon Josefsson  <jas@extundo.com>
75894
75895         * modules/gc-sha1:
75896         * modules/gc-md4:
75897         * modules/gc-hmac-sha1:
75898         * modules/gc-hmac-md5:
75899         * modules/gc-des:
75900         * modules/gc-arcfour: Distribute more files.
75901
75902 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75903
75904         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
75905         (gl_linked_iterator_from_to): Initialize struct completely.
75906         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
75907         (gl_tree_iterator_from_to): Likewise
75908         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
75909         * lib/gl_array_list.c [lint] (gl_array_iterator)
75910         (gl_array_iterator_from_to): Likewise.
75911         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
75912         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
75913         (gl_carray_iterator_from_to): Likewise.
75914
75915         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
75916         * lib/md4.c (md4_process_block): Remove unused variable.
75917         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
75918         parentheses for clarity.
75919
75920 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75921
75922         * modules/bison-i18n (Depends-on): Add gettext.
75923
75924 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75925
75926         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
75927         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
75928         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
75929         also add missing comma that caused broken test.
75930         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
75931         stdlib.h, for `abort'.
75932         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
75933         variables.
75934         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
75935         include unistd.h if present, for `rmdir'.
75936         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
75937         variables.
75938         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
75939         in the process include standard headers for prototypes.
75940         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
75941         gets declared on GNU/Linux.
75942         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75943         unistd.h, for `rmdir'.
75944         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75945
75946         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75947         always true.
75948         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75949
75950         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75951
75952 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75953
75954         * gnulib-tool (func_version): Create output all at once.  This
75955         may help avoid triggering unnecessary SIGPIPEs, and at any
75956         rate it doesn't hurt.
75957
75958 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75959             Bruno Haible  <bruno@clisp.org>
75960
75961         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75962         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75963         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75964
75965         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75966         (gl_FUNC_VASPRINTF): Invoke it.
75967
75968 2006-09-22  Bruno Haible  <bruno@clisp.org>
75969
75970         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75971         getloadavg.c as first argument.
75972
75973 2006-09-22  Bruno Haible  <bruno@clisp.org>
75974
75975         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75976         at the beginning of the gl_INIT macro.
75977         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75978         gl_GETLOADAVG.
75979
75980 2006-09-22  Bruno Haible  <bruno@clisp.org>
75981
75982         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75983         module.
75984         Suggested by Ralf Wildenhues.
75985
75986 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75987
75988         Import this patch from libc:
75989
75990         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75991
75992         * lib/regex_internal.c (re_string_reconstruct): Handle
75993         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75994         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75995         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75996         re_string_context_at.
75997
75998         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75999         now requires it.
76000         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
76001         gl_REGEX now does it for us.
76002         (gl_REGEX): Add test taken from
76003         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
76004
76005         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
76006         Check that large offsets work.  Modernize Autoconf usages.
76007         Prefer "yes" to mean a good thing rather than a bad.
76008         Don't put "#define mkstemp" in config.h, as this might interfere
76009         with standard system headers that "#define mkstemp mkstemp64".
76010
76011         * modules/mkstemp (Depends-on): Add extensions, so that
76012         mkstemp is visible on some platforms.
76013         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
76014         (Include): Change to "mkstemp.h" from <stdlib.h>.
76015         (Files): Add mkstemp.h.
76016
76017         * lib/mkstemp.h: New file, since some standard headers
76018         #define mkstemp.
76019         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
76020         Include "mkstemp.h".
76021         Make the _LIBC code resemble glibc original more,
76022         e.g., use K&R style.
76023         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
76024         (mkstemp): Remove, since mkstemp.h does this for us.
76025         * lib/stdlib--.h: Include mkstemp.h.
76026
76027         Import this patch from libc:
76028
76029         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
76030
76031         * lib/tempname.c (__gen_tempname): Change attempts_min
76032         into a macro.  Use preprocessor to decide how to initialize
76033         attempts [Coverity CID 67].
76034
76035 2006-09-20  Bruno Haible  <bruno@clisp.org>
76036
76037         * lib/mkdtemp.c: Import from libc.
76038         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
76039                 * sysdeps/posix/tempname.c (__gen_tempname): Change
76040                 attempts_min into a macro.  Use preprocessor to decide how to
76041                 initialize attempts [Coverity CID 67].
76042         2001-11-27  Paul Eggert  <eggert@twinsun.com>
76043                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
76044                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
76045
76046 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76047
76048         * gnulib-tool (func_exit): New function, to allow to pass the
76049         exit status portably through the trap.  Use everywhere.
76050         (--help, --version): Signal a write error.
76051         (trap): catch SIGPIPE, for write errors.
76052         Exit at the end of the trap, with the correct exit status.
76053
76054 2006-09-19  Karl Berry  <karl@gnu.org>
76055
76056         * doc/gnulib.texi: note about the license texinfo files.
76057
76058 2006-09-19  Eric Blake  <ebb9@byu.net>
76059
76060         * gnulib-tool: Avoid space-tab.
76061
76062 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
76063
76064         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
76065         that prevented coreutils 6.1 from building.  Problem reported
76066         by Petter Reinholdtsen.
76067
76068 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
76069
76070         * gnulib-tool (avoidlist): Fix typo that broke options like
76071         --avoid=lock that are used by coreutils bootstrap.
76072
76073 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
76074
76075         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
76076         more systematically.
76077
76078 2006-09-18  Jim Meyering  <jim@meyering.net>
76079
76080         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
76081
76082 2006-09-18  Bruno Haible  <bruno@clisp.org>
76083
76084         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
76085
76086 2006-09-18  Bruno Haible  <bruno@clisp.org>
76087
76088         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
76089         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
76090         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
76091         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
76092         * m4/gettext.m4: Require autoconf >= 2.52.
76093         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
76094         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
76095         of gl_cv_header_inttypes_h.
76096
76097 2006-09-18  Bruno Haible  <bruno@clisp.org>
76098
76099         * lib/javaversion.c: Include configmake.h.
76100
76101 2006-09-18  Bruno Haible  <bruno@clisp.org>
76102
76103         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
76104         avoid that the while loops be executed in a subshell.
76105
76106 2006-09-18  Bruno Haible  <bruno@clisp.org>
76107
76108         * MODULES.html.sh (func_module): Break long lines.
76109         Suggested by Bruce Korb <bkorb@gnu.org>.
76110
76111 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76112
76113         Speed up by a factor of 1.12.
76114         * gnulib-tool (nl): New variable.
76115         (func_import): Rewrite include directive extraction to only read each
76116         directive once.
76117
76118 2006-09-17  Bruno Haible  <bruno@clisp.org>
76119
76120         * modules/javaversion (Makefile.am): Remove DEFS setting.
76121         (Depends-on): Add configmake, for PKGDATADIR definition.
76122
76123 2006-09-17  Bruno Haible  <bruno@clisp.org>
76124
76125         * gnulib-tool (func_create_testdir): Rewrite all files at once.
76126
76127 2006-09-17  Bruno Haible  <bruno@clisp.org>
76128
76129         * gnulib-tool (func_append): New function, stolen from libtool.m4.
76130         (func_modules_transitive_closure, func_modules_add_dummy,
76131         func_modules_to_filelist, func_import, func_create_testdir,
76132         func_create_megatestdir, ...): Use it wherever possible.
76133         Suggested by Ralf Wildenhues.
76134
76135 2006-09-16  Karl Berry  <karl@gnu.org>
76136
76137         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
76138         to avoid sectioning errors.
76139         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
76140         [ifinfo]: blank line after @center-ed titles.
76141         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
76142         Spell FSF address consistently with others.
76143         (These changes approved by rms.)
76144
76145 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76146
76147         Speed up by a factor of 1.61.
76148         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
76149         already checked module names again.
76150
76151 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76152
76153         Speed up by a factor of 1.13.
76154         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
76155         for new_files, and the input to func_add_or_update.
76156
76157 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76158
76159         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
76160         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
76161
76162 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76163
76164         * modules/mkancesdirs (Depends-on): Add fcntl.
76165         * modules/savewd: New file.
76166         * MODULES.html.sh (File system functions): Add savewd.
76167
76168         * modules/configmake (Makefile.am): Add support for the
76169         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
76170
76171 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76172
76173         * m4/savewd.m4: New file.
76174
76175 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76176
76177         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
76178         (dirchownmod): New arg FD.  All callers changed.
76179         Use FD rather than opening the directory ourself, as opening is
76180         now the caller's responsibility.
76181         * lib/dirchownmod.h: Likewise.
76182         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
76183         hosts that require <sys/types.h> before <sys/stat.h>.  Include
76184         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
76185         (test_dir): Remove.
76186         (mkancesdirs): Return length of prefix of FILE that has already
76187         been made, or -2 if there is a child doing the work.  Redo
76188         algorithm so that it is O(N) rather than O(N**2).  Optimize away
76189         ".", and treat ".." specially since it might stray back into
76190         already-created areas.  Use a subprocess if necessary.  New arg
76191         WD; all users changed.  MAKE_DIR function should now return 1
76192         if it creates a directory that is not readable.  Return -2 if
76193         a child process is spun off.
76194         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
76195         Adjust signature to match code.
76196         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
76197         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
76198         all users changed.
76199         * lib/savewd.c, lib/savewd.h: New files.
76200
76201 2006-09-15  Jim Meyering  <jim@meyering.net>
76202
76203         * modules/rename-dest-slash: New module.
76204         * MODULES.html.sh (posix_compat): Add it here.
76205
76206         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
76207
76208 2006-09-15  Jim Meyering  <jim@meyering.net>
76209
76210         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
76211         file.
76212
76213         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
76214
76215 2006-09-15  Jim Meyering  <jim@meyering.net>
76216
76217         * lib/rename-dest-slash.c (has_trailing_slash): Use
76218         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
76219         (rpl_rename_dest_slash): Perform the cheaper trailing slash
76220         test before testing whether SRC is a directory.
76221         Suggestions from Bruno Haible.
76222
76223         Avoid a warning about an unused variable.
76224         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
76225         into the #ifdef block where it's used.
76226
76227         * lib/rename-dest-slash.c: New file.
76228
76229 2006-09-14  Bruno Haible  <bruno@clisp.org>
76230
76231         * lib/allocsa.c: Include <config.h> unconditionally.
76232         * lib/asnprintf.c: Likewise.
76233         * lib/asprintf.c: Likewise.
76234         * lib/c-strcasecmp.c: Likewise.
76235         * lib/c-strcasestr.c: Likewise.
76236         * lib/c-strncasecmp.c: Likewise.
76237         * lib/c-strstr.c: Likewise.
76238         * lib/classpath.c: Likewise.
76239         * lib/clean-temp.c: Likewise.
76240         * lib/concatpath.c: Likewise.
76241         * lib/copy-file.c: Likewise.
76242         * lib/csharpcomp.c: Likewise.
76243         * lib/csharpexec.c: Likewise.
76244         * lib/execute.c: Likewise.
76245         * lib/fatal-signal.c: Likewise.
76246         * lib/findprog.c: Likewise.
76247         * lib/fwriteerror.c: Likewise.
76248         * lib/gl_array_list.c: Likewise.
76249         * lib/gl_array_oset.c: Likewise.
76250         * lib/gl_avltree_list.c: Likewise.
76251         * lib/gl_avltree_oset.c: Likewise.
76252         * lib/gl_avltreehash_list.c: Likewise.
76253         * lib/gl_carray_list.c: Likewise.
76254         * lib/gl_linked_list.c: Likewise.
76255         * lib/gl_linkedhash_list.c: Likewise.
76256         * lib/gl_list.c: Likewise.
76257         * lib/gl_oset.c: Likewise.
76258         * lib/gl_rbtree_list.c: Likewise.
76259         * lib/gl_rbtree_oset.c: Likewise.
76260         * lib/gl_rbtreehash_list.c: Likewise.
76261         * lib/imaxabs.c: Likewise.
76262         * lib/imaxdiv.c: Likewise.
76263         * lib/javacomp.c: Likewise.
76264         * lib/javaexec.c: Likewise.
76265         * lib/javaversion.c: Likewise.
76266         * lib/linebreak.c: Likewise.
76267         * lib/localcharset.c: Likewise.
76268         * lib/lock.c: Likewise.
76269         * lib/mbchar.c: Likewise.
76270         * lib/mbswidth.c: Likewise.
76271         * lib/mkdtemp.c: Likewise.
76272         * lib/pipe.c: Likewise.
76273         * lib/printf-args.c: Likewise.
76274         * lib/printf-parse.c: Likewise.
76275         * lib/progname.c: Likewise.
76276         * lib/progreloc.c: Likewise.
76277         * lib/readlink.c: Likewise.
76278         * lib/sh-quote.c: Likewise.
76279         * lib/stpcpy.c: Likewise.
76280         * lib/stpncpy.c: Likewise.
76281         * lib/strcasecmp.c: Likewise.
76282         * lib/strcasestr.c: Likewise.
76283         * lib/strcspn.c: Likewise.
76284         * lib/striconv.c: Likewise.
76285         * lib/strncasecmp.c: Likewise.
76286         * lib/strnlen1.c: Likewise.
76287         * lib/strstr.c: Likewise.
76288         * lib/strtok_r.c: Likewise.
76289         * lib/tls.c: Likewise.
76290         * lib/tmpdir.c: Likewise.
76291         * lib/unicodeio.c: Likewise.
76292         * lib/unsetenv.c: Likewise.
76293         * lib/vasnprintf.c: Likewise.
76294         * lib/vasprintf.c: Likewise.
76295         * lib/wait-process.c: Likewise.
76296         * lib/xallocsa.c: Likewise.
76297         * lib/xsetenv.c: Likewise.
76298         * lib/xstriconv.c: Likewise.
76299
76300 2006-09-13  Simon Josefsson  <jas@extundo.com>
76301
76302         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
76303         that internally, suggested by Ralf Wildenhues
76304         <Ralf.Wildenhues@gmx.de>.
76305
76306 2006-09-13  Simon Josefsson  <jas@extundo.com>
76307
76308         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
76309         @LIBOBJS@.
76310         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76311
76312 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76313
76314         * lib/_fpending.c: Include <config.h> unconditionally, since we no
76315         longer worry about uses that don't define HAVE_CONFIG_H.
76316         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
76317         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
76318         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
76319         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
76320         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
76321         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
76322         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
76323         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
76324         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
76325         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
76326         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
76327         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
76328         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
76329         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
76330         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
76331         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
76332         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
76333         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
76334         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
76335         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
76336         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
76337         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
76338         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
76339         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
76340         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
76341         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
76342         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
76343         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
76344         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
76345         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
76346         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
76347         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
76348         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
76349         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
76350         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
76351         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
76352         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
76353         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
76354         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
76355         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
76356         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
76357         Likewise.
76358
76359 2006-09-13  Eric Blake  <ebb9@byu.net>
76360
76361         * lib/getopt.c: Fix typo in last commit.
76362
76363 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
76364
76365         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
76366         dgettext.
76367
76368 2006-09-12  Jim Meyering  <jim@meyering.net>
76369
76370         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
76371         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
76372         Reported by Nelson H. F. Beebe.
76373
76374 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76375
76376         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
76377         program_invocation_name and program_invocation_short_name are
76378         initialized.
76379         * lib/argp-namefrob.h: Move declarations of program_invocation_name
76380         and program_invocation_short_name to argp.h, so they are visible
76381         to user programs.
76382         * lib/argp.h: Likewise
76383
76384 2006-09-10  Bruno Haible  <bruno@clisp.org>
76385
76386         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76387         m4/inttypes_h.m4, m4/uintmax_t.m4.
76388
76389 2006-09-10  Bruno Haible  <bruno@clisp.org>
76390
76391         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
76392         gl_AC_TYPE_UINTMAX_T.
76393
76394 2006-09-10  Bruno Haible  <bruno@clisp.org>
76395
76396         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
76397
76398 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76399
76400         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
76401         convention.  Text proposed by Bruno Haible.
76402         (struct argp_option): Document the use of N_() wrappers.
76403
76404         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
76405         '\v', and translate the two parts separately, instead of feeding
76406         the whole string to gettext.  This allows to exclude
76407         '\v' from the strings visible to the translator by writing doc
76408         strings as N_("..") "\v" N_("..").
76409
76410 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
76411
76412         * config/srclist.txt: Undo latest change; the bug was fixed.
76413
76414 2006-09-09  Bruno Haible  <bruno@clisp.org>
76415
76416         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
76417         assignments if building a library without libtool.
76418         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
76419         in func_emit_lib_Makefile_am.
76420         (func_import): When building a static library libfoo.a, arrange to
76421         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
76422         (func_create_testdir): Likewise.
76423         * modules/gc (configure.ac, Makefile.am): If building statically,
76424         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
76425         * modules/iconvme (configure.ac, Makefile.am): Likewise.
76426         * modules/striconv (configure.ac, Makefile.am): Likewise.
76427         Based on a suggestion by Ralf Wildenhues.
76428
76429 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76430
76431         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
76432         Check for unistd.h too, since Autoconf doesn't assume POSIX.
76433         Also:
76434
76435         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76436         Add year_2050_test to catch glibc bug 2821
76437         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
76438
76439         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76440         Prefer #ifdef to #if.
76441
76442         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
76443         Return from 'main' instead of calling 'exit'.
76444
76445 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76446
76447         * lib/mktime.c (guess_time_tm): Fix bug where mktime
76448         returned the maximum time_t value rather than (time_t) -1.
76449         Problem originally reported by William Bardwell
76450         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
76451
76452         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
76453         Moved to here ...
76454         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
76455         ... from here.
76456
76457 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76458
76459         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
76460         2821 is fixed.
76461
76462 2006-09-08  Jim Meyering  <jim@meyering.net>
76463
76464         Don't make generated files read-only.  That would bother too many
76465         people.  However, do retain the ability to work when targets are
76466         read-only: remove the destination and temporary files before writing
76467         them (when generated via sed or echo), or by using the -f option for
76468         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
76469         * modules/alloca-opt, modules/argz, modules/arpa_inet:
76470         * modules/byteswap, modules/configmake, modules/fcntl:
76471         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
76472         * modules/localcharset, modules/netinet_in, modules/poll:
76473         * modules/stdbool, modules/stdint, modules/sys_select:
76474         * modules/sys_socket, modules/sys_stat, modules/sysexits:
76475
76476 2006-09-08  Jim Meyering  <jim@meyering.net>
76477
76478         Avoid new build failure on FreeBSD 6.0.
76479         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
76480         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
76481         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
76482
76483 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76484
76485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
76486
76487 2006-09-07  Jim Meyering  <jim@meyering.net>
76488
76489         Fix global typo in last change: use chmod u-w, not chmod u-x.
76490         Spotted by Paul Eggert and Bruce Korb.
76491         * modules/alloca-opt, modules/argz, modules/arpa_inet:
76492         * modules/byteswap, modules/configmake, modules/fcntl:
76493         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
76494         * modules/localcharset, modules/netinet_in, modules/poll:
76495         * modules/stdbool, modules/stdint, modules/sys_select:
76496         * modules/sys_socket, modules/sys_stat, modules/sysexits:
76497
76498 2006-09-06  Jim Meyering  <jim@meyering.net>
76499
76500         Make generated files be read-only.
76501         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
76502         Ensure that each generated file is now read-only.
76503         * modules/argz: Likewise.
76504         * modules/arpa_inet: Likewise.
76505         * modules/byteswap: Likewise.
76506         * modules/configmake: Likewise.
76507         * modules/fcntl: Likewise.
76508         * modules/fnmatch: Likewise.
76509         * modules/getopt: Likewise.
76510         * modules/glob: Likewise.
76511         * modules/inttypes: Likewise.
76512         * modules/netinet_in: Likewise.
76513         * modules/poll: Likewise.
76514         * modules/stdbool: Likewise.
76515         * modules/stdint: Likewise.
76516         * modules/sys_select: Likewise.
76517         * modules/sys_socket: Likewise.
76518         * modules/sys_stat: Likewise.
76519         * modules/sysexits: Likewise.
76520         * modules/localcharset: Same as above, but continue using temporary
76521         file named "t-$@" (why different?) rather than the "$@-t" used
76522         everywhere else.
76523
76524         * modules/sysexits (Makefile.am): Replace literal occurrences
76525         of "sysexit.h" more readable, and more consistent, "$@".
76526
76527 2006-09-06  Bruno Haible  <bruno@clisp.org>
76528
76529         * modules/striconv: New file.
76530         * modules/xstriconv: New file.
76531         * MODULES.html.sh (Internationalization functions): Add striconv,
76532         xstriconv.
76533
76534 2006-09-06  Bruno Haible  <bruno@clisp.org>
76535
76536         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
76537         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
76538         not using libtool correctly.
76539
76540 2006-09-06  Bruno Haible  <bruno@clisp.org>
76541
76542         * lib/striconv.h: New file.
76543         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
76544         iconvstring.c.
76545         * lib/xstriconv.h: New file.
76546         * lib/xstriconv.c: New file.
76547
76548 2006-09-06  Bruno Haible  <bruno@clisp.org>
76549
76550         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76551         lib_..._LDFLAGS.
76552
76553 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76554
76555         * lib/argz_.h: Sync from Libtool.
76556
76557         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
76558                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76559
76560         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
76561
76562 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76563
76564         * modules/trim: New file.
76565
76566 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76567
76568         * lib/trim.h: New file.
76569         * lib/trim.c: New file.
76570
76571 2006-09-05  Bruno Haible  <bruno@clisp.org>
76572
76573         * MODULES.html.sh (String handling): Add trim.
76574
76575 2006-09-04  Karl Berry  <karl@gnu.org>
76576
76577         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
76578         until next release.
76579
76580 2006-09-03  Bruno Haible  <bruno@clisp.org>
76581
76582         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
76583         correctly.
76584
76585 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76586
76587         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
76588         not gl_GETLOADAVG.  Omit unneeded semicolons.
76589         Problems reported by Ralf Wildenhues in
76590         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76591         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
76592         at the end, which is the usual gnulib style.
76593
76594         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
76595         of doing all the work ourselves.
76596         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
76597         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
76598
76599 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76600
76601         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
76602         Problem reported by Ralf Wildenhues in
76603         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76604
76605         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
76606         HAVE_STRUCT_STATFS_F_FSTYPENAME.
76607
76608 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76609
76610         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
76611         yesterday's patch by changing test -n to test -z.
76612
76613 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76614
76615         * modules/getloadavg (Files): Add m4/getloadavg.m4.
76616         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
76617         the former is now obsolescent.
76618
76619         * modules/chdir-long (Depends-on): Add fcntl.
76620
76621 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76622
76623         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
76624         obsolescent, and programs should use gnulib instead.
76625         * m4/getloadavg.m4: New file, with contents taken from Autoconf
76626         but with prefixes changed.
76627
76628 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76629
76630         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
76631         or stdbool.h, because they might not exist while configuring.
76632
76633         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
76634         Don't include unistd.h or limits.h; not needed, since chdir-long.h
76635         does that for us.
76636         (O_DIRECTORY): Remove.
76637
76638 2006-08-31  Eric Blake  <ebb9@byu.net>
76639
76640         * gnulib-tool: Don't let emacs change spaces to TAB.
76641
76642 2006-08-31  Bruno Haible  <bruno@clisp.org>
76643
76644         * gnulib-tool: When calling func_import more than once, do it in a
76645         subshell.
76646         Reported by Eric Blake <ebb9@byu.net>.
76647
76648 2006-08-31  Bruno Haible  <bruno@clisp.org>
76649
76650         * gnulib-tool (nl): Remove variable.
76651         (sed_transform_lib_file): Use more robust test for config-h module.
76652         (func_import): Fix typo in 2006-08-25 patch.
76653
76654 2006-08-31  Bruno Haible  <bruno@clisp.org>
76655
76656         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
76657         specified, augment Makefile.am variables instead of assigning them.
76658
76659 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76660
76661         Work around a bug in both the Linux and SunOS 64-bit kernels:
76662         nanosleep mishandles sleeps for longer than 2**31 seconds.
76663         Problem reported by Frank v Waveren in
76664         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
76666         Check for nanosleep bug.
76667         (LIB_NANOSLEEP): Append clock_gettime library if needed.
76668
76669 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76670
76671         Work around a bug in both the Linux and SunOS 64-bit kernels:
76672         nanosleep mishandles sleeps for longer than 2**31 seconds.
76673         Problem reported by Frank v Waveren in
76674         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76675         * lib/nanosleep.c (BILLION): New constant.
76676         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
76677         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
76678         implementation.
76679
76680 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76681
76682         * modules/nanosleep (Depends-on): Add gettime.
76683
76684 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76685         and Simon Josefsson  <jas@extundo.com>
76686         and Oskar Liljeblad  <oskar@osk.mine.nu>
76687
76688         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
76689         * gnulib-tool (func_import): New license type 'unmodifiable license
76690         text'.
76691         * modules/fdl: Use it.  Longer description.
76692         * module/gpl, module/lgpl: New files.
76693
76694 2006-08-30  Jim Meyering  <jim@meyering.net>
76695
76696         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
76697         shadowing the parameter.
76698
76699 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76700
76701         Sync from Libtool:
76702
76703         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76704
76705         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
76706         sharing with gnulib.  Report by Eric Blake.
76707
76708 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76709
76710         * modules/isapipe: New file.
76711         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
76712
76713 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76714
76715         * modules/configmake (Makefile.am): Add a comment, and omit
76716         the CONFIGMAKE_ prefix from generated macro names.  Suggested
76717         by Bruno Haible.
76718
76719 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76720
76721         * m4/isapipe.m4: New file.
76722
76723 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76724
76725         * lib/isapipe.c, lib/isapipe.h: New files.
76726
76727 2006-08-29  Jim Meyering  <jim@meyering.net>
76728
76729         * modules/configmake (Makefile.am): Make configmake.h depend on
76730         Makefile.  Otherwise, a stale configmake.h could hang around.
76731
76732 2006-08-29  Eric Blake  <ebb9@byu.net>
76733
76734         * lib/error.c (error_at_line, print_errno_message): Match libc, after
76735         resolution of upstream bug 3044.
76736
76737 2006-08-29  Bruno Haible  <bruno@clisp.org>
76738
76739         * modules/localcharset (Depends-on): Add configmake.
76740         (Makefile.am): Remove setting of LIBDIR through DEFS.
76741
76742 2006-08-29  Bruno Haible  <bruno@clisp.org>
76743
76744         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
76745         defined.
76746
76747 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76748
76749         * modules/fcntl: New file.
76750         * modules/chdir-safer (Depends-on): Add fcntl.
76751         * modules/fts: Likewise.
76752         * modules/mkdir-p: Likewise.
76753
76754         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
76755         This undoes the most recent change, since we're now addressing the
76756         problem in a different way.
76757
76758         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
76759         into output, since the output might be called Makefile.am even
76760         if $makefile_name is something different.
76761         (func_import): Use $makefile_am rather than
76762         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
76763         empty.
76764
76765         * modules/inttypes (Files): Add m4/inttypes-h.m4.
76766
76767 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76768
76769         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
76770         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
76771         recent change to stdint.m4, since we're now addressing the problem in a
76772         different way.
76773
76774 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76775
76776         * m4/fcntl_h.m4: New file.
76777
76778 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76779
76780         * lib/fcntl_.h: New file.
76781         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
76782         the fcntl module.
76783         * lib/dirchownmod.c: Likewise.
76784         * lib/fts.c: Likewise.
76785
76786         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
76787         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
76788         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
76789         just before including <inttypes.h>, to avoid circular inclusion.
76790
76791 2006-08-28  Jim Meyering  <jim@meyering.net>
76792
76793         * doc/visibility.texi: Actually read and correct the grammar of the
76794         sentence affected by yesterday's change.
76795
76796 2006-08-28  Eric Blake  <ebb9@byu.net>
76797
76798         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
76799         needs wrapper.
76800
76801 2006-08-28  Eric Blake  <ebb9@byu.net>
76802
76803         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
76804
76805 2006-08-28  Eric Blake  <ebb9@byu.net>
76806
76807         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
76808
76809 2006-08-28  Bruno Haible  <bruno@clisp.org>
76810
76811         * modules/c-strstr: New file, from GNU gettext.
76812         * MODULES.html.sh (String handling): Add c-strstr.
76813
76814 2006-08-28  Bruno Haible  <bruno@clisp.org>
76815
76816         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
76817         macros.
76818         Reported by Eric Blake.
76819
76820 2006-08-28  Bruno Haible  <bruno@clisp.org>
76821
76822         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
76823         (VASNPRINTF): Return a string of length > INT_MAX without failing.
76824         * lib/vasprintf.c: Include errno.h, limits.h.
76825         (EOVERFLOW): New fallback definition.
76826         (vasprintf): Test here whether the string length is > INT_MAX.
76827         * lib/vsnprintf.c: Include errno.h, limits.h.
76828         (EOVERFLOW): New fallback definition.
76829         (vsnprintf): Fix bug when generated string was too long for the buffer.
76830         Test here whether the string length is > INT_MAX.
76831
76832 2006-08-28  Bruno Haible  <bruno@clisp.org>
76833
76834         * lib/inttypes_.h (SCNX*): Remove definitions.
76835         Reported by Eric Blake.
76836
76837 2006-08-28  Bruno Haible  <bruno@clisp.org>
76838
76839         * lib/c-strstr.h: New file, from GNU gettext.
76840         * lib/c-strstr.c: New file, from GNU gettext.
76841
76842 2006-08-28  Bruno Haible  <bruno@clisp.org>
76843
76844         * gnulib-tool: Reorder some statements.
76845
76846 2006-08-28  Bruno Haible  <bruno@clisp.org>
76847
76848         * gnulib-tool: New option --makefile-name.
76849         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
76850         $makefile_name.
76851         (func_import): Write $makefile_name to the cache file, and read it from
76852         there unless explicitly specified. Use $makefile_name as file name
76853         instead of Makefile.am. Adjust the recommendations accordingly.
76854
76855 2006-08-28  Bruno Haible  <bruno@clisp.org>
76856
76857         * gnulib-tool (func_verify_module): Check against misapplying patch.
76858
76859 2006-08-28  Bruno Haible  <bruno@clisp.org>
76860
76861         * gnulib-tool (func_relativize, func_relconcat): New functions.
76862         Give an error if --local-dir is given with --update.
76863         Remove trailing slashes from $local_gnulib_dir.
76864         (func_import): Store the relativized $local_gnulib_dir in
76865         gnulib-cache.m4, and read it from there if not specified explicitly.
76866
76867 2006-08-28  Bruno Haible  <bruno@clisp.org>
76868
76869         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
76870         is the current directory. Respect also $local_gnulib_dir.
76871
76872 2006-08-28  Bruno Haible  <bruno@clisp.org>
76873             Simon Josefsson  <jas@extundo.com>
76874
76875         BeOS portability.
76876         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
76877
76878 2006-08-27  Jim Meyering  <jim@meyering.net>
76879
76880         * doc/visibility.texi: Remove duplicate word: "pointer".
76881
76882 2006-08-26  Bruno Haible  <bruno@clisp.org>
76883
76884         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
76885         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
76886         (Makefile.am): Create inttypes.h from inttypes_.h.
76887         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
76888
76889         * modules/imaxabs: New file.
76890
76891         * modules/imaxdiv: New file.
76892
76893 2006-08-26  Bruno Haible  <bruno@clisp.org>
76894
76895         * m4/inttypes.m4: New file.
76896         * m4/_inttypes_h.m4: Remove file.
76897         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
76898         PRI_MACROS_BROKEN.
76899         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
76900
76901         * m4/imaxabs.m4: New file.
76902
76903         * m4/imaxdiv.m4: New file.
76904
76905 2006-08-26  Bruno Haible  <bruno@clisp.org>
76906
76907         * lib/inttypes_.h: New file.
76908         * lib/inttypes.h: Remove file.
76909         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
76910
76911         * lib/imaxabs.c: New file.
76912
76913         * lib/imaxdiv.c: New file.
76914
76915 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76916
76917         New config-h module, so that "make" output needn't be cluttered
76918         by -DHAVE_CONFIG_H.
76919         * MODULES.html.sh (Support for building libraries and executables):
76920         Add config-h.
76921         * modules/config-h: New file.
76922         * gnulib-tool (nl, sed_transform_lib_file): New vars.
76923         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
76924         the config-h module is used.
76925
76926         New configmake module, so that "make" output needn't be cluttered
76927         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
76928         * MODULES.html.sh (Support for building libraries and executables):
76929         Add configmake.
76930         * modules/configmake: New file.
76931
76932 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76933
76934         * m4/config-h.m4: New file.
76935
76936 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76937
76938         * config/srclist.txt: Add elisp-comp.
76939
76940 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76941
76942         * MODULES.html.sh (Support for building libraries and executables):
76943         Add elisp-comp.
76944         * build-aux/elisp-comp: New file.
76945         * modules/elisp-comp: New file.
76946
76947 2006-08-24  Bruno Haible  <bruno@clisp.org>
76948
76949         * gnulib-tool (func_create_testdir): Use non-default values of
76950         sourcebase and m4base.
76951
76952 2006-08-24  Bruno Haible  <bruno@clisp.org>
76953
76954         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76955         HTML structure.
76956
76957 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76958
76959         * modules/openat (Depends-on): Add lchown.
76960
76961 2006-08-23  Bruno Haible  <bruno@clisp.org>
76962
76963         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76964         of gl_LOCK_EARLY instead of gl_LOCK.
76965
76966 2006-08-23  Bruno Haible  <bruno@clisp.org>
76967
76968         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76969         on OSF/1 to no.
76970         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76971
76972 2006-08-23  Bruno Haible  <bruno@clisp.org>
76973
76974         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76975         as unusable.
76976
76977         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76978         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76979         (gl_LOCK): New macro.
76980
76981 2006-08-22  Simon Josefsson  <jas@extundo.com>
76982
76983         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76984         to md5 module.
76985
76986 2006-08-22  Simon Josefsson  <jas@extundo.com>
76987
76988         * MODULES.html.sh: Add "Support for maintaining and release
76989         projects".
76990
76991         * build-aux/gnupload: New file, from coreutils.
76992
76993 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76994
76995         Avoid the need for AC_LIBSOURCES in m4 macros.
76996         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76997         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76998         * modules/check-version (EXTRA_DIST): Add check-version.h.
76999         * modules/crc (EXTRA_DIST): Add crc.h.
77000         * modules/des (EXTRA_DIST): Add des.h.
77001         * modules/gc (EXTRA_DIST): Add gc.h.
77002         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
77003         * modules/getline (EXTRA_DIST): Add getline.h.
77004         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
77005         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
77006         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
77007         * modules/md2 (EXTRA_DIST): Add md2.h.
77008         * modules/md4 (EXTRA_DIST): Add md4.h.
77009         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
77010         * modules/read-file (EXTRA_DIST): Add read-file.h.
77011         * modules/readline (EXTRA_DIST): Add readline.h.
77012         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
77013         rijndael-api-fst.h.
77014
77015 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77016
77017         * m4/rijndael.m4 (gl_ARCFOUR):
77018         * m4/arctwo.m4 (gl_ARCTWO):
77019         * m4/check-version.m4 (gl_CHECK_VERSION):
77020         * m4/crc.m4 (gl_CRC):
77021         * m4/des.m4 (gl_DES):
77022         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
77023         * m4/gc.m4 (gl_GC):
77024         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
77025         * m4/getline.m4 (gl_FUNC_GETLINE):
77026         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
77027         * m4/hmac-md5.m4 (gl_HMAC_MD5):
77028         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
77029         * m4/md2.m4 (gl_MD2):
77030         * m4/md4.m4 (gl_MD4):
77031         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
77032         * m4/read-file.m4 (gl_FUNC_READ_FILE):
77033         * m4/readline.m4 (gl_FUNC_READLINE):
77034         * m4/rijndael.m4 (gl_RIJNDAEL):
77035         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
77036         to get the necessary .h files and whatnot.
77037
77038 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77039
77040         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
77041         gnulib rather than the other way around.
77042         * config/srclistvars.sh (COREUTILS): Remove.
77043
77044 2006-08-22  Jim Meyering  <jim@meyering.net>
77045
77046         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
77047
77048         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
77049
77050 2006-08-22  Eric Blake  <ebb9@byu.net>
77051
77052         * modules/regexprops-generic: New file.
77053         * MODULES.html.sh (Support for building documentation): List it.
77054
77055 2006-08-22  Eric Blake  <ebb9@byu.net>
77056
77057         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
77058         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
77059         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
77060         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
77061
77062 2006-08-22  Bruno Haible  <bruno@clisp.org>
77063
77064         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
77065         and lib_LTLIBRARIES like the other lib_* variables.
77066
77067 2006-08-22  Bruno Haible  <bruno@clisp.org>
77068
77069         * build-aux/x-to-1.in: New file, from GNU gettext.
77070
77071 2006-08-22  Bruno Haible  <bruno@clisp.org>
77072
77073         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
77074         <utmpx.h> exists.
77075
77076 2006-08-22  Bruno Haible  <bruno@clisp.org>
77077
77078         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
77079         <utmpx.h> exists.
77080
77081 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77082
77083         BeOS portability.
77084         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
77085         exist.
77086         Problem reported by Bruno Haible.
77087
77088 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77089
77090         Avoid the need for AC_LIBSOURCES in m4 macros.
77091         * modules/acl (EXTRA_DIST): Add acl.h.
77092         * modules/argmatch (Files): Add m4/argmatch.m4.
77093         (configure.ac): Add gl_ARGMATCH.
77094         (EXTRA_DIST): Renamed from lib_SOURCES, for
77095         consistency with the other modules.  Remove argmatch.c.
77096         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
77097         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
77098         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
77099         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
77100         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
77101         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
77102         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
77103         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
77104         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
77105         * modules/closeout (EXTRA_DIST): Add closeout.h.
77106         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
77107         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
77108         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
77109         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
77110         dirname.h; remove basename.c and stripslash.c.
77111         * modules/exclude (EXTRA_DIST): Add exclude.h.
77112         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
77113         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
77114         * modules/file-type (EXTRA_DIST): Add file-type.h.
77115         * modules/filemode (EXTRA_DIST): Add filemode.h.
77116         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
77117         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
77118         * modules/fpending (EXTRA_DIST): Add __fpending.h.
77119         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
77120         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
77121         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
77122         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
77123         * modules/getdate (EXTRA_DIST): Add getdate.c.
77124         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
77125         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
77126         * modules/getpass (EXTRA_DIST): Add getpass.h.
77127         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
77128         * modules/group-member (EXTRA_DIST): Add group-member.h.
77129         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
77130         * modules/hash (EXTRA_DIST): Add hash.h.
77131         * modules/human (EXTRA_DIST): Add human.h.
77132         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
77133         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
77134         * modules/lchown (EXTRA_DIST): Add lchown.h.
77135         * modules/long-options (EXTRA_DIST): Add long-options.h.
77136         * modules/lstat (EXTRA_DIST): Add lstat.h.
77137         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
77138         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
77139         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
77140         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
77141         * modules/memxor (EXTRA_DIST): Add memxor.h.
77142         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
77143         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
77144         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
77145         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
77146         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
77147         * modules/physmem (EXTRA_DIST): Add physmem.h.
77148         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
77149         * modules/posixver (EXTRA_DIST): Add posixver.h.
77150         * modules/quote (EXTRA_DIST): Add quote.h.
77151         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
77152         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
77153         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
77154         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
77155         regex_internal.h regexec.c.
77156         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
77157         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
77158         * modules/same (EXTRA_DIST): Add same.h.
77159         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
77160         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
77161         * modules/savedir (EXTRA_DIST): Add savedir.h.
77162         * modules/sha1 (EXTRA_DIST): Add sha1.h.
77163         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
77164         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
77165         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
77166         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
77167         * modules/strdup (EXTRA_DIST): Add strdup.h.
77168         * modules/strftime (EXTRA_DIST): Add strftime.h.
77169         * modules/strndup (EXTRA_DIST): Add strndup.h.
77170         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
77171         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
77172         * modules/time_r (EXTRA_DIST): Add time_r.h.
77173         * modules/timespec (EXTRA_DIST): Add timespec.h.
77174         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
77175         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
77176         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
77177         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
77178         * modules/userspec (EXTRA_DIST): Add userspec.h.
77179         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
77180         * modules/utimens (EXTRA_DIST): Add utimens.h.
77181         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
77182         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
77183         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
77184         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
77185         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
77186         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
77187         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
77188         * modules/yesno (EXTRA_DIST): Add yesno.h.
77189
77190 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77191
77192         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
77193
77194         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
77195         * m4/dev-ino.m4, same-inode.m4: Remove.
77196
77197         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
77198         * m4/acl.m4 (AC_FUNC_ACL):
77199         * m4/backupfile.m4 (gl_BACKUPFILE):
77200         * m4/c-strtod.m4 (gl_C99_STRTOLD):
77201         * m4/canon-host.m4 (gl_CANON_HOST):
77202         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
77203         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
77204         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
77205         * m4/cloexec.m4 (gl_CLOEXEC):
77206         * m4/close-stream.m4 (gl_CLOSE_STREAM):
77207         * m4/closeout.m4 (gl_CLOSEOUT):
77208         * m4/dirfd.m4 (gl_FUNC_DIRFD):
77209         * m4/dirname.m4 (gl_DIRNAME):
77210         * m4/exclude.m4 (gl_EXCLUDE):
77211         * m4/exitfail.m4 (gl_EXITFAIL):
77212         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
77213         * m4/file-type.m4 (gl_FILE_TYPE):
77214         * m4/filemode.m4 (gl_FILEMODE):
77215         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
77216         * m4/fpending.m4 (gl_FUNC_FPENDING):
77217         * m4/fprintftime.m4 (gl_FPRINTFTIME):
77218         * m4/fts.m4 (gl_FUNC_FTS):
77219         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
77220         * m4/getdate.m4 (gl_GETDATE):
77221         * m4/gethrxtime.m4 (gl_GETHRXTIME):
77222         * m4/getpagesize.m4 (gl_GETPAGESIZE):
77223         * m4/getpass.m4 (gl_FUNC_GETPASS):
77224         * m4/gettime.m4 (gl_GETTIME):
77225         * m4/getugroups.m4 (gl_GETUGROUPS):
77226         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
77227         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
77228         * m4/hard-locale.m4 (gl_HARD_LOCALE):
77229         * m4/hash.m4 (gl_HASH):
77230         * m4/idcache.m4 (gl_IDCACHE):
77231         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
77232         * m4/lchown.m4 (gl_FUNC_LCHOWN):
77233         * m4/long-options.m4 (gl_LONG_OPTIONS):
77234         * m4/lstat.m4 (gl_FUNC_LSTAT):
77235         * m4/md5.m4 (gl_MD5):
77236         * m4/memcasecmp.m4 (gl_MEMCASECMP):
77237         * m4/memcoll.m4 (gl_MEMCOLL):
77238         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
77239         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
77240         * m4/memxor.m4 (gl_MEMXOR):
77241         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
77242         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
77243         * m4/modechange.m4 (gl_MODECHANGE):
77244         * m4/mountlist.m4 (gl_MOUNTLIST):
77245         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
77246         * m4/openat.m4 (gl_FUNC_OPENAT):
77247         * m4/pathmax.m4 (gl_PATHMAX):
77248         * m4/physmem.m4 (gl_PHYSMEM):
77249         * m4/posixtm.m4 (gl_POSIXTM):
77250         * m4/posixver.m4 (gl_POSIXVER):
77251         * m4/quote.m4 (gl_QUOTE):
77252         * m4/quotearg.m4 (gl_QUOTEARG):
77253         * m4/readtokens.m4 (gl_READTOKENS):
77254         * m4/readutmp.m4 (gl_READUTMP):
77255         * m4/regex.m4 (gl_REGEX):
77256         * m4/safe-read.m4 (gl_SAFE_READ):
77257         * m4/safe-write.m4 (gl_SAFE_WRITE):
77258         * m4/same.m4 (gl_SAME):
77259         * m4/save-cwd.m4 (gl_SAVE_CWD):
77260         * m4/savedir.m4 (gl_SAVEDIR):
77261         * m4/settime.m4 (gl_SETTIME):
77262         * m4/sha1.m4 (gl_SHA1):
77263         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
77264         * m4/stat-macros.m4 (gl_STAT_MACROS):
77265         * m4/stat-time.m4 (gl_STAT_TIME):
77266         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
77267         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
77268         * m4/strdup.m4 (gl_FUNC_STRDUP):
77269         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
77270         * m4/strndup.m4 (gl_FUNC_STRNDUP):
77271         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
77272         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
77273         * m4/time_r.m4 (gl_TIME_R):
77274         * m4/timespec.m4 (gl_TIMESPEC):
77275         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
77276         * m4/unlinkdir.m4 (gl_UNLINKDIR):
77277         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
77278         * m4/userspec.m4 (gl_USERSPEC):
77279         * m4/utimecmp.m4 (gl_UTIMECMP):
77280         * m4/utimens.m4 (gl_UTIMENS):
77281         * m4/xalloc.m4 (gl_XALLOC):
77282         * m4/xgetcwd.m4 (gl_XGETCWD):
77283         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
77284         * m4/xreadlink.m4 (gl_XREADLINK):
77285         * m4/xstrtod.m4 (gl_XSTRTOD):
77286         * m4/yesno.m4 (gl_YESNO):
77287         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
77288         to get the necessary .h files and whatnot.
77289
77290 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
77291             Bruno Haible  <bruno@clisp.org>
77292
77293         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
77294         /bin/sh understanding of '!' conditional negation.
77295
77296 2006-08-21  Jim Meyering  <jim@meyering.net>
77297
77298         * modules/openat (Depends-on): Really alphabetize.
77299
77300         * modules/acl (Depends-on): Add error and quote.
77301
77302         * check-module (find_included_lib_files): Add at-func.c to the
77303         ok-to-include-more-than-once white list.
77304
77305         * modules/openat (Depends-on): Add lstat.  Alphabetize.
77306
77307 2006-08-21  Bruno Haible  <bruno@clisp.org>
77308
77309         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77310         Emit a pkgdata_DATA variable only if some snippets add contents to it.
77311         Reported by Martin Lambers <marlam@marlam.de>.
77312
77313 2006-08-21  Bruno Haible  <bruno@clisp.org>
77314
77315         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
77316         specify an installation location, don't emit a noinst_LIBRARIES or
77317         noinst_LTLIBRARIES assignment.
77318
77319 2006-08-21  Bruno Haible  <bruno@clisp.org>
77320
77321         BeOS portability.
77322         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
77323         BeOS has mbrtowc() but no <wctype.h>.
77324
77325 2006-08-21  Bruno Haible  <bruno@clisp.org>
77326
77327         BeOS portability.
77328         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
77329         exist.
77330
77331 2006-08-21  Bruno Haible  <bruno@clisp.org>
77332
77333         BeOS portability.
77334         * lib/mbchar.h: Include <wctype.h> only if it exists.
77335
77336 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77337
77338         Remove files that are no longer needed by their respective modules.
77339         * m4/obstack.m4: Remove.
77340         * m4/strerror_r.m4: Remove.
77341         * m4/uint32_t.m4: Remove.
77342         * m4/uintptr_t.m4: Remove.
77343         * m4/ullong_max.m4: Remove.
77344         * m4/xstrtoimax.m4: Remove.
77345         * m4/xstrtoumax.m4: Remove.
77346
77347         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
77348         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
77349         dependencies now capture this.
77350
77351         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
77352         Do not use AC_LIBSOURCES, since gnulib modules now do this.
77353         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
77354         * m4/human.m4 (gl_HUMAN): Likewise.
77355         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
77356         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
77357
77358         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
77359
77360         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
77361         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
77362         stdint.
77363         * m4/human.m4 (gl_HUMAN): Likewise.
77364         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
77365         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
77366         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
77367         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
77368         * m4/xstrtol (gl_XSTRTOL): Likewise.
77369
77370         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
77371         AC_TYPE_LONG_LONG_INT.
77372         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
77373         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
77374         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
77375         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
77376
77377         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
77378         on stdbool.
77379
77380         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
77381         (gl_PREREQ_XSTRTOUL): Remove.
77382
77383         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
77384
77385         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
77386         mode.
77387
77388 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77389
77390         Add and change modules to make it easier for coreutils to use
77391         gnulib-tool.
77392         * modules/backupfile (Files): Remove m4/d-ino.m4.
77393         (Depends-on): Add d-ino.
77394         * modules/cycle-check (Depends-on): Add stdint.
77395         (lib_SOURCES): Add cycle-check.h.
77396         * modules/d-ino: New module.
77397         * modules/d-type: New module.
77398         * modules/error (Files): Remove m4/strerror_r.m4.
77399         * modules/filemode (Files): Add m4/st_dm_mode.m4.
77400         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77401         m4/inttypes_h.m4, m4/uintmax_t.m4.
77402         (Depends-on): Add stdint.
77403         (lib_SOURCES): Add fsusage.h.
77404         * modules/getcwd (Files): Remove d-ino.m4.
77405         (Depends-on): Add d-ino.
77406         * modules/getndelim2 (Depends-on): Add stdint.
77407         * modules/glob (Files): Remove m4/d-type.m4.
77408         (Depends-on): Add d-type.
77409         * modules/host-os: New module.
77410         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
77411         m4/inttypes_h.m4, m4/uintmax_t.m4.
77412         * Depends-on: Add stdint.
77413         (lib_SOURCES): Add human.h.
77414         * modules/inttostr (Files): Remove m4/intmax_t.m4,
77415         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
77416         m4/uintmax_t.m4, m4/ulonglong.m4.
77417         (Depends-on): Add stdint.
77418         (EXTRA_DIST): Add inttostr.h.
77419         * modules/lchmod: New module.
77420         * modules/link-follow: New module.
77421         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
77422         (Depends-on): Add lchmod.
77423         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
77424         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
77425         (Depends-on): Add stdint.
77426         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
77427         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
77428         (Depends-on): Add stdint.
77429         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
77430         * modules/perl: New module.
77431         * modules/regex (Depends-on): Add stdint.
77432         * modules/rmdir-errno: New module.
77433         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
77434         m4/intmax_t.m4.
77435         (Depends-on): Add stdint.
77436         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
77437         m4/uintmax_t.m4.
77438         (Depends-on): Add stdint.
77439         * modules/unlink-busy: New module.
77440         * modules/utimecmp (Depends-on): Add stdint.
77441         * modules/uptime: New module.
77442         * modules/winsz-ioctl: New module.
77443         * modules/winsz-termios: New module.
77444         * modules/xnanosleep (Depends-on): Add nanosleep.
77445         * modules/ullong_max: Remove.
77446         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
77447         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
77448         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
77449         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
77450         (Depends-on): Add inttypes.
77451         (lib_SOURCES): Add xstrtol.h.
77452         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
77453         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
77454         * MODULES.html.sh: Move 'assert' into the assert section.
77455         Move 'dummy' into the linking section.
77456         Remove ullong_max.
77457         Add section for compatibility checks for POSIX:2001 functions,
77458         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
77459         winsz-ioctl, and winsz-termios into it.
77460         Add lchmod.
77461         Add top-level Misc section and put host-os, perl, and uptime
77462         into it.
77463
77464 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77465
77466         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
77467         now assume the stdint module.  Do not include inttypes.h.
77468         * lib/fsusage.h: Likewise.
77469         * lib/getndelim2.c: Likewise.
77470         * lib/human.h: Likewise.
77471         * lib/inttostr.h: Likewise.
77472         * lib/obstack.c: Likewise.
77473         * lib/regex_internal.h: Likewise.
77474         * lib/tempname.c: Likewise.
77475         * lib/utimecmp.c: Likewise.
77476         * lib/xstrtol.h: Likewise.
77477
77478         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
77479
77480         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
77481         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
77482         * lib/xtime.h: Likewise.
77483
77484 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77485
77486         * modules/openat (Files): Add lib/fchmodat.c.
77487         Fixes problem reported by Jay Youngman.
77488
77489 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77490
77491         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
77492         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
77493
77494 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
77495             Bruno Haible  <bruno@clisp.org>
77496
77497         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
77498         and is a script that invokes bison. Tighten the code. Add comments.
77499
77500 2006-08-18  Jim Meyering  <jim@meyering.net>
77501
77502         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
77503         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
77504         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
77505         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
77506
77507 2006-08-18  Bruno Haible  <bruno@clisp.org>
77508
77509         * modules/bison-i18n: New file.
77510         * MODULES.html.sh (Internationalization functions): Add it.
77511
77512 2006-08-18  Bruno Haible  <bruno@clisp.org>
77513
77514         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
77515         sys/statvfs.h. When getmntinfo was found, check its declaration and
77516         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
77517
77518 2006-08-18  Bruno Haible  <bruno@clisp.org>
77519
77520         * m4/bison-i18n.m4: New file, from bison.
77521
77522 2006-08-18  Bruno Haible  <bruno@clisp.org>
77523
77524         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
77525         (ME_DUMMY): Treat "kernfs" as a dummy.
77526         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
77527
77528 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77529
77530         Update from coreutils.
77531
77532         2006-08-15  Jim Meyering  <jim@meyering.net>
77533
77534         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
77535
77536         2006-01-17  Jim Meyering  <jim@meyering.net>
77537
77538         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
77539
77540         2006-01-11  Jim Meyering  <jim@meyering.net>
77541
77542         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
77543         Check for the lchmod function.
77544
77545 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         Update from coreutils.
77548
77549         * lib/__fpending.h: Add copyright notice.
77550         * lib/fprintftime.h: Likewise.
77551         * lib/savedir.c: Use (C) in copyright notice.
77552         * lib/savedir.h: Likewise.
77553
77554         2006-08-15  Jim Meyering  <jim@meyering.net>
77555
77556         * lib/at-func.c: New file, with the logic of all emulated at-functions.
77557         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
77558         in support of the EXPECTED_ERRNO macro.
77559         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
77560         definitions.  Instead, define the appropriate symbols and include
77561         "at-func.c".
77562         * lib/mkdirat.c (mkdirat): Likewise.
77563         * lib/fchmodat.c (fchmodat): Likewise.
77564         (ENOSYS): Remove definition.
77565         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
77566         it.  Don't include "unistd--.h" -- it wasn't ever used.
77567
77568         2006-01-17  Jim Meyering  <jim@meyering.net>
77569
77570         Rewrite fts.c not to change the current working directory,
77571         by using openat, fstatat, fdopendir, etc..
77572
77573         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
77574         (HAVE_OPENAT_SUPPORT): Define.
77575         [_LIBC] (fchdir): Don't undef or define; no longer used.
77576         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
77577         Now, this `function' always succeeds, and consumes its file descriptor
77578         parameter -- so callers must not close such FDs.  Update callers.
77579         (diropen_fd, opendirat, cwd_advance_fd): New functions.
77580         (diropen): Add parameter, SP.  Adjust all callers.
77581         Implement using diropen_fd, rather than open.
77582         (fts_open): Initialize new member, fts_cwd_fd.
77583         Remove fts_rft-setting code.
77584         (fts_close): Close fts_cwd_fd, if necessary.
77585         (__opendir2): Define in terms of opendir or opendirat,
77586         depending on whether the FST_NOCHDIR flag is set.
77587         (fts_build): Since fts_safe_changedir consumes its FD, and since
77588         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
77589         and close the dup'd file descriptor upon failure.
77590         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
77591         (fts_safe_changedir): Tweak semantics to reflect that this function
77592         now calls cwd_advance_fd and hence consumes its FD argument.
77593         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
77594         [struct FTS] (fts_rft): Remove now-unused member.
77595         [struct FTS] (fts_cycle.state): Improve comment.
77596
77597         * lib/openat.c (openat_needs_fchdir): New function.
77598         * lib/openat.h (openat_needs_fchdir): Declare it.
77599
77600 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77601
77602         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
77603         Problem and fix reported by Pádraig Brady in
77604         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
77605
77606 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77607
77608         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
77609
77610 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77611
77612         * lib/memcoll.c (memcoll): Optimize for the common case where the
77613         arguments are bytewise equal.
77614
77615 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77616
77617         * doc/regexprops-generic.texi: Add a copyright notice.
77618
77619 2006-08-15  Bruno Haible  <bruno@clisp.org>
77620
77621         * modules/tmpdir (License): Change to LGPL.
77622
77623 2006-08-15  Bruno Haible  <bruno@clisp.org>
77624
77625         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
77626         module.
77627
77628 2006-08-14  Simon Josefsson  <jas@extundo.com>
77629
77630         * config/srclist.txt: Add gnupload.
77631
77632 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77633
77634         Change copyright notice from LGPL 2 to GPL 2, since that's the
77635         standard form used in the gnulib repository.
77636         * tests/test-lock.c: Likewise.
77637         * tests/test-stdint.c: Likewise.
77638         * tests/test-tls.c: Likewise.
77639
77640         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
77641         prelude-manager.  User shorter URLs for GNU projects, without '?'.
77642         Add copyright notice.
77643
77644         * check-module: Add copyright notice.  Output a copyright
77645         notice if "--version" is specified.
77646         * modules/COPYING: New file.
77647         * tests/test-getaddrinfo.c: Add copyright notice.
77648         * tests/test-verify.c: Likewise.
77649
77650 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77651
77652         Change copyright notice from LGPL 2 to GPL 2, since that's the
77653         standard form used in the gnulib repository.
77654         * lib/lock.c: LGPL -> GPL.
77655         * lib/lock.h: Likewise.
77656         * lib/strnlen1.c: Likewise.
77657         * lib/strnlen1.h: Likewise.
77658         * lib/tls.c: Likewise.
77659         * lib/tls.h: Likewise.
77660         * lib/tmpdir.c: Likewise.
77661
77662         * lib/TODO: Remove; this belongs only in coreutils.
77663
77664 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77665
77666         Add copyright notices to long-enough files that lack them, since
77667         otherwise the files aren't clearly free.  Use the same notice that
77668         getdate.texi already uses.
77669         * doc/alloca-opt.texi: Add copyright notice.
77670         * doc/alloca.texi: Likewise.
77671         * doc/ctime.texi: Likewise.
77672         * doc/functions.texi: Likewise.
77673         * doc/gcd.texi: Likewise.
77674         * doc/gnulib-tool.texi: Likewise.
77675         * doc/inet_ntoa.texi: Likewise.
77676         * doc/visibility.texi: Likewise.
77677
77678         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
77679         * doc/quote.texi: Add copyright notice.
77680
77681         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
77682         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
77683         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
77684         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
77685         is now obsolete, and give a pointer to the Sun list.
77686         Add copyright notice.
77687
77688 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77689
77690         * config/srclistvars.sh: Add copyright notice.
77691
77692 2006-08-14  Eric Blake  <ebb9@byu.net>
77693
77694         Import the following change from libc:
77695
77696         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
77697
77698         Upstream bug 2997.
77699         * lib/misc/error.c: Add space between program name and message if file
77700         name is missing.
77701
77702 2006-08-12  Karl Berry  <karl@gnu.org>
77703
77704         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
77705         remove, these originate in gnulib now.
77706
77707 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77708
77709         * doc/Makefile (standards.info standards.html standards.dvi):
77710         Also depend on make-stds.texi.
77711
77712 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77713
77714         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
77715         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
77716
77717         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
77718         in wchar_t.  Problem reported by Eric Blake.
77719
77720         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
77721         LEN is smaller than SIZE.  Suggested by Bruno Haible.
77722         Also, help the compiler to keep LEN in a register.
77723
77724 2006-08-11  Eric Blake  <ebb9@byu.net>
77725
77726         * users.txt: Sort.  Add tar.
77727
77728 2006-08-11  Bruno Haible  <bruno@clisp.org>
77729
77730         * users.txt: New file.
77731
77732 2006-08-11  Bruno Haible  <bruno@clisp.org>
77733
77734         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
77735         before <wchar.h>. Needed for OSF/1 and BSD/OS.
77736
77737 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77738
77739         * modules/snprintf (Depends-on): Remove minmax.
77740         (Maintainer): Add self and Bruno.
77741
77742 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77743
77744         * lib/.cppi-disable: Add snprintf.h, socket_.h.
77745         * lib/snprintf.c: Include <errno.h> and <limits.h>.
77746         (EOVERFLOW): Define if the system does not.
77747         Do not include "minmax.h"; it wasn't used.
77748         (snprintf): Don't assume size_t promotes to an unsigned type.
77749         Fix bug when generated string was too long for the buffer: the
77750         buffer's contents are supposed to be the initial prefix of the
77751         output.  Don't assume vasnprintf returns EOVERFLOW if the size
77752         exceeds INT_MAX; do the check ourselves.
77753
77754         Import the following changes from libc:
77755
77756         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
77757
77758         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
77759         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
77760         set wc to the byte which couldn't be converted.
77761         (re_string_reconstruct): Don't clear valid_raw_len before calling
77762         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
77763         tip_context using re_string_context_at.
77764
77765         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
77766
77767         * lib/posix/regex.h: g++ still cannot handled [restrict].
77768
77769         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
77770
77771         * lib/posix/regex.h: Remove special handling for VMS.
77772
77773 2006-08-10  Jim Meyering  <jim@meyering.net>
77774
77775         * modules/same-inode: New module.
77776         * modules/dev-ino: New module.
77777         * modules/cycle-check: Depend on these modules, rather than simply
77778         including their .h files.
77779         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
77780         required via m4/cycle-check.m4.
77781         * modules/same: Depend on new same-inode module, rather than
77782         including same-inode.h.
77783         * modules/chdir-safer: New file.
77784
77785         * modules/chown (Depends-on): Add stat-macros.
77786
77787 2006-08-10  Jim Meyering  <jim@meyering.net>
77788
77789         * m4/cycle-check.m4: New file.
77790         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
77791         * m4/dev-ino.m4, m4/same-inode.m4: New files.
77792
77793 2006-08-10  Eric Blake  <ebb9@byu.net>
77794
77795         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
77796         in from original proposal.
77797
77798 2006-08-10  Eric Blake  <ebb9@byu.net>
77799         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77800
77801         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
77802         namespace.
77803
77804 2006-08-10  Bruno Haible  <bruno@clisp.org>
77805
77806         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
77807         as well.
77808
77809 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77810
77811         Sync from coreutils.
77812
77813         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
77814
77815         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
77816         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
77817
77818 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77819
77820         * modules/restrict: Remove; no longer needed now that we assume
77821         Autoconf 2.59 or later.
77822         * MODULES.html.sh: Remove 'restrict'.
77823         * modules/argp (Depends-on): Remove 'restrict'.
77824         * modules/base64 (Depends-on): Likewise.
77825         * modules/gc (Depends-on): Likewise.
77826         * modules/getaddrinfo (Depends-on): Likewise.
77827         * modules/glob (Depends-on): Likewise.
77828         * modules/inet_ntop (Depends-on): Likewise.
77829         * modules/inet_pton (Depends-on): Likewise.
77830         * modules/memxor (Depends-on): Likewise.
77831         * modules/regex (Depends-on): Likewise.
77832         * modules/strtok_r (Depends-on): Likewise.
77833         * modules/time_r (Depends-on): Likewise.
77834
77835 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77836
77837         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
77838         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
77839         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77840         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
77841         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
77842         * m4/memxor.m4 (gl_MEMXOR): Likewise.
77843         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
77844         gl_C_RESTRICT replaced by AC_C_RESTRICT.
77845
77846         Merge from coreutils.
77847         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
77848         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
77849         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77850         * m4/time_r.m4 (gl_TIME_R): Likewise.
77851
77852 2006-08-09  Karl Berry  <karl@gnu.org>
77853
77854         * config/srclist.txt: no more gettext-tools, per Bruno.
77855
77856 2006-08-08  Eric Blake  <ebb9@byu.net>
77857
77858         * modules/verror: New module.
77859         * MODULES.html.sh: Document it.
77860
77861 2006-08-08  Eric Blake  <ebb9@byu.net>
77862
77863         * lib/verror.h, lib/verror.c: New files.
77864
77865 2006-08-08  Eric Blake  <ebb9@byu.net>
77866
77867         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
77868         verror_at_line output complies with GNU Coding Standards even when
77869         file is NULL.
77870
77871 2006-08-07  Bruno Haible  <bruno@clisp.org>
77872
77873         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
77874         versions of AIX.
77875         Reported by Ralf Wildenhues.
77876
77877 2006-08-07  Bruno Haible  <bruno@clisp.org>
77878
77879         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
77880         in an AC_DEFUN. Needed so that the autoconf snippets can use
77881         AC_REQUIRE.
77882
77883 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77884
77885         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77886         Initialize pkgdata_DATA.
77887         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
77888         overriding it.
77889
77890 2006-08-06  Eric Blake  <ebb9@byu.net>
77891
77892         * lib/error.h: Fold in some upstream changes from glibc.
77893         * lib/error.c: Likewise.
77894
77895 2006-08-04  Bruno Haible  <bruno@clisp.org>
77896
77897         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77898         Make the mostlyclean-local rule depend on mostlyclean-generic.
77899         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
77900
77901 2006-07-31  Bruno Haible  <bruno@clisp.org>
77902
77903         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
77904         <stdlib.h>, <string.h>.
77905
77906 2006-07-30  Bruno Haible  <bruno@clisp.org>
77907
77908         * modules/readlink (License): Change to LGPL.
77909
77910 2006-07-30  Bruno Haible  <bruno@clisp.org>
77911
77912         * modules/javaversion (Makefile.am): Distribute javaversion.java and
77913         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
77914         set PKGDATADIR to point to it.
77915
77916 2006-07-30  Bruno Haible  <bruno@clisp.org>
77917
77918         * modules/csharpexec (configure.ac): Comment out macro invocation.
77919         * modules/javaexec (configure.ac): Likewise.
77920         * modules/javacomp-script (configure.ac): Likewise.
77921
77922         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
77923
77924 2006-07-30  Bruno Haible  <bruno@clisp.org>
77925
77926         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
77927         linked-list.
77928
77929 2006-07-30  Bruno Haible  <bruno@clisp.org>
77930
77931         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
77932
77933 2006-07-30  Bruno Haible  <bruno@clisp.org>
77934
77935         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77936         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
77937         get removed.
77938
77939 2006-07-29  Bruno Haible  <bruno@clisp.org>
77940
77941         Make it possible for gnulib-tool to work with locally modified or
77942         augmented gnulib repositories.
77943         * gnulib-tool (func_usage): Document --local-dir option.
77944         (local_gnulib_dir): New variable.
77945         Handle --local-dir option.
77946         (func_lookup_file): New function.
77947         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77948         (func_get_description, func_get_filelist, func_get_description,
77949         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77950         func_get_automake_snippet, func_get_include_directive,
77951         func_get_license, func_get_maintainer): Use func_lookup_file.
77952         (func_import, func_create_testdir): Use func_lookup_file.
77953
77954 2006-07-29  Bruno Haible  <bruno@clisp.org>
77955
77956         * modules/setenv (Depends-on): Add unistd.
77957
77958 2006-07-29  Bruno Haible  <bruno@clisp.org>
77959
77960         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77961
77962 2006-07-29  Bruno Haible  <bruno@clisp.org>
77963
77964         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77965
77966 2006-07-29  Bruno Haible  <bruno@clisp.org>
77967
77968         * gnulib-tool (import, update): If there is no Makefile.am, look at
77969         aclocal.m4, instead of bailing out.
77970
77971 2006-07-29  Bruno Haible  <bruno@clisp.org>
77972
77973         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77974         Categorize the options by when they are useful.
77975
77976 2006-07-29  Bruno Haible  <bruno@clisp.org>
77977
77978         * gnulib-tool (func_usage): Document option --no-libtool.
77979         Handle option --no-libtool.
77980         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77981         for changed semantics of $libtool variable.
77982         (func_import): Likewise. If libtool is not used, show this through
77983         an option --no-libtool.
77984         (func_create_testdir): Update.
77985
77986 2006-07-29  Bruno Haible  <bruno@clisp.org>
77987
77988         * gnulib-tool (func_import): Extend error message about missing
77989         --doc-base.
77990
77991 2006-07-29  Bruno Haible  <bruno@clisp.org>
77992
77993         * gnulib-tool (func_import): Don't create the $docbase directory if
77994         there is no file to store there.
77995
77996 2006-07-29  Bruno Haible  <bruno@clisp.org>
77997
77998         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77999         relevant, look for configure.ac there, not in the current directory.
78000         Also use a simple search for AC_PREREQ, not "autoconf --trace".
78001
78002 2006-07-29  Bruno Haible  <bruno@clisp.org>
78003
78004         * gnulib-tool (SORT): New variable.
78005         (func_usage): Undocument --assume-autoconf option.
78006         Remove --assume-autoconf option handling.
78007         (autoconf_minversion): Determine from the contents of configure.ac.
78008         (func_import): Remove autoconf_minversion handling.
78009         Suggested by Eric Blake.
78010
78011 2006-07-29  Bruno Haible  <bruno@clisp.org>
78012
78013         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
78014
78015 2006-07-29  Bruno Haible  <bruno@clisp.org>
78016
78017         * config/srclist.txt (*setenv.[ch]): Remove rules.
78018
78019 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78020
78021         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
78022
78023 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78024
78025         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
78026         arpa/inet.h.
78027
78028 2006-07-28  Simon Josefsson  <jas@extundo.com>
78029
78030         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
78031         * modules/inet_pton (Depends-on): Likewise.
78032
78033 2006-07-28  Simon Josefsson  <jas@extundo.com>
78034
78035         * m4/netinet_in_h.m4: New file.
78036
78037 2006-07-28  Simon Josefsson  <jas@extundo.com>
78038
78039         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
78040         #include's.
78041
78042 2006-07-28  Simon Josefsson  <jas@extundo.com>
78043
78044         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
78045         #include's.
78046
78047 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
78048
78049         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
78050         setgid on directories only if they set these bits.
78051         * lib/modechange.h: Remove obsolete comment about masks.
78052
78053 2006-07-28  Eric Blake  <ebb9@byu.net>
78054
78055         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
78056         macro expansion.
78057
78058 2006-07-28  Bruno Haible  <bruno@clisp.org>
78059
78060         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
78061
78062 2006-07-28  Bruno Haible  <bruno@clisp.org>
78063
78064         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
78065
78066 2006-07-28  Bruno Haible  <bruno@clisp.org>
78067
78068         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78069         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78070         Define fallbacks.
78071         Avoids link error on FreeBSD 4.x.
78072         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78073
78074         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
78075         encoding.
78076         * lib/mbswidth.c (iswcntrl): Likewise.
78077
78078 2006-07-27  Bruno Haible  <bruno@clisp.org>
78079
78080         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
78081         test.
78082
78083 2006-07-27  Bruno Haible  <bruno@clisp.org>
78084
78085         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
78086         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
78087         defined.
78088
78089 2006-07-26  Eric Blake  <ebb9@byu.net>
78090
78091         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
78092
78093 2006-07-26  Eric Blake  <ebb9@byu.net>
78094
78095         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
78096         like mingw that lack mkstemp.
78097         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
78098         avoid compilation warning on mingw.
78099
78100 2006-07-26  Bruno Haible  <bruno@clisp.org>
78101
78102         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
78103         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
78104         INT_FAST*_MIN, INTPTR_MIN.
78105
78106 2006-07-25  Bruno Haible  <bruno@clisp.org>
78107
78108         * modules/version-etc (Depends-on): Add stdarg.
78109
78110 2006-07-25  Bruno Haible  <bruno@clisp.org>
78111
78112         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
78113         complex commands.
78114
78115 2006-07-25  Bruno Haible  <bruno@clisp.org>
78116
78117         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
78118         defined in <stdarg.h> or config.h.
78119
78120 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
78121
78122         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
78123         (gl_STDIO_SAFER): Remove.
78124
78125 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
78126
78127         * MODULES.html.sh (File stream based Input/Output):
78128         Add fopen-safer, tmpfile-safer; remove stdio-safer.
78129         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
78130         * modules/fopen-safer, modules/tmpfile-safer: New files.
78131         * modules/stdio-safer: Remove.
78132
78133 2006-07-24  Bruno Haible  <bruno@clisp.org>
78134
78135         * modules/tmpdir: New file.
78136         * MODULES.html.sh (File system functions): Add it.
78137
78138 2006-07-24  Bruno Haible  <bruno@clisp.org>
78139
78140         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
78141         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
78142
78143 2006-07-24  Bruno Haible  <bruno@clisp.org>
78144
78145         * modules/clean-temp: New file.
78146
78147 2006-07-24  Bruno Haible  <bruno@clisp.org>
78148
78149         * m4/tmpdir.m4: New file, from GNU gettext.
78150
78151 2006-07-24  Bruno Haible  <bruno@clisp.org>
78152
78153         * lib/tmpdir.h: New file, from GNU gettext.
78154         * lib/tmpdir.c: New file, from GNU gettext.
78155
78156 2006-07-24  Bruno Haible  <bruno@clisp.org>
78157
78158         * lib/clean-temp.h: New file, from GNU gettext.
78159         * lib/clean-temp.c: New file, from GNU gettext.
78160
78161 2006-07-23  Eric Blake  <ebb9@byu.net>
78162
78163         * modules/stdio-safer (Files): Add tmpfile-safer.c.
78164         (Depends-on): Add binary-io.
78165
78166 2006-07-23  Eric Blake  <ebb9@byu.net>
78167
78168         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
78169
78170 2006-07-23  Eric Blake  <ebb9@byu.net>
78171
78172         * lib/tmpfile-safer.c: New file.
78173         * lib/stdio-safer.h (fopen_safer): Add prototype.
78174         * lib/stdio--.h (tmpfile): Make safer.
78175
78176 2006-07-23  Bruno Haible  <bruno@clisp.org>
78177
78178         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
78179         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
78180         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
78181         gl_linked_remove_at): Use it.
78182
78183 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78184         and Simon Josefsson <jas@extundo.com>
78185
78186         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
78187
78188         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
78189
78190 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78191
78192         * modules/close-stream: New file.
78193         * modules/closeout (Description): Make it clear that it exits
78194         with a diagnostic on error.
78195         (Depends-on): Add close-stream.  Remove fpending, stdbool.
78196         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
78197
78198 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78199
78200         * m4/close-stream.m4: New file.
78201
78202 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78203
78204         * lib/close-stream.c, lib/close-stream.h: New files.
78205
78206 2006-07-22  Bruno Haible  <bruno@clisp.org>
78207
78208         Merge from GNU gettext 0.15.
78209
78210         2006-05-01  Bruno Haible  <bruno@clisp.org>
78211
78212                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
78213
78214         2006-07-22  Bruno Haible  <bruno@clisp.org>
78215
78216                 * modules/javaversion: New file.
78217                 * MODULES.html.sh (Java): Add javaversion.
78218
78219         2006-03-12  Bruno Haible  <bruno@clisp.org>
78220
78221                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
78222
78223         2005-12-04  Bruno Haible  <bruno@clisp.org>
78224
78225                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
78226                 (untested).
78227
78228         2006-06-21  Bruno Haible  <bruno@clisp.org>
78229
78230                 Avoid warnings from recent versions of mcs.
78231                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
78232                 -o, -L, -r any more. Use options documented since mcs-1.0
78233                 instead. Similarly for -g.
78234
78235         2005-12-04  Bruno Haible  <bruno@clisp.org>
78236
78237                 * build-aux/csharpcomp.sh.in: Suffix for resources is
78238                 .resources, not .resource.
78239
78240         2005-07-09  Bruno Haible  <bruno@clisp.org>
78241
78242                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
78243                 add a .dll suffix.
78244                 Reported by Mark Junker <mjscod@gmx.de>.
78245
78246         2006-07-22  Bruno Haible  <bruno@clisp.org>
78247
78248                 * modules/gettext: Upgrade to gettext-0.15.
78249                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
78250                 m4/visibility.m4.
78251                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
78252
78253 2006-07-22  Bruno Haible  <bruno@clisp.org>
78254
78255         Merge from GNU gettext 0.15.
78256
78257         2006-03-25  Bruno Haible  <bruno@clisp.org>
78258
78259                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
78260
78261         2006-07-21  Bruno Haible  <bruno@clisp.org>
78262
78263                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
78264                 "1.1".
78265
78266         2006-05-09  Bruno Haible  <bruno@clisp.org>
78267
78268                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
78269                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
78270                 for the conftestver execution.
78271
78272         2006-05-01  Bruno Haible  <bruno@clisp.org>
78273
78274                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
78275                 optional target-version argument. Verify that the compiler
78276                 groks source of the specified source-version, or add -source
78277                 option as necessary. Verify that the compiler produces
78278                 bytecode in the specified target-version, or add -target and
78279                 -source options as necessary. Make the result of the test
78280                 available as variable CONF_JAVAC. Also log error output in
78281                 config.log.
78282
78283         2006-03-11  Bruno Haible  <bruno@clisp.org>
78284
78285                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
78286
78287         2006-05-09  Bruno Haible  <bruno@clisp.org>
78288
78289                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
78290                 CLASSPATH_SEPARATOR to a semicolon.
78291
78292         2006-03-12  Bruno Haible  <bruno@clisp.org>
78293
78294                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
78295                 available as variable CONF_JAVA, for subsequent autoconf
78296                 tests. Also log error output in config.log.
78297
78298         2006-07-19  Bruno Haible  <bruno@clisp.org>
78299
78300                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
78301                 that getline works on glibc2 systems. Needed to avoid trouble
78302                 in relocatable.c.
78303                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
78304
78305         2005-12-04  Bruno Haible  <bruno@clisp.org>
78306
78307                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
78308                 launcher (untested).
78309
78310         2005-12-04  Bruno Haible  <bruno@clisp.org>
78311
78312                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
78313
78314         2006-07-22  Bruno Haible  <bruno@clisp.org>
78315
78316                 * gettext.m4: Update from GNU gettext-0.15.
78317                 * nls.m4: Likewise.
78318                 * po.m4: Likewise.
78319                 * inttypes-pri.m4: Likewise.
78320                 * inttypes-h.m4: Renamed from inttypes.m4.
78321                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
78322
78323 2006-07-22  Bruno Haible  <bruno@clisp.org>
78324
78325         Merge from GNU gettext 0.15.
78326
78327         2005-07-05  Bruno Haible  <bruno@clisp.org>
78328
78329                 * printf-args.c (printf_fetchargs): Work around broken
78330                 definition of wint_t on mingw.
78331
78332         2005-02-12  Bruno Haible  <bruno@clisp.org>
78333
78334                 * xallocsa.h: Add extern "C" for C++.
78335
78336         2006-05-17  Bruno Haible  <bruno@clisp.org>
78337
78338                 Cygwin portability.
78339                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
78340
78341         2006-04-30  Bruno Haible  <bruno@clisp.org>
78342
78343                 * progreloc.c: Include <mach-o/dyld.h> if available.
78344                 (find_executable): Use _NSGetExecutablePath when possible.
78345
78346         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
78347
78348                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
78349                 function.
78350
78351         2005-12-29  Bruno Haible  <bruno@clisp.org>
78352
78353                 * progreloc.c (set_program_name_and_installdir): Fix
78354                 compilation error.
78355
78356         2005-12-04  Bruno Haible  <bruno@clisp.org>
78357
78358                 Cygwin portability.
78359                 * progreloc.c: Include <windows.h> also on Cygwin.
78360                 (find_executable): Add support for Cygwin.
78361                 (set_program_name_and_installdir): Handle also platforms with
78362                 nonempty EXEEXT.
78363
78364         2006-07-11  Bruno Haible  <bruno@clisp.org>
78365
78366                 * javacomp.c: Fix a comment.
78367                 Reported by Jim Meyering.
78368
78369         2006-04-30  Bruno Haible  <bruno@clisp.org>
78370
78371                 * javacomp.h (compile_java_class): Add source_version,
78372                 target_version arguments.
78373                 * javacomp.c: Rewritten to choose only a compiler that
78374                 respects the specified source_version and target_version.
78375
78376         2006-06-27  Bruno Haible  <bruno@clisp.org>
78377
78378                 Assume correct S_ISDIR macro.
78379                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
78380
78381         2006-07-22  Bruno Haible  <bruno@clisp.org>
78382
78383                 * javaversion.h: New file, from GNU gettext.
78384                 * javaversion.c: New file, from GNU gettext.
78385                 * javaversion.java: New file, from GNU gettext.
78386                 * javaversion.class: New file, from GNU gettext.
78387
78388         2006-05-17  Bruno Haible  <bruno@clisp.org>
78389
78390                 Cygwin portability.
78391                 * javaexec.c (execute_java_class): Test for jview program
78392                 also on Cygwin.
78393
78394         2006-04-09  Bruno Haible  <bruno@clisp.org>
78395
78396                 * fatal-signal.c: Don't include string.h.
78397                 (at_fatal_signal): Use a copying loop instead of memcpy.
78398
78399         2005-12-04  Bruno Haible  <bruno@clisp.org>
78400
78401                 * csharpexec.c: Add support for 'clix' launcher (untested).
78402                 (execute_csharp_using_sscli): New function.
78403                 (execute_csharp_program): Call it.
78404
78405         2006-06-21  Bruno Haible  <bruno@clisp.org>
78406
78407                 Avoid warnings from recent versions of mcs.
78408                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
78409                 -o, -L, -r any more. Use options documented since mcs-1.0
78410                 instead. Similarly for -g.
78411
78412         2005-07-09  Bruno Haible  <bruno@clisp.org>
78413
78414                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
78415                 add a .dll suffix.
78416                 Reported by Mark Junker <mjscod@gmx.de>.
78417
78418         2006-06-17  Bruno Haible  <bruno@clisp.org>
78419
78420                 * config.charset: Update for NetBSD 3.0.
78421
78422         2006-05-17  Bruno Haible  <bruno@clisp.org>
78423
78424                 Cygwin portability.
78425                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
78426
78427         2006-05-16  Bruno Haible  <bruno@clisp.org>
78428
78429                 * localcharset.c [CYGWIN]: Include <windows.h>.
78430                 (get_charset_aliases): For Cygwin, return the same CPxxx
78431                 aliases list as under WIN32.
78432                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
78433                 the environment variables. Fall back to GetACP().
78434
78435         2006-04-05  Bruno Haible  <bruno@clisp.org>
78436
78437                 * config.charset: Update Juan Manuel Guerrero's address.
78438
78439         2005-02-12  Bruno Haible  <bruno@clisp.org>
78440
78441                 * allocsa.h: Add extern "C" for C++.
78442
78443         2005-02-10  Bruno Haible  <bruno@clisp.org>
78444
78445                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
78446                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
78447
78448         2006-07-22  Bruno Haible  <bruno@clisp.org>
78449
78450                 * gettext.h: Update to GNU gettext-0.15.
78451
78452 2006-07-22  Bruno Haible  <bruno@clisp.org>
78453
78454         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
78455         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
78456         lib-prefix.m4, longdouble.m4, ssize_t.m4.
78457
78458 2006-07-21  Eric Blake  <ebb9@byu.net>
78459
78460         * modules/stdlib-safer: New file.
78461         * MODULES.html.sh (File stream based Input/Output): Add
78462         stdlib-safer.
78463
78464 2006-07-21  Eric Blake  <ebb9@byu.net>
78465
78466         * lib/stdlib-safer.h: New file from coreutils, required by
78467         stdlib--.h.
78468
78469 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
78470
78471         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
78472
78473 2006-07-20  Bruno Haible  <bruno@clisp.org>
78474
78475         * gnulib-tool: Recognize new option --assume-autoconf.
78476         (autoconf_minversion): New variable.
78477         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
78478
78479 2006-07-20  Bruno Haible  <bruno@clisp.org>
78480
78481         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
78482
78483 2006-07-19  Derek R. Price  <derek@ximbiot.com>
78484
78485         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
78486         Reindent and repaginate.
78487
78488 2006-07-19  Derek Price  <derek@ximbiot.com>
78489
78490         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
78491         Correct grammar.
78492
78493 2006-07-17  Bruno Haible  <bruno@clisp.org>
78494
78495         * modules/list: New file.
78496         * modules/array-list: New file.
78497         * modules/carray-list, modules/carray-list-tests: New files.
78498         * modules/linked-list, modules/linked-list-tests: New files.
78499         * modules/avltree-list, modules/avltree-list-tests: New files.
78500         * modules/rbtree-list, modules/rbtree-list-tests: New files.
78501         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
78502         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
78503         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
78504         * modules/oset: New file.
78505         * modules/array-oset: New file.
78506         * modules/avltree-oset, modules/avltree-oset-tests: New files.
78507         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
78508         * tests/test-carray_list.c: New file.
78509         * tests/test-linked_list.c: New file.
78510         * tests/test-avltree_list.c: New file.
78511         * tests/test-rbtree_list.c: New file.
78512         * tests/test-linkedhash_list.c: New file.
78513         * tests/test-avltreehash_list.c: New file.
78514         * tests/test-rbtreehash_list.c: New file.
78515         * tests/test-avltree_oset.c: New file.
78516         * tests/test-rbtree_oset.c: New file.
78517         * MODULES.html.sh (Container data structures): New section.
78518
78519 2006-07-17  Bruno Haible  <bruno@clisp.org>
78520
78521         * m4/gl_list.m4: New file.
78522
78523 2006-07-17  Bruno Haible  <bruno@clisp.org>
78524
78525         * lib/gl_list.h: New file.
78526         * lib/gl_list.c: New file.
78527         * lib/gl_array_list.h: New file.
78528         * lib/gl_array_list.c: New file.
78529         * lib/gl_carray_list.h: New file.
78530         * lib/gl_carray_list.c: New file.
78531         * lib/gl_linked_list.h: New file.
78532         * lib/gl_linked_list.c: New file.
78533         * lib/gl_anylinked_list1.h: New file.
78534         * lib/gl_anylinked_list2.h: New file.
78535         * lib/gl_avltree_list.h: New file.
78536         * lib/gl_avltree_list.c: New file.
78537         * lib/gl_anyavltree_list1.h: New file.
78538         * lib/gl_anyavltree_list2.h: New file.
78539         * lib/gl_rbtree_list.h: New file.
78540         * lib/gl_rbtree_list.c: New file.
78541         * lib/gl_anyrbtree_list1.h: New file.
78542         * lib/gl_anyrbtree_list2.h: New file.
78543         * lib/gl_anytree_list1.h: New file.
78544         * lib/gl_anytree_list2.h: New file.
78545         * lib/gl_linkedhash_list.h: New file.
78546         * lib/gl_linkedhash_list.c: New file.
78547         * lib/gl_anyhash_list1.h: New file.
78548         * lib/gl_anyhash_list2.h: New file.
78549         * lib/gl_avltreehash_list.h: New file.
78550         * lib/gl_avltreehash_list.c: New file.
78551         * lib/gl_rbtreehash_list.h: New file.
78552         * lib/gl_rbtreehash_list.c: New file.
78553         * lib/gl_anytreehash_list1.h: New file.
78554         * lib/gl_anytreehash_list2.h: New file.
78555
78556         * lib/gl_oset.h: New file.
78557         * lib/gl_oset.c: New file.
78558         * lib/gl_array_oset.h: New file.
78559         * lib/gl_array_oset.c: New file.
78560         * lib/gl_avltree_oset.h: New file.
78561         * lib/gl_avltree_oset.c: New file.
78562         * lib/gl_rbtree_oset.h: New file.
78563         * lib/gl_rbtree_oset.c: New file.
78564         * lib/gl_anytree_oset.h: New file.
78565
78566 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78567
78568         * m4/mkancesdirs.m4: New file.
78569         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
78570         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
78571         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
78572         it.
78573
78574 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
78577         * lib/mkancesdirs.h: New files.
78578         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
78579         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
78580         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
78581         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
78582         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
78583         callers changed.  Revamp internals significantly, by not
78584         attempting to create directories that are temporarily more
78585         permissive than the final results.  Do not attempt to use
78586         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
78587         This removes some race conditions, fixes some bugs, and simplifies
78588         things.  Use new dirchownmod function to do owner and mode changes.
78589         * lib/mkdir-p.h: Likewise.
78590         * lib/modechange.c (octal_to_mode): New function.
78591         (struct mode_change): New member mentioned.
78592         (make_node_op_equals): New arg mentioned.  All callers changed.
78593         (mode_compile): Keep track of which mode bits the user has explicitly
78594         mentioned.
78595         (mode_adjust): New arg DIR, so that we implement the X op correctly.
78596         New arg PMODE_BITS, to keep track of which mode bits the user
78597         mentioned; it treats S_ISUID and S_ISGID speciall.
78598         All callers changed.
78599         * lib/modechange.h: Likewise.
78600
78601 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78602
78603         * MODULES.html.sh: Add mkancestors.
78604         * modules/mkancesdirs: New module.
78605         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
78606         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
78607         The chdir-safer and afs files are now orphans; I'll remove them
78608         unless someone speaks up.
78609         Add lib/dirchownmod.c, lib/dirchownmod.h.
78610         (Depends-on): Remove alloca, chown, save-cwd, dirname.
78611         Add lchown, mkancesdirs.
78612         (Maintainer): Add self.
78613
78614 2006-07-15  Karl Berry  <karl@gnu.org>
78615
78616         * gnulib-tool: help message wording/arrangement.
78617
78618 2006-07-14  Simon Josefsson  <jas@extundo.com>
78619
78620         * doc/gnulib.texi (Libtool and Windows): New section.
78621
78622 2006-07-12  Simon Josefsson  <jas@extundo.com>
78623
78624         * modules/gendocs (License): Fix license, approved by Karl.
78625
78626 2006-07-12  Eric Blake  <ebb9@byu.net>
78627
78628         * MODULES.html.sh: Add gendocs.
78629
78630 2006-07-11  Eric Blake  <ebb9@byu.net>
78631
78632         * modules/fdl: New module, to install doc/fdl.texi.
78633         * MODULES.html.sh: Add new section for documentation modules.
78634         * gnulib-tool: Avoid space-tab.
78635         (--doc-base): New option, to manage files from doc.
78636
78637 2006-07-11  Eric Blake  <ebb9@byu.net>
78638
78639         * m4/absolute-header.m4: Fix comments to match recent change.
78640
78641 2006-07-11  Eric Blake  <ebb9@byu.net>
78642
78643         * gnulib-tool: List --doc-base before --tests-base.
78644
78645 2006-07-11  Derek R. Price  <derek@ximbiot.com>
78646
78647         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
78648
78649 2006-07-11  Bruno Haible  <bruno@clisp.org>
78650
78651         * README: Mention where to put documentation.
78652
78653 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78654
78655         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
78656
78657 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78658
78659         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
78660         to stdint.m4.
78661
78662 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78663
78664         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
78665         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
78666         "no/such/file/stdint.h" when there is no such file, so that
78667         the resulting C code can be parsed by dodgy compilers.
78668         Problems reported by Bob Proulx.
78669
78670 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78671
78672         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
78673         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78674         macros into the GNU _D_EXACT_NAMLEN.
78675         * lib/savedir.c:  Likewise.
78676         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
78677
78678 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78679         and Paul Eggert  <eggert@cs.ucla.edu>
78680
78681         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
78682         * m4/savedir.m4:
78683         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78684         macros into the GNU _D_EXACT_NAMLEN.
78685
78686 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78687
78688         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
78689         around the absolute name, to work around a problem with the HP-UX
78690         11.23 native C compiler, reported by Bob Proulx.
78691
78692 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78693
78694         * doc/maintain.texi, make-stds.texi: Sync from
78695         <http://savannah.gnu.org/projects/gnustandards>.
78696
78697 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78698
78699         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
78700
78701 2006-07-09  Jim Meyering  <jim@meyering.net>
78702
78703         * m4/glob.m4: Remove a doubled word in a comment.
78704
78705 2006-07-09  Jim Meyering  <jim@meyering.net>
78706
78707         * lib/argp-pv.c: Remove a doubled word in a comment.
78708         * lib/check-version.c (check_version): Likewise.
78709         * lib/javacomp.c (compile_java_class): Likewise.
78710
78711 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78712
78713         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
78714         for the benefit of people using Autoconf 2.60.  If you want to
78715         support older Autoconf versions you can copy m4/onceonly_2_57.m4
78716         (or m4/onceonly.m4, if pre-2.57) manually.
78717
78718 2006-07-08  Jim Meyering  <jim@meyering.net>
78719
78720         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
78721         comment.
78722         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
78723         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
78724         comment.
78725
78726 2006-07-08  Jim Meyering  <jim@meyering.net>
78727
78728         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
78729
78730 2006-07-07  Simon Josefsson  <jas@extundo.com>
78731
78732         * tests/test-crc.c: Change expected crc value, the test vector
78733         were probably computed using the old broken crc.c?
78734
78735 2006-07-06  Simon Josefsson  <jas@extundo.com>
78736
78737         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
78738         now the canonical place for the M4 file).
78739
78740         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
78741         from the sys_socket dependency now.
78742
78743         * modules/inet_pton (Files): Ditto.
78744
78745         * modules/inet_ntop (Files): Ditto.
78746
78747 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78748
78749         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
78750         not gl_PREREQ_GETUSERSHELL.
78751
78752 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78753
78754         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
78755         with only one argument, for Autoconf 2.60.
78756         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
78757         expand to nothing, so add a shell command to avoid syntax error.
78758         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78759
78760 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78761
78762         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
78763
78764 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78765
78766         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
78767         no longer needed.  Check for isblank decl.
78768         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
78769         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
78770         of existence.
78771
78772 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * lib/getloadavg.c: Use __VMS, not VMS.
78775         * lib/getopt.c: Likewise.
78776         * lib/getpagesize.h: Likewise.
78777         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
78778         and probably does not work.
78779
78780 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78781
78782         * lib/.cppi-disable: Add wcwidth.
78783         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
78784         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
78785         (ISGRAPH): Remove.  All uses changed to isgraph.
78786         (FOLD) [!defined _LIBC]: Remove special case.
78787         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
78788         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
78789         HAVE_ISBLANK.
78790         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
78791         case.
78792
78793 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78794
78795         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
78796         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
78797         brackets.  Other minor changes to suppress some compiler
78798         warnings.
78799
78800 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78801         and Paul Eggert  <eggert@cs.ucla.edu>
78802
78803         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
78804         of invoking obsolescent AC_HEADER_DIRENT macro.
78805         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
78806         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
78807         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
78808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
78809         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
78810         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78811         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
78812         * m4/readdir.m4: Remove; no longer needed.
78813
78814 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78815         and Paul Eggert  <eggert@cs.ucla.edu>
78816
78817         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
78818         Don't worry about this obsolete case any more.
78819         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
78820         directories.
78821         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
78822         worry about this obsolete case any more.
78823         * lib/fts.c: Likewise.
78824         * lib/getcwd.c: Likewise.
78825         * lib/glob.h: Likewise.
78826         * lib/savedir.c: Likewise.
78827
78828 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78829
78830         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
78831         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
78832         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
78833         needed.
78834         All uses removed.
78835         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78836         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78837         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
78838         needed.
78839         * m4/getdate.m4 (gl_GETDATE): Likewise.
78840         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78841         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78842         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78843         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78844         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78845         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78846         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
78847         needed.
78848
78849 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78850
78851         * lib/memcasecmp.c: Include <limits.h>.
78852         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
78853         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
78854         Don't assume isdigit succeeds only on '0' through '9'.
78855
78856 2006-07-05  Eric Blake  <ebb9@byu.net>
78857
78858         * modules/getaddrinfo (Depends-on): Add snprintf.
78859
78860 2006-07-05  Eric Blake  <ebb9@byu.net>
78861
78862         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
78863         to avoid 'header present but could not be compiled' on cygwin.
78864
78865 2006-07-05  Eric Blake  <ebb9@byu.net>
78866
78867         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
78868         missing from netdb.h.
78869         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
78870
78871 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78872
78873         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
78874         no longer needed.
78875         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
78876         * m4/getdate.m4 (gl_GETDATE): Likewise.
78877         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78878         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78879         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78880         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78881         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78882
78883 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78884
78885         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
78886         All uses of is_space replaced by isspace.
78887         * lib/exit.h: Don't talk about STDC_HEADERS.
78888         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
78889         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
78890         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
78891         replaced by isprint etc.
78892         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
78893         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78894         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
78895         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
78896         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
78897         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78898
78899 2006-07-05  Bruno Haible  <bruno@clisp.org>
78900
78901         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
78902         the function exists, before testing against AIX.
78903         Reported by Martin Lambers <marlam@marlam.de>.
78904
78905 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78906
78907         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
78908         From Mark D. Baushke.
78909
78910 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78911
78912         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
78913         to the absolute name, not just one, to bypass Sun C 5.8's
78914         "warning: #include of /usr/include/... may be non-portable".
78915
78916 2006-07-04  Eric Blake  <ebb9@byu.net>
78917
78918         * modules/dirname-tests: New test module.
78919         * tests/test-dirname.c: New file, replacing dirname.c
78920         TEST_DIRNAME section that was recently deleted.
78921
78922 2006-07-04  Bruno Haible  <bruno@clisp.org>
78923
78924         Assume ANSI C header files and <ctype.h> functions.
78925         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
78926         (mbsnwidth): Use isprint, iscntrl instead.
78927
78928 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78929
78930         Merge from coreutils.
78931         * MODULES.html.sh: Add xstrtold.
78932         * modules/xstrtold: New file.
78933         * modules/cycle-check (Files): Add lib/same-inode.h.
78934         * modules/dirname (Files): Add m4/double-slash-root.m4.
78935         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
78936         * modules/mkdir-p (Files): Add lib/same-inode.h.
78937         * modules/same (Files): Add lib/same-inode.h.
78938
78939 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78940
78941         * m4/absolute-header.m4: Renamed from full-header-path.m4.
78942         This is to keep the terminology clean; POSIX talks about
78943         "absolute pathnames", not "full pathnames", but the GNU
78944         Coding Standards say to use "path" for something else;
78945         so use "absolute" to keep both sides happy.
78946         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78947         Set gl_absolute_header, not gl_full_header_path.
78948         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78949         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78950         All uses changed.
78951
78952         Merge from coreutils.
78953
78954         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78955
78956         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78957         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78958         want to require the building of c-strtod.o.
78959         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78960         needs -lm directly.
78961         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78962
78963         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78964
78965         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78966         --as-needed option if available.  Problem reported by Albert Chin in
78967         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78968         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78969         cc merely issues a bunch of annoying warnings for --as-needed
78970         (this problem was reported by Bob Proulx).  Also, try linking with
78971         -lm to detect a bug in binutils 2.16 (this problem was reported
78972         by Ralf Wildenhues).
78973
78974         2006-06-18  Jim Meyering  <jim@meyering.net>
78975
78976         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78977         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78978         macro.
78979         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78980         also check for glibc-2.4's abort-inducing bug.
78981
78982         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78983         Low-probability clean-up should be to use rmdir to get rid of
78984         the just-created directory, not unlink.
78985
78986         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78987         configure fail, and request a bug report to inform us about it.
78988         Add a comment that, barring reports to the contrary, in 2007 we'll
78989         assume ftruncate is universally available.
78990
78991         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78992
78993         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78994
78995         2006-03-12  Jim Meyering  <jim@meyering.net>
78996
78997         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78998         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78999         * m4/same.m4 (gl_SAME): Likewise.
79000         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
79001
79002         2006-03-11  Eric Blake  <ebb9@byu.net>
79003
79004         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
79005         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
79006         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
79007         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
79008
79009 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79010
79011         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
79012         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
79013         reported by Mark D. Baushke, one in
79014         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
79015
79016         Merge from coreutils.
79017
79018         * lib/.cppi-disable: Add stdint_.h.
79019         * lib/.cvsignore: Add stdint.h.
79020
79021         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
79022
79023         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
79024         both double and long double versions.
79025         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
79026         * lib/xstrtold.c: New file.
79027         * lib/xstrtod.h (xstrtold): New decl.
79028
79029         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79030
79031         * lib/filemode.c (setst): Remove.
79032         (strmode): Rewrite to avoid setst.  This makes the code shorter,
79033         (arguably) clearer, and the generated code is a bit smaller on my
79034         Debian GNU/Linux stable x86 host.
79035
79036         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
79037
79038         * lib/filemode.c: Include "filemode.h" first, to test the interface.
79039         Assume that filemode.h includes sys/types.h and sys/stat.h.
79040         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
79041         (ftypelet): Reorder to put common cases first, for efficiency.
79042         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
79043         to do 'M'.
79044         (strmode): Renamed from mode_string, and now stores 12 bytes instead
79045         of 10, for compatibility with FreeBSD.  All callers changed.
79046         (filemodestring): Now stores 12 bytes instead of 10, and sets file
79047         types that can't be deduced solely from st_mode.  First arg is now a
79048         const pointer.
79049         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
79050         (strmode): Renamed from mode_string.
79051         (filemodestring): New decl.
79052         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
79053         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
79054         needed.
79055         (S_ISPORT, S_ISWHT): New macros, if not already defined.
79056
79057         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79058
79059         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
79060         fsusage.h now does that.  Include fsusage.h first, to test interface.
79061         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
79062         at most one method (the old code could have generated decls that
79063         didn't conform to C89, not that this was ever exercised).
79064         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
79065
79066         2006-03-19  Jim Meyering  <jim@meyering.net>
79067
79068         Work even in a chroot where d_ino values for entries in "/"
79069         don't match the stat.st_ino values for the same names.
79070         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
79071         number, iterate through all entries again, using lstat instead.
79072         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
79073         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
79074
79075         * lib/getcwd.c (__getcwd): Clarify a comment.
79076         Use memcpy in place of a call to strcpy.
79077
79078         2006-03-12  Jim Meyering  <jim@meyering.net>
79079
79080         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
79081         matches that of the current directory (which we're about to chdir ".."
79082         out of), then save the dev-ino of the parent, instead.
79083
79084         * lib/same-inode.h (SAME_INODE): New file/macro.
79085         * lib/chdir-safer.c (SAME_INODE): Remove definition.
79086         Include "same-inode.h", instead.
79087         * lib/same.c: Likewise.
79088         * lib/cycle-check.h: Include "same-inode.h".
79089         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
79090         * lib/cycle-check.c (SAME_INODE): Remove definition.
79091         * lib/root-dev-ino.h: Include "same-inode.h".
79092
79093         2006-03-11  Eric Blake  <ebb9@byu.net>
79094
79095         * lib/same.c (same_name): s/base_name/last_component/
79096         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
79097         * lib/filenamecat.c (file_name_concat): Likewise.
79098
79099         2006-03-11  Eric Blake  <ebb9@byu.net>,
79100                     Paul Eggert  <eggert@cs.ucla.edu>
79101
79102         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
79103         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
79104         drive prefix.
79105         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
79106         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
79107         (last_component): New method.
79108         * lib/dirname.c (dir_len): Determine when drive letters need a
79109         subsequent slash.  Preserve // when it is special.
79110         (dir_name): Don't append dot when drive letter is absolute.
79111         [TEST_DIRNAME]: Move into a full-blown gnulib test.
79112         * lib/basename.c (base_name): New semantics - malloc the result.
79113         Preserve // when it is special.  Preserve relative files that look
79114         like drive letters.
79115         (base_len): Preserve // when it is special.
79116         (last_component): New method, similar to old base_name semantics.
79117         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
79118         base_name.  Strip redundant slashes from ///.
79119
79120 2006-07-03  Jim Meyering  <jim@meyering.net>
79121
79122         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
79123         macro is used before the first cycle_check call.
79124
79125 2006-07-03  Eric Blake  <ebb9@byu.net>
79126
79127         * modules/dirname (Depends-on): Add xstrndup.
79128
79129 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
79130
79131         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
79132         test cases, so that config.log is a bit easier to follow.
79133
79134 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
79135
79136         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
79137         both are 64 bits, since this seems to be the tradition, and this
79138         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
79139         we ever run into a host that prefers long long to long in this
79140         case, we'll need another configure-time test.  Problem reported by
79141         Jim Meyering.
79142
79143 2006-07-02  Eric Blake  <ebb9@byu.net>
79144
79145         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
79146
79147 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79148
79149         * modules/inttypes (Depends-on): No longer depends on stdint.
79150         * modules/stdint (Description): Say more about assumptions.
79151         Say that the fast types might differ.  Say macros are used.
79152         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
79153         (Makefile.am): Revise list of substituted symbols to match
79154         new stdint.m4.
79155         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
79156         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
79157         * tests/test-stdint.c (verify_same_types)
79158         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
79159         the code conforms to C99/C89.
79160         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
79161         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
79162
79163 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79164
79165         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
79166         but fix a bug, by requiring at least 64 bits.
79167         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
79168         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
79169         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
79170         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79171
79172         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
79173         changes.  Make 2.59 a prerequisite.  Check and substitute for
79174         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
79175         inttypes.h.  Do not use special include files; just use the
79176         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
79177         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
79178         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
79179         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
79180         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
79181         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
79182         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
79183         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
79184         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
79185         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
79186         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
79187         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
79188         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
79189         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
79190         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
79191         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
79192         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
79193         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
79194         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
79195         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
79196         WINT_MAX.  Check for C99 conformance more strictly, by detecting
79197         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
79198         not check for things that C99 does not require, e.g., int8_t.  If
79199         a test isn't needed unless <stdint.h> isn't working, and is
79200         unlikely to be needed for any other reason, then don't do it
79201         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
79202         size_t, since we assume C89 freestanding at least.  Do not check
79203         for sig_atomic_t, wchar_t, or wint_t, since the code now does
79204         the right thing even if the types are not defined.  Instead use:
79205         (gl_STDINT_TYPE_PROPERTIES): New macro.
79206         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
79207         testing whether <sys/types.h> clashes, as Autoconf does this for
79208         us now.  All uses removed.
79209         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
79210         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
79211         (gl_CHECK_TYPE_SAME):
79212         Remove; no longer needed.
79213         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
79214         exists, since we'll return 0 anyway in that case.
79215         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
79216
79217 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79218
79219         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
79220         possible collision with system files.
79221         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
79222         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
79223         WCHAR_MIN and WCHAR_MAX in this case.
79224         (<stddef.h>): Do not include; no longer needed.
79225         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
79226         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
79227         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
79228         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
79229         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
79230         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
79231         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
79232         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
79233         !defined(__c99))]: Include in this case too, since it's harmless
79234         now.
79235         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
79236         dangerous to do so.
79237         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
79238         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
79239         (_STDINT_MIN, _STDINT_MAX): New macros.
79240         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
79241         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
79242         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
79243         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
79244         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
79245         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
79246         macros, not typedefs; this simplifies things quite a bit.
79247         Use long int for all types narrower than int64_t.
79248         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
79249         Define in terms of long long int or int64_t or long int,
79250         not int64_t or int32_t.  This saves some compile-time testing.
79251         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
79252         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
79253         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
79254         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
79255         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
79256         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
79257         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
79258         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
79259         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
79260         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
79261         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
79262         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
79263         undef any previous version and define our own version, for
79264         simplicity and consistency with the new macros for types.
79265         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
79266         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
79267         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
79268         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
79269         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
79270         @WINT_T_SUFFIX@ to keep things simple here.
79271         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
79272         Simplify by assuming typical 8/16/32/64 host, since we're
79273         already doing that elsewhere anyway.
79274         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
79275         and assume long long int is 64 bits if available.  This
79276         speeds up 'configure'.
79277
79278 2006-07-01  Eric Blake  <ebb9@byu.net>
79279
79280         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
79281         Reported by Andreas Buening.
79282
79283 2006-07-01  Eric Blake  <ebb9@byu.net>
79284
79285         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
79286
79287 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
79288
79289         * lib/getaddrinfo.c: fixed typo
79290
79291 2006-06-29  Jim Meyering  <jim@meyering.net>
79292
79293         * modules/strftime (Maintainer): Add my name, since with the
79294         FPRINTFTIME changes strftime.c has forked from glibc.
79295
79296 2006-06-29  Eric Blake  <ebb9@byu.net>
79297
79298         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
79299
79300 2006-06-29  Eric Blake  <ebb9@byu.net>
79301
79302         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
79303
79304 2006-06-29  Eric Blake  <ebb9@byu.net>
79305
79306         * lib/stat_.h: New file.
79307
79308 2006-06-29  Eric Blake  <ebb9@byu.net>
79309
79310         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
79311         unused static function.
79312
79313 2006-06-29  Eric Blake  <ebb9@byu.net>
79314
79315         * doc/functions.texi (Function Portability): Document missing lstat
79316         on mingw.
79317
79318 2006-06-29  Eric Blake  <ebb9@byu.net>
79319
79320         * MODULES.html.sh: Add sys_stat.
79321         * modules/sys_stat: New module.
79322         * modules/mkstemp (Depends-on): Add sys_stat.
79323
79324 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79325
79326         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
79327
79328 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79329
79330         * m4/c-bs-a.m4: Removed.
79331
79332 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79333
79334         * lib/strftime.c: Assume strftime() exists.
79335
79336 2006-06-29  Derek Price  <derek@ximbiot.com>
79337
79338         * modules/c-bs-a: Removed - \a is C89.
79339         * MODULES.html.sh: Remove c-bs-a.
79340
79341 2006-06-29  Bruno Haible  <bruno@clisp.org>
79342
79343         * modules/wcwidth (License): Change to LGPL.
79344
79345 2006-06-28  Simon Josefsson  <jas@extundo.com>
79346
79347         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
79348         on _WIN32.
79349
79350         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
79351         getnameinfo.
79352
79353 2006-06-28  Simon Josefsson  <jas@extundo.com>
79354
79355         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
79356
79357 2006-06-28  Simon Josefsson  <jas@extundo.com>
79358
79359         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
79360         functions there.  It will succeed on Windows XP, but on Windows
79361         2000 and (presumably) earlier, it will fail, and use the internal
79362         re-implementation.
79363         (use_win32_p): New function.
79364         (getaddrinfo): Use strtoul on servname, to support numeric ports.
79365         Support AI_NUMERICSERV to disable getservbyname.
79366         (getnameinfo): New function, only supports
79367         NI_NUMERICHOST|NI_NUMERICSERV for now.
79368
79369         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
79370         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
79371         getnameinfo.
79372
79373 2006-06-28  Eric Blake  <ebb9@byu.net>
79374
79375         * modules/wcwidth: New file.
79376         * modules/mbchar (Depends-on): Add wcwidth.
79377         * modules/mbswidth (Depends-on): Add wcwidth.
79378         * MODULES.html.sh: Add wcwidth.
79379
79380 2006-06-28  Eric Blake  <ebb9@byu.net>
79381
79382         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
79383         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
79384
79385 2006-06-28  Eric Blake  <ebb9@byu.net>
79386
79387         * lib/xvasprintf.h: Fix comments.
79388
79389 2006-06-28  Eric Blake  <ebb9@byu.net>
79390
79391         * lib/mbchar.h (wcwidth): Include wcwidth.h.
79392         * lib/mbswidth.c (wcwidth): Move from here...
79393         * lib/wcwidth.h: ...to this new file.
79394
79395 2006-06-28  Derek R. Price  <derek@ximbiot.com>
79396
79397         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
79398
79399         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
79400         it's obsolete.
79401         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
79402
79403 2006-06-28  Derek R. Price  <derek@ximbiot.com>
79404
79405         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
79406         Autoconf 2.60 says this stuff was obsolete.
79407
79408 2006-06-28  Bruno Haible  <bruno@clisp.org>
79409
79410         * modules/wcwidth (Files): Add m4/wchar_t.m4.
79411
79412 2006-06-28  Bruno Haible  <bruno@clisp.org>
79413
79414         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
79415         gt_TYPE_WCHAR_T.
79416
79417 2006-06-28  Bruno Haible  <bruno@clisp.org>
79418
79419         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
79420         declaration for wcwidth.
79421         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
79422
79423 2006-06-28  Bruno Haible  <bruno@clisp.org>
79424
79425         * lib/mkdtemp.c [MINGW]: Include <io.h>.
79426         (mkdir): Define using _mkdir.
79427
79428 2006-06-28  Bruno Haible  <bruno@clisp.org>
79429
79430         * lib/getaddrinfo.h: Fix POSIX URL.
79431         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
79432         _WIN32.
79433         (use_win32_p): Make static.
79434         (getaddrinfo): Reject service name if it is empty or does not consist
79435         solely of decimal digits, or if its value is > 65535.
79436         (getnameinfo): Remove useless casts.
79437
79438 2006-06-27  Simon Josefsson  <jas@extundo.com>
79439
79440         * modules/sys_select: New file, suggested by Bruno Haible, Paul
79441         Eggert and Martin Lambers.
79442
79443 2006-06-27  Simon Josefsson  <jas@extundo.com>
79444
79445         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
79446         Eggert and Martin Lambers.
79447
79448 2006-06-27  Bruno Haible  <bruno@clisp.org>
79449
79450         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
79451         result to 0, not to empty.
79452         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
79453
79454 2006-06-27  Bruno Haible  <bruno@clisp.org>
79455
79456         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
79457
79458 2006-06-26  Simon Josefsson  <jas@extundo.com>
79459
79460         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
79461         present.
79462
79463 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
79466         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
79467         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
79468
79469 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
79470
79471         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
79472
79473 2006-06-26  Bruno Haible  <bruno@clisp.org>
79474
79475         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
79476
79477 2006-06-26  Bruno Haible  <bruno@clisp.org>
79478
79479         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
79480
79481 2006-06-26  Bruno Haible  <bruno@clisp.org>
79482
79483         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
79484         SGI C compiler in pre-C99 mode.
79485         Suggested by Mark D. Baushke and Larry Jones.
79486
79487 2006-06-26  Bruno Haible  <bruno@clisp.org>
79488
79489         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
79490         WCHAR_MAX.
79491         Reported by Mark D. Baushke and Larry Jones.
79492
79493 2006-06-26  Bruno Haible  <bruno@clisp.org>
79494
79495         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
79496         in pre-C99 mode.
79497         Suggested by Mark D. Baushke and Larry Jones.
79498
79499 2006-06-23  Simon Josefsson  <jas@extundo.com>
79500             Bruno Haible  <bruno@clisp.org>
79501
79502         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
79503         Emit mostlyclean-local rule.
79504         (func_emit_tests_Makefile_am): Likewise.
79505         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
79506
79507 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
79508
79509         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
79510
79511 2006-06-23  Bruno Haible  <bruno@clisp.org>
79512
79513         * tests/test-stdint.c: Update to match ISO C 99 Technical
79514         Corrigendum 1.
79515
79516 2006-06-23  Bruno Haible  <bruno@clisp.org>
79517
79518         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
79519
79520 2006-06-23  Bruno Haible  <bruno@clisp.org>
79521
79522         * lib/stdint_.h: Treat IRIX like OpenBSD.
79523
79524 2006-06-23  Bruno Haible  <bruno@clisp.org>
79525
79526         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
79527         ISO C 99 Technical Corrigendum 1.
79528
79529 2006-06-22  Simon Josefsson  <jas@extundo.com>
79530
79531         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
79532         MinGW.
79533
79534 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79535
79536         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
79537         needed.  Some compiler complained about some of them.  Problem reported
79538         by Larry Jones in
79539         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
79540
79541 2006-06-21  Simon Josefsson  <jas@extundo.com>
79542
79543         * tests/test-getaddrinfo.c: New file.
79544
79545         * modules/getaddrinfo-tests: New file.
79546
79547         * MODULES.html.sh: Add inet_pton.
79548
79549         * modules/inet_pton: New file.
79550
79551 2006-06-21  Simon Josefsson  <jas@extundo.com>
79552
79553         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
79554         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
79555         of using the (limited) gnulib implementation on Windows XP.
79556
79557         * m4/inet_pton.m4: New file.
79558
79559 2006-06-21  Simon Josefsson  <jas@extundo.com>
79560
79561         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
79562         variable.
79563
79564         * lib/socket_.h: Don't define WINVER.
79565
79566         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
79567         slightly modified to work in gnulib.
79568
79569 2006-06-21  Simon Josefsson  <jas@extundo.com>
79570
79571         * doc/gnulib.texi (Windows sockets): Add.
79572
79573 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
79574
79575         * lib/read-file.c (fread_file): Start with buffer allocation of
79576         0 bytes rather than 1 byte; this simplifies the code.
79577         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
79578         code to free buffer and save/restore errno.
79579         (internal_read_file): Remove unused local.
79580
79581 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
79582
79583         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
79584         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
79585         Problem reported by Denis Excoffier in
79586         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
79587
79588 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79589
79590         * modules/sys_socket, modules/socklen: Include sys/types since
79591         FreeBSD 4.x's sys/socket.h needs it.
79592
79593 2006-06-19  Simon Josefsson  <jas@extundo.com>
79594
79595         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
79596
79597 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
79598
79599         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
79600
79601 2006-06-19  Bruno Haible  <bruno@clisp.org>
79602
79603         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
79604         and FULL_PATH_INTTYPES_H in angle brackets.
79605         Reported by Mark D. Baushke <mdb@gnu.org>.
79606
79607 2006-06-17  Eric Blake  <ebb9@byu.net>
79608
79609         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
79610         errno.
79611
79612 2006-06-17  Bruno Haible  <bruno@clisp.org>
79613
79614         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
79615         <sys/inttypes.h>.
79616
79617 2006-06-17  Bruno Haible  <bruno@clisp.org>
79618
79619         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
79620         whether errno is declared. Assume <errno.h> declares errno.
79621
79622 2006-06-17  Bruno Haible  <bruno@clisp.org>
79623
79624         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
79625
79626 2006-06-17  Bruno Haible  <bruno@clisp.org>
79627
79628         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
79629         problem on Solaris 2.5.1.
79630
79631 2006-06-16  Eric Blake  <ebb9@byu.net>
79632
79633         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
79634         * lib/unicodeio.c [!defined errno]: Likewise.
79635         * lib/strtol.c [!defined errno]: Likewise.
79636         * lib/strtod.c [!defined errno]: Likewise.
79637
79638 2006-06-15  Eric Blake  <ebb9@byu.net>
79639
79640         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
79641
79642 2006-06-15  Eric Blake  <ebb9@byu.net>
79643
79644         * config/srclist.txt (ssize_t.m4): Lose sync.
79645
79646 2006-06-15  Bruno Haible  <bruno@clisp.org>
79647
79648         * modules/stdint (Files): Include m4/full-header-path.m4,
79649         m4/size_max.m4, m4/wchar_t.m4.
79650         (Makefile.am): Many more substitutions.
79651         * modules/stdint-tests: New file.
79652         * tests/test-stdint.c: New file.
79653
79654 2006-06-15  Bruno Haible  <bruno@clisp.org>
79655
79656         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
79657         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
79658         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
79659         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
79660         gl_CHECK_TYPE_SAME): New macros.
79661
79662 2006-06-15  Bruno Haible  <bruno@clisp.org>
79663
79664         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
79665
79666 2006-06-15  Bruno Haible  <bruno@clisp.org>
79667
79668         * lib/stdint_.h: Rewritten to be fully auto-configured.
79669         Fixes bug on HP-UX/IA64.
79670
79671 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         * lib/getdate.y (__attribute__): Don't define if already defined.
79674         Problem reported by Larry Jones.
79675         * lib/utimens.c (__attribute__): Likewise.
79676
79677 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
79678
79679         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
79680         reported by Andreas Schwab.
79681
79682 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79683             Bruno Haible  <bruno@clisp.org>
79684
79685         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
79686         check for the declaration of strnlen and a run test that exposes the
79687         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
79688         rpl_strndup.
79689
79690 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79691             Bruno Haible  <bruno@clisp.org>
79692
79693         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
79694
79695 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79696
79697         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
79698         compile test, for Tru64 4.0D.
79699
79700 2006-05-28  Karl Berry  <karl@gnu.org>
79701
79702         * config/srclist.txt (printf-args.c): lose sync.
79703
79704 2006-05-26  Martin Lambers  <marlam@marlam.de>
79705
79706         * lib/getpass.c: Updates the test for the native W32 API, and adds
79707         missing includes, thus fixing compilation warnings.
79708
79709 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79710
79711         * lib/exclude.c (exclude_fnmatch): New function.
79712         (excluded_file_name): Call exclude_fnmatch.
79713         * lib/exclude.h (excluded_file_name): New prototype
79714
79715 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
79716
79717         * lib/tempname.c (small_open, large_open): New macros.
79718         (__open, __open64) [!_LIBC]: Remove.
79719         (__gen_tempname): Use small_open and large_open instead of __open
79720         and __open64.  This fixes a portability bug on HP-UX 11.11i
79721         reported by Simon Wing-Tang in
79722         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
79723
79724 2006-05-24  Bruno Haible  <bruno@clisp.org>
79725
79726         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
79727         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
79728         Reported by Thorsten Maerz <torte@netztorte.de> via
79729         Aaron Stone <aaron@serendipity.cx>.
79730
79731 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79732
79733         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
79734         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
79735         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
79736         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
79737         not really conditional on the cache.
79738         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
79739
79740 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79741
79742         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
79743         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
79744         (my_usleep): Don't mishandle maximum value.
79745
79746 2006-05-19  Jim Meyering  <jim@meyering.net>
79747
79748         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
79749
79750 2006-05-17  Bruno Haible  <bruno@clisp.org>
79751
79752         Cygwin portability.
79753         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
79754
79755 2006-05-17  Bruno Haible  <bruno@clisp.org>
79756
79757         * lib/stdint_.h: Fix recognition of Cygwin.
79758
79759 2006-05-15  Bruno Haible  <bruno@clisp.org>
79760
79761         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
79762         on libtool patch by Ralf Wildenhues.
79763
79764 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79765
79766         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
79767         test for C99 conformance; (bool) 0.5 is an integer constant
79768         expression, but (bool) -0.5 is not.  Problem reported by Fedor
79769         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
79770
79771 2006-05-11  Simon Josefsson  <jas@extundo.com>
79772
79773         * m4/xvasprintf.m4: Fix obvious typo.
79774
79775 2006-05-11  Jim Meyering  <jim@meyering.net>
79776
79777         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
79778         James Lemley.
79779
79780 2006-05-10  Simon Josefsson  <jas@extundo.com>
79781
79782         * lib/md4.c: Typo fix, update copyright years.
79783         (K1, K2): Don't use L because it turn computations into 64-bit on
79784         64-bit platforms.
79785
79786 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
79787
79788         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
79789         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
79790         unwanted sign propagation, e.g., on hosts with 64-bit int.
79791         There still are some problems with reeelly weird theoretical hosts
79792         (e.g., 33-bit int) but it's not worth worrying about now.
79793         * lib/sha1.c (rol): Likewise.
79794         (K1, K2, K3, K4): Remove unnecessary L suffix.
79795
79796 2006-05-10  Bruno Haible  <bruno@clisp.org>
79797
79798         * lib/des.c: Cast to avoid warnings.
79799
79800 2006-05-09  Bruno Haible  <bruno@clisp.org>
79801
79802         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
79803         (Depends-on): Depend also on xsize, stdarg.
79804         (configure.ac): Add gl_XVASPRINTF.
79805
79806 2006-05-09  Bruno Haible  <bruno@clisp.org>
79807
79808         * m4/xvasprintf.m4: New file.
79809
79810 2006-05-09  Bruno Haible  <bruno@clisp.org>
79811
79812         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
79813         (EOVERFLOW): Define fallback value.
79814         (xstrcat): New function.
79815         (xvasprintf): Recognize the special case of a string concatenation.
79816
79817 2006-05-08  Eric Blake  <ebb9@byu.net>
79818
79819         * gnulib-tool (func_version): Base copyright year on CVS date.
79820         (func_emit_copyright_notice): New function.
79821         (func_emit_lib_Makefile_am): Use it.
79822         (func_emit_tests_Makefile_am): Likewise.
79823         (func_import): Likewise.
79824
79825 2006-05-08  Bruno Haible  <bruno@clisp.org>
79826
79827         * modules/stdarg: New file.
79828         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
79829
79830 2006-05-08  Bruno Haible  <bruno@clisp.org>
79831
79832         * m4/stdarg.m4: New file, from GNU gettext.
79833
79834 2006-05-08  Bruno Haible  <bruno@clisp.org>
79835
79836         * config/srclist.txt (build-aux/config.rpath): different from latest
79837         release.
79838
79839 2006-05-08  Bruno Haible  <bruno@clisp.org>
79840
79841         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
79842
79843 2006-05-05  Jim Meyering  <jim@meyering.net>
79844
79845         * m4/warning.m4: New file, derived from bison's file by the same name.
79846
79847 2006-05-03  Bruno Haible  <bruno@clisp.org>
79848
79849         * lib/stdint_.h: Shorter URL.
79850         * lib/inttypes.h: Likewise.
79851
79852 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79853
79854         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
79855
79856 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79857
79858         * lib/verify.h: Document the internals better.  Most of this change
79859         was written by Bruno Haible.
79860
79861 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79862
79863         * doc/verify.texi: New file, partly based on a proposal by
79864         Bruno Haible.
79865
79866 2006-05-02  Bruno Haible  <bruno@clisp.org>
79867
79868         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
79869         test from here...
79870         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
79871
79872 2006-04-29  Bruno Haible  <bruno@clisp.org>
79873
79874         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
79875         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
79876
79877 2006-04-29  Bruno Haible  <bruno@clisp.org>
79878
79879         * gnulib-tool: Make --update option actually work.
79880
79881 2006-04-29  Bruno Haible  <bruno@clisp.org>
79882
79883         * doc/gcd.texi: New file.
79884         * doc/gnulib.texi: Include it.
79885
79886 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
79887
79888         * lib/getdate.y (get_date): When adding relative date, start with the
79889         initial time, not with the result of the first mktime call.
79890
79891 2006-04-25  Bruno Haible  <bruno@clisp.org>
79892
79893         * gnulib-tool (func_import): Output the include directives in three
79894         blocks, sorted separately.
79895         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79896
79897 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79898
79899         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
79900         to define main with arguments, for C++.  Reported by Eric Blake.
79901         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
79902         Prefer 'int main ()' to 'int main (void)', for C++.
79903         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
79904         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
79905         for 'main', for C99 and C++.
79906
79907 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79908
79909         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
79910         Don't assume that exit status -1 is valid.
79911         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79912         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
79913         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
79914         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
79915         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
79916         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
79917         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
79918         functions can be used without declaring them, or that you can
79919         exit with status -1.
79920         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
79921
79922 2006-04-24  Karl Berry  <karl@gnu.org>
79923
79924         * config/srclist.txt (longdouble.m4): sync lost.
79925
79926 2006-04-24  Eric Blake  <ebb9@byu.net>
79927
79928         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
79929
79930 2006-04-24  Bruno Haible  <bruno@clisp.org>
79931
79932         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
79933         poll() implementation in AIX.
79934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79935
79936 2006-04-24  Bruno Haible  <bruno@clisp.org>
79937
79938         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
79939         assigned exactly once.
79940
79941 2006-04-23  Claudio Fontana  <claudio@gnu.org>
79942             Bruno Haible  <bruno@clisp.org>
79943
79944         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79945         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79946         for AM_CPPFLAGS.
79947
79948 2006-04-23  Bruno Haible  <bruno@clisp.org>
79949
79950         * modules/copy-file: Depend on unistd.
79951         * modules/execute: Likewise.
79952         * modules/fatal-signal: Likewise.
79953         * modules/findprog: Likewise.
79954         * modules/mkdtemp : Likewise.
79955         * modules/pipe: Likewise.
79956         * modules/wait-process: Likewise.
79957
79958 2006-04-23  Bruno Haible  <bruno@clisp.org>
79959
79960         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79961         condition was already detected.
79962         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79963
79964 2006-04-23  Bruno Haible  <bruno@clisp.org>
79965
79966         * lib/copy-file.c: Include <unistd.h> unconditionally.
79967         * lib/execute.c: Likewise.
79968         * lib/fatal-signal.c: Likewise.
79969         * lib/findprog.c: Likewise.
79970         * lib/mkdtemp.c: Likewise.
79971         * lib/pipe.h: Likewise.
79972         * lib/pipe.c: Likewise.
79973         * lib/wait-process.h: Likewise.
79974
79975 2006-04-23  Bruno Haible  <bruno@clisp.org>
79976
79977         * gnulib-tool (func_usage): Fix --import description. Document
79978         --update.
79979         (func_import): Create temporary file in a temporary directory, if
79980         --dry-run is specified. Silence errors from 'grep' when there are no
79981         m4 files in $m4dir.
79982         (func_create_testdir): Silence errors from 'grep' when there are no
79983         m4 files in $m4dir.
79984         Reported by Karl Berry <karl@freefriends.org>.
79985
79986 2006-04-20  Bruno Haible  <bruno@clisp.org>
79987
79988         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79989         one argument, so that the code will be portable to Autoconf 2.60.
79990         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79991         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79992         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79993
79994 2006-04-19  Derek Price  <derek@ximbiot.com>
79995             Eric Blake  <ebb9@byu.net>
79996
79997         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79998         rather than "/full/path.h".  Update comment to match.  Shorten &
79999         generalize m4_translit call via AS_TR_CPP.
80000
80001 2006-04-19  Derek Price  <derek@ximbiot.com>
80002             Eric Blake  <ebb9@byu.net>
80003
80004         * lib/inttypes.h: Correct grammar in comment.
80005
80006 2006-04-18  Derek Price  <derek@ximbiot.com>
80007             Paul Eggert  <eggert@cs.ucla.edu>
80008
80009         * modules/inttypes: New file.
80010         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
80011
80012 2006-04-18  Derek Price  <derek@ximbiot.com>
80013             Paul Eggert  <eggert@cs.ucla.edu>
80014
80015         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
80016         New files.
80017
80018 2006-04-18  Derek Price  <derek@ximbiot.com>
80019             Paul Eggert  <eggert@cs.ucla.edu>
80020
80021         * lib/inttypes.h: New file.
80022         * lib/strtoimax.c: Assume <inttypes.h>.
80023
80024 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
80025
80026         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
80027         isn't mounted.  Problem reported by Kir Kolyshkin.
80028
80029 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80030
80031         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
80032         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
80033         Derek R. Price.
80034         * lib/regex.h (RE_DUP_MAX): Update comment to match current
80035         implementation.
80036
80037 2006-04-12  Eric Blake  <ebb9@byu.net>
80038
80039         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
80040         is now done automatically by the corresponding Autoconf macro.
80041
80042 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
80043
80044         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
80045         time_r.h.
80046
80047 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80048
80049         Merge regex changes from libc, removing some of our
80050         POSIX-conformance changes that were rejected and redoing them in a
80051         less-intrusive way.
80052
80053         * lib/regcomp.c (re_compile_internal, init_dfa):
80054         Length arg is now size_t, not Idx.  All uses changed.
80055         (peek_token): Forward decl now says internal_function.
80056         (__re_error_msgid, __re_error_msgid_idx):
80057         Now static rather than extern with attribute_hidden.
80058         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
80059         For some reason libc prefers K&R style defns for external functions.
80060         (regerror) [!defined _LIBC]: Likewise.
80061         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
80062         (seek_collating_symbol_entry, lookup_collation_sequence_value):
80063         (build_range_exp, build_collating_symbol):
80064         Use K&R-style defn.
80065         (re_compile_fastmap): Use '\0' to memset, not 0.
80066         (utf8_sb_map): Make the calculations more obvious.
80067         (init_dfa, parse_bracket_exp, build_charclass_op):
80068         Call calloc and cast result, as glibc does.
80069         (init_word_char, fetch_token, peek_token, peek_token_bracket):
80070         (build_range_exp, build_collating_symbol):
80071         Now internal functions.
80072
80073         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
80074
80075         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
80076         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
80077         Don't depend on VMS; depend on __VMS instead, for POSIX
80078         namespace cleanness.
80079         (regoff_t): Define to ssize_t, not long int.
80080
80081         Remove the REG_ macros named below.  Instead, make the old names
80082         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
80083         __USE_GNU_REGEX.
80084         (REG_BACKSLASH_ESCAPE_IN_LISTS):
80085         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
80086         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
80087         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
80088         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
80089         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
80090         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
80091         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
80092         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
80093         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
80094         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
80095         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
80096         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
80097         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
80098         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
80099         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
80100         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
80101         (REG_NREGS):
80102         Remove.  All uses replaced by the old RE_* names.
80103         (RE_BACKSLASH_ESCAPE_IN_LISTS):
80104         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
80105         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
80106         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
80107         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
80108         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
80109         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
80110         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
80111         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
80112         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
80113         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
80114         Don't bother having these macros be independent of each others'
80115         values, since they no longer exist in the POSIX name space.
80116
80117         Rename the following member names back to their old names,
80118         unless !__USE_GNU_REGEX.  All uses changed back.
80119         (buffer): Renamed from re_buffer.
80120         (allocated): Renamed from re_allocated.
80121         (used): Renamed from re_used.
80122         (syntax): Renamed from re_syntax.
80123         (fastmap): Renamed from re_fastmap.
80124         (translate): Renamed from re_translate.
80125         (can_be_null): Renamed from re_can_be_null.
80126         (regs_allocated): Renamed from re_regs_allocated.
80127         (fastmap_accurate): Renamed from re_fastmap_accurate.
80128         (no_sub): Renamed from re_no_sub.
80129         (not_bol): Renamed from re_not_bol.
80130         (not_eol): Renamed from re_not_eol.
80131         (newline_anchor): Renamed from re_newline_anchor.
80132         (num_regs): Renamed from rm_num_regs.
80133         (start): Renamed from rm_start.
80134         (end): Renamed from rm_end.
80135
80136         (free_state): Move up a bit.
80137
80138         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
80139         #define to be empty.
80140         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
80141         when that is what is intended.
80142         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
80143         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
80144         (MAX): New macro.
80145         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
80146         All uses changed back to re_malloc, etc.  It's now the caller's
80147         responsibility to check for overflow; all callers changed.
80148         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
80149         (re_x2nrealloc): Remove.
80150         (free_state): Remove decl.
80151
80152         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
80153         (re_set_registers, re_exec):
80154         Use K&R-style defn.
80155
80156         2006-01-31  Roland McGrath  <roland@redhat.com>
80157
80158         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
80159         Reported by Mike Frysinger <vapier@gentoo.org>.
80160
80161         2006-01-15  Andreas Jaeger  <aj@suse.de>
80162
80163         [BZ #1950]
80164         * lib/regex_internal.c (re_string_reconstruct): Adjust for
80165         build_wcs_upper_buffer change.
80166         (build_wcs_upper_buffer): Change return type.
80167
80168         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
80169
80170         * lib/regex_internal.h: Include <stdint.h> if available.
80171
80172         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
80173
80174         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
80175
80176         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
80177
80178         * lib/regcomp.c: Adjust for changed secondary hash function.
80179
80180         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
80181
80182         * lib/regex.h: Pretty printing.
80183         Clean up namespace a bit.
80184
80185         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
80186
80187         * lib/regexec.c (update_cur_sifted_state, check_arrival,
80188         check_arrival_add_next_nodes): Avoid using uninitialized variable.
80189
80190         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80191                     Ulrich Drepper  <drepper@redhat.com>
80192
80193         [BZ #1302]
80194         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
80195         changed.
80196         (bitset_word_t): Renamed from bitset_word.  All uses changed.
80197
80198         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
80199
80200         [BZ #281]
80201         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
80202         * lib/regcomp.c: Remove unnecessary uses of
80203         unsigned RE_TRANSLATE_TYPE.
80204         * lib/regex_internal.h: Likewise.
80205         * lib/regex_internal.c: Likewise.
80206         * lib/regexec.c: Likewise.
80207         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
80208
80209         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
80210
80211         * lib/regexec.c (find_recover_state): Remove unnecessary
80212         initialization.
80213         (transit_state_bkref): Make DFA a const pointer.
80214         (get_subexp): Likewise.
80215         (check_arrival): Likewise.
80216         (update_cur_sifted_state): Likewise.
80217         (re_search_internal): Likewise.
80218         (prune_impossible_nodes): Likewise.
80219         (acquire_init_state_context): Likewise.
80220         (proceed_next_node): Likewise.
80221         (set_regs): Likewise.
80222         (free_fail_stack_return): Likewise.
80223         (check_arrival_expand_ecl): Mark DFA parameter as const.
80224         (check_arrival_expand_ecl_sub): Likewise.
80225         (check_subexp_limits): Likewise.
80226         (sub_epsilon_src_nodes):  Likewise.
80227         (add_epsilon_src_nodes):  Likewise.
80228         (merge_state_array): Likewise.
80229         (update_regs): Likewise.
80230         (build_trtable): Likewise.
80231         (sift_states_backward): Mark MCTX parameter as const.
80232         (build_sifted_states): Likewise.
80233         (update_cur_sifted_state): Likewise.
80234         (sift_states_mkref): Likewise.
80235         (check_arrival_expand_ecl): Mark eclosure as const.
80236         (check_dst_limits_calc_pos_1): Likewise.
80237         * lib/regex_internal.h (re_match_context_t): Make dfa a const
80238         pointer.
80239
80240         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
80241
80242         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
80243         (transit_state_sb): Likewise.
80244         (transit_state_mb): Likewise.
80245         (sift_states_iter_mb): Likewise.
80246         (check_arrival_add_next_nodes): Likewise.
80247         (check_node_accept_bytes): Change first parameter to pointer-to-const.
80248         [_LIBC] (re_search_2_stub): Use mempcpy.
80249
80250         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
80251         mbrtowc for very simple UTF-8 case.
80252
80253         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
80254         a pointer-to-const.
80255         (re_acquire_state_context): Likewise.
80256         * lib/regex_internal.h: Adjust prototypes.
80257
80258         * lib/regex.c: Prevent using C++ compilers.
80259
80260         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
80261         (re_acquire_state_context): Likewise.
80262
80263 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80264
80265         * modules/regex (Depends-on): Add ssize_t.
80266
80267 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80268
80269         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
80270         translation table.
80271
80272 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80273
80274         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
80275
80276 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
80277             Bruno Haible  <bruno@clisp.org>
80278
80279         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
80280         <sys/types.h> and <inttypes.h>.
80281
80282 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80283
80284         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
80285         `__error_t_defined', so argp.h will not typedef the former.
80286
80287 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
80288
80289         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
80290         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
80291         glibc names.  Even if glibc is changed to conform to POSIX, the
80292         traditional names will be available anyway, since regex depends on
80293         the extensions module.  Also, fix a longstanding typo in the
80294         implementation of Spencer ERE test #75 from grep 2.3.  Problems
80295         reported by Emanuele Giaquinta.  Also, change sense of cached
80296         variable, so that the message makes sense.
80297
80298 2006-03-24  Simon Josefsson  <jas@extundo.com>
80299
80300         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
80301         including some doc fixes.
80302         (base64_encode_alloc): Fix +1 bug on allocation failures.
80303
80304 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80305
80306         * lib/base64.c (base64_encode): Do not read past end of array with
80307         unsanitized input on systems with CHAR_BIT > 8.
80308
80309 2006-03-24  Eric Blake  <ebb9@byu.net>
80310
80311         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
80312
80313 2006-03-22  Karl Berry  <karl@gnu.org>
80314
80315         * config/srclist.txt (*setenv.[ch]): get from coreutils.
80316         * config/srclistvars.sh (COREUTILS): new var.
80317
80318 2006-03-17  Jim Meyering  <jim@meyering.net>
80319
80320         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
80321         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
80322
80323 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
80324
80325         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
80326         no longer needs it.  Instead, check that regoff_t is as least
80327         as wide as ptrdiff_t.
80328
80329         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
80330         so that our regex.h stays compatible with the installed regex.
80331         This is helpful for installers who configure --without-included-regex.
80332         Problem reported by Emanuele Giaquinta.
80333
80334 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
80335
80336         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
80337         Typedef to long int, not to off_, as POSIX will likely change
80338         in that direction.
80339
80340 2006-03-15  Eric Blake  <ebb9@byu.net>
80341
80342         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
80343
80344 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80345
80346         * lib/argp-help.c (validate_uparams): Fix typo
80347         * lib/argp-parse.c (argp_default_options): Consistently begin help
80348         messages with a lowercase letter.
80349
80350 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
80351
80352         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
80353         overrun buffers and shouldn't be used (much as gets shouldn't be
80354         used).
80355         * lib/time_r.c (asctime_r, ctime_r): Likewise.
80356
80357 2006-03-08  Simon Josefsson  <jas@extundo.com>
80358
80359         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
80360         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80361
80362 2006-03-08  Simon Josefsson  <jas@extundo.com>
80363
80364         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
80365         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80366
80367 2006-03-08  Simon Josefsson  <jas@extundo.com>
80368
80369         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
80370         signal that configure disabled the device.
80371
80372 2006-03-08  Simon Josefsson  <jas@extundo.com>
80373
80374         * build-aux/maint.mk: Fix refresh-po, to handle no translated
80375         languages.
80376
80377 2006-03-07  Simon Josefsson  <jas@extundo.com>
80378
80379         * modules/getopt (Depends-on): Add unistd.
80380
80381         * modules/unistd: New file.
80382
80383 2006-03-07  Simon Josefsson  <jas@extundo.com>
80384
80385         * modules/gc-random: New file.
80386
80387 2006-03-07  Simon Josefsson  <jas@extundo.com>
80388
80389         * m4/unistd_h.m4: New file.
80390
80391 2006-03-07  Simon Josefsson  <jas@extundo.com>
80392
80393         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
80394         test to be side-effect free by storing the result in the cache
80395         variable gl_cv_lib_readline, and moving the assignment of
80396         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
80397         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80398
80399 2006-03-07  Simon Josefsson  <jas@extundo.com>
80400
80401         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
80402         error on missing devices (the functions will return an error).
80403
80404         * m4/gc.m4: Move random stuff to gc-random.m4
80405
80406 2006-03-07  Simon Josefsson  <jas@extundo.com>
80407
80408         * lib/unistd_.h: New file.
80409
80410 2006-03-07  Simon Josefsson  <jas@extundo.com>
80411
80412         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
80413
80414 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
80415
80416         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
80417         Problem reported by Juan Manuel Guerrero.
80418
80419 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
80420
80421         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
80422         the unistd module.
80423         * lib/getlogin_r.c: Likewise.
80424         * lib/getlogin_r.h: Likewise.
80425         * lib/glob.c: Likewise.
80426         * lib/pagealign_alloc.c: Likewise.
80427         * lib/unistd_.h: Remove; no longer needed.
80428
80429 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
80430
80431         * MODULES.html.sh (Support for systems lacking POSIX:2001):
80432         Add unistd.
80433         * modules/c-stack (Depends-on): Add unistd.
80434         * modules/getlogin_r: Likewise.
80435         * modules/glob: Likewise.
80436         * modules/pagealign_alloc: Likewise.
80437         * modules/unistd (Files): Remove lib/unistd_.h.
80438         (EXTRA_DIST): Remove.
80439         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
80440         need unistd_.h.
80441         (MOSTLYCLEANFILES): Remove unistd.h-t.
80442
80443 2006-03-03  Simon Josefsson  <jas@extundo.com>
80444
80445         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
80446
80447 2006-03-03  Simon Josefsson  <jas@extundo.com>
80448
80449         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
80450         libidn and bison.
80451
80452 2006-03-03  Simon Josefsson  <jas@extundo.com>
80453
80454         * build-aux/maint.mk: Add indent target.
80455
80456 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
80457
80458         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
80459         our replacement poll.h in any case, to avoid a differing
80460         declaration from a system header.  Seen on AIX.
80461
80462 2006-03-01  Simon Josefsson  <jas@extundo.com>
80463
80464         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
80465         <kasal@ucw.cz>.
80466
80467 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80468
80469         * modules/gettime (Depends-on): Add extensions module.
80470         * modules/nanosleep (Depends-on): Likewise.
80471         * modules/settime (Depends-on): Likewise.
80472
80473 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80474
80475         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
80476         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
80477         pedantically.
80478         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80479         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
80480
80481         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
80482         not "==".  Reported by Ralf Wildenhues.
80483
80484 2006-03-01  Karl Berry  <karl@gnu.org>
80485
80486         * doc/Copyright/request-*: new files, synced from gnuorg.
80487
80488 2006-03-01  Karl Berry  <karl@gnu.org>
80489
80490         * config/srclist.txt (Copyright/*): new entries.
80491
80492 2006-02-28  Simon Josefsson  <jas@extundo.com>
80493
80494         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
80495
80496 2006-02-27  Simon Josefsson  <jas@extundo.com>
80497
80498         * lib/base64.h: Indent #define's.  From Jim Meyering
80499         <jim@meyering.net>.
80500
80501 2006-02-27  Jim Meyering  <jim@meyering.net>
80502
80503         Revert the change of 2006-02-24, so these files can continue
80504         to be sync'd from gettext.
80505         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
80506         of `config.h'.
80507
80508 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80509
80510         * modules/intprops: New file.
80511         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
80512         Add intprops.
80513         * modules/getloadavg (Files): Remove lib/intprops.h.
80514         (Depends-on): Add intprops.
80515         * modules/human: Likewise.
80516         * modules/inttostr: Likewise.
80517         * modules/openat: Likewise.
80518         * modules/sig2str: Likewise.
80519         * modules/userspec: Likewise.
80520         * modules/utimecmp: Likewise.
80521         * modules/xnanosleep: Likewise.
80522         * modules/xstrtol: Likewise.
80523
80524 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
80525
80526         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
80527         * modules/lock-tests (TESTS): Use $(EXEEXT).
80528         * modules/tls-tests: Likewise.
80529         * modules/argp-tests: Likewise.
80530         (check_PROGRAMS): New var, replacing...
80531         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
80532
80533 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80534
80535         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
80536         `config.h'.
80537
80538 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
80539
80540         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
80541
80542 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80543
80544         Sync from coreutils.
80545         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
80546         gl_CHDIR_SAFER.
80547
80548 2006-02-22  Jim Meyering  <jim@meyering.net>
80549
80550         Sync from coreutils.
80551         * m4/chdir-safer.m4: New file.
80552
80553 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
80556         AT_FDCWD exceeds INT_MAX.
80557         * lib/openat.h (AT_FDCWD): Likewise.
80558
80559 2006-02-17  Eric Blake  <address@hidden>
80560
80561         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
80562
80563 2006-02-16  Simon Josefsson  <jas@extundo.com>
80564
80565         * modules/getaddrinfo (Depends-on): Add sys_socket.
80566
80567 2006-02-15  Simon Josefsson  <jas@extundo.com>
80568
80569         * build-aux/maint.mk: Add dsyntax-check rule.
80570
80571 2006-02-15  Eric Blake  <ebb9@byu.net>
80572
80573         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
80574         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
80575         'present but cannot compile' warnings on cygwin.
80576         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
80577         use ws2tcpip.h if sys/socket.h works.
80578         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
80579         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
80580
80581 2006-02-14  Simon Josefsson  <jas@extundo.com>
80582
80583         * modules/maintainer-makefile (Files): Rename.
80584
80585         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
80586         and (the local) Makefile.cfg to maint-cfg.mk.
80587
80588         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
80589         to the latter.
80590
80591         * modules/maintainer-makefile: New module.
80592
80593         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
80594         severaly stripped to make it possible to build it up from scratch
80595         with reliable tests.
80596
80597         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
80598         fixes to permit overriding the default actions when configure and
80599         makefile are not available.
80600
80601 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
80602
80603         Sync from coreutils.
80604         * modules/lstat (Depends-on): Don't depend on xalloc.
80605         (License): Change from GPL to LGPL, since this is now simply a
80606         replacement for a libc function.
80607
80608 2006-02-14  Jim Meyering  <jim@meyering.net>
80609
80610         Sync from coreutils.
80611
80612         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
80613         failure on deficient systems, and simplify gnulib lgpl dependencies.
80614         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
80615         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
80616
80617         * lib/xalloc-die.c: Remove unused definition of N_.
80618
80619 2006-02-14  Jim Meyering  <jim@meyering.net>
80620
80621         Sync from coreutils.
80622         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
80623         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
80624         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
80625         double-quote uses of that variable, to accommodate the rare case in
80626         which getmntent is available in none of the libraries checked.  This
80627         happens at least on FreeBSD 5.0.
80628
80629 2006-02-13  Simon Josefsson  <jas@extundo.com>
80630
80631         * gnulib-tool (Usage): Fix --import, from
80632         karl@freefriends.org (Karl Berry).
80633
80634 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80635
80636         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
80637
80638 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
80639
80640         * lib/argp-namefrob.h: Restore changes accidentally lost during the
80641         "autoupdate" on 2005-12-12.
80642
80643 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80644
80645         * modules/closeout (Depends-on): Remove atexit.
80646
80647 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80648
80649         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
80650         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
80651
80652 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
80653
80654         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
80655         __EXTENSIONS__ if this causes compilation to fail.  Problem
80656         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
80657         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
80658
80659 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
80660
80661         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
80662         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
80663         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
80664         All uses changed.
80665
80666 2006-01-26  Simon Josefsson  <jas@extundo.com>
80667
80668         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
80669         prototype is visible on mingw32.
80670
80671         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
80672         for mingw32.
80673
80674         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
80675         mingw32).
80676
80677 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
80678
80679         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
80680         attempt to open for write; this always fails, at least on POSIX
80681         hosts.  This reinstates the 2006-01-09 change, which was
80682         inadvertently removed.
80683
80684 2006-01-26  Bruno Haible  <bruno@clisp.org>
80685
80686         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
80687         Reported by Paul Eggert.
80688
80689 2006-01-26  Bruno Haible  <bruno@clisp.org>
80690             Paul Eggert  <eggert@cs.ucla.edu>
80691
80692         * lib/stdbool_.h (_Bool)
80693         [(! (defined __cplusplus || defined __BEOS__)
80694           && !defined __GNUC__
80695           && !(defined __HP_cc || defined __xlc__
80696                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
80697                || defined __sgi))]:
80698         #define to signed char in these cases too; this simplifies
80699         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
80700         etc., separately) and makes it more conservative.
80701
80702 2006-01-25  Simon Josefsson  <jas@extundo.com>
80703
80704         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
80705         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
80706         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
80707
80708 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80709
80710         * lib/argp-namefrob.h: Bugfix. Remove stray #
80711
80712 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80713
80714         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
80715         so that we test the test.
80716         Check for yet another HP-UX cc bug involving *bool |= bool.
80717
80718 2006-01-25  Karl Berry  <karl@gnu.org>
80719
80720         * config/srclist.txt (vasnprintf.c): sync lost.
80721
80722 2006-01-25  Jim Meyering  <jim@meyering.net>
80723
80724         Sync from the stable (b5) branch of coreutils:
80725
80726         * lib/fts.c (fts_children): Don't let close() clobber errno from
80727         failed fchdir().
80728
80729         * lib/fts.c (fts_stat): When following a symlink-to-directory,
80730         don't necessarily interpret stat-fails+lstat-succeeds as indicating
80731         a dangling symlink.  That can also happen at least for ELOOP.
80732         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
80733         FYI, this bug predates the inclusion of fts.c in coreutils.
80734
80735         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
80736         in their own block, so pre-c99 compilers don't object.
80737
80738         Avoid the double-free (first in fts_read, second in fts_close) that
80739         would occur when an `active' directory is made inaccessible (e.g.,
80740         via chmod a-x) during a traversal.
80741         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80742         before returning.  Reproduce this failure by
80743         mkdir -p a/b; cd a; chmod a-x . b
80744         Reported by Stavros Passas.
80745
80746 2006-01-25  Jim Meyering  <jim@meyering.net>
80747
80748         * lib/fileblocks.c: Remove more useless parentheses.
80749         * lib/readutmp.h: Likewise.
80750
80751 2006-01-25  Bruno Haible  <bruno@clisp.org>
80752
80753         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
80754         warnings.
80755         Reported by Paul Eggert.
80756
80757 2006-01-25  Bruno Haible  <bruno@clisp.org>
80758
80759         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
80760         rid of a trap command. For Solaris sh.
80761         Reported by Mark D. Baushke <mdb@gnu.org>.
80762
80763 2006-01-24  Simon Josefsson  <jas@extundo.com>
80764
80765         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
80766         Bruno.
80767
80768 2006-01-24  Karl Berry  <karl@gnu.org>
80769
80770         * config/srclist.txt (argp-namefrob.h): sync lost.
80771
80772 2006-01-24  Jim Meyering  <jim@meyering.net>
80773
80774         * modules/openat (Files): Add lib/intprops.h.
80775         From Mark D. Baushke.
80776
80777 2006-01-24  Jim Meyering  <jim@meyering.net>
80778
80779         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
80780         Reported by Mark D. Baushke.
80781
80782 2006-01-24  Jim Meyering  <jim@meyering.net>
80783
80784         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
80785
80786 2006-01-24  Bruno Haible  <bruno@clisp.org>
80787
80788         * modules/strnlen (Maintainer): Change from glibc to all.
80789
80790 2006-01-24  Bruno Haible  <bruno@clisp.org>
80791
80792         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
80793         Patch by Paul Eggert.
80794
80795 2006-01-24  Bruno Haible  <bruno@clisp.org>
80796
80797         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
80798         already has it.
80799         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
80800         2005-11-26.
80801
80802         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
80803         'signed char' to avoid problems with the built-in _Bool type.
80804         Reported by Paul Eggert on 2005-11-26.
80805
80806 2006-01-24  Bruno Haible  <bruno@clisp.org>
80807
80808         * gnulib-tool (func_import): Avoid constructing complicated sed
80809         expressions inside backquote.
80810         Report and solution by Mark D. Baushke <mdb@gnu.org>.
80811
80812 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
80813
80814         These changes imported from libc.
80815         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
80816         test and two separate function calls.
80817         * lib/strndup.c (__strndup): Add libc_hidden_def.
80818
80819 2006-01-23  Simon Josefsson  <jas@extundo.com>
80820
80821         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
80822         Remove the test_*_SOURCES variable: automake infers it by default.
80823         * modules/tls-tests: Likewise.
80824
80825 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         Work around porting bugs reported by Dieter in
80828         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
80829         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
80830         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
80831         Include "getopt.h" first, to check interface.
80832         (getenv): Declare only if defined HAVE_DECL_GETENV &&
80833         !HAVE_DECL_GETENV.
80834         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
80835         (__strndup): Revert to K&R-style function dfns, the glibc style.
80836         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
80837         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
80838         Include strnlen.h first, to get prototype properly.
80839         (strnlen): Renamed from __strnlen.
80840         Remove weak alias.
80841
80842 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80843
80844         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
80845
80846 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80847
80848         * config/srclist.txt: Adjust to reflect glibc reorganization.
80849         This affects only comments.
80850
80851 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80852
80853          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
80854          Reported by Bruce Korb <bkorb@gnu.org>.
80855
80856 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
80857
80858         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
80859         to pacify gcc -Wswitch-default.
80860
80861 2006-01-22  Bruno Haible  <bruno@clisp.org>
80862
80863         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
80864         temporary buffer for sprintf, take into account the precision also
80865         for 'd', 'i', 'u', 'o', 'x', 'X'.
80866
80867 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80868
80869         * modules/argp-tests: New module
80870         * tests/test-argp.c: New file
80871         * tests/test-argp-2.sh: New file
80872
80873 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80874
80875         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
80876         (__argp_base_name): Removed
80877         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
80878         typo.
80879         (__argp_base_name): Provide macro definition or extern declaration
80880         depending on the configuration
80881
80882 2006-01-20  Simon Josefsson  <jas@extundo.com>
80883
80884         * modules/inet_ntop (Depends-on): Depend on sys_socket.
80885
80886 2006-01-20  Simon Josefsson  <jas@extundo.com>
80887
80888         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
80889
80890 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80891
80892         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
80893         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
80894         Suggested by Bruno Haible.
80895
80896 2006-01-20  Karl Berry  <karl@gnu.org>
80897
80898         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
80899         until changes propagate, I guess.
80900
80901 2006-01-19  Simon Josefsson  <jas@extundo.com>
80902
80903         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
80904
80905 2006-01-19  Simon Josefsson  <jas@extundo.com>
80906
80907         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
80908
80909 2006-01-19  Simon Josefsson  <jas@extundo.com>
80910
80911         * gnulib-tool: Set check_PROGRAMS.
80912
80913         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80914         modules/des-tests, modules/gc-arcfour-tests,
80915         modules/gc-arctwo-tests, modules/gc-des-tests,
80916         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80917         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80918         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80919         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80920         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80921         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
80922         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
80923         test_*_SOURCES.
80924
80925 2006-01-18  Simon Josefsson  <jas@extundo.com>
80926
80927         * modules/socklen (Depends-on): Depend on sys_socket.
80928
80929 2006-01-18  Simon Josefsson  <jas@extundo.com>
80930
80931         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80932         modules/des-tests, modules/gc-arcfour-tests,
80933         modules/gc-arctwo-tests, modules/gc-des-tests,
80934         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80935         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80936         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80937         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80938         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80939         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
80940         $(EXEEXT) to automake TESTS variable, for mingw32.
80941
80942 2006-01-17  Simon Josefsson  <jas@extundo.com>
80943
80944         * modules/socklen (Include): Need sys/socket.h.
80945
80946 2006-01-17  Bruno Haible  <bruno@clisp.org>
80947
80948         * modules/ssize_t (Include): Add <sys/types.h>.
80949
80950 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80951
80952         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80953         it's not portable and it doesn't work with cross-compiles.
80954         Problem reported by Bruno Haible.  Fix missing-$ typo in
80955         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80956         -zignore from being used with Sun's C compiler.
80957
80958 2006-01-12  Simon Josefsson  <jas@extundo.com>
80959
80960         * lib/base64.c: Fix warning, reported by Bruno Haible
80961         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80962
80963 2006-01-12  Bruno Haible  <bruno@clisp.org>
80964
80965         * modules/ldd: New file.
80966         * build-aux/ldd.sh.in: New file.
80967         * MODULES.html.sh (Support for building libraries and executables): Add
80968         ldd.
80969
80970 2006-01-12  Bruno Haible  <bruno@clisp.org>
80971
80972         * m4/ldd.m4: New file.
80973
80974 2006-01-12  Bruno Haible  <bruno@clisp.org>
80975
80976         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80977         endless loop while replacing $auxdir with build-aux.
80978
80979 2006-01-11  Simon Josefsson  <jas@extundo.com>
80980
80981         * lib/stdint_.h (SIZE_MAX): Add missing (.
80982
80983 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80984
80985         Sync from coreutils.
80986         * lib/md5.c: Fix commentary typos.
80987         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80988         * lib/md5.h (__attribute__): Remove; unused.
80989         * lib/sha1.c: Fix commentary to match md5 better.
80990         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80991         so that we don't need to worry about alignment.  All uses changed.
80992         This merges the 2005-10-28 md5 change into sha1.
80993
80994 2006-01-11  Jim Meyering  <jim@meyering.net>
80995
80996         Sync from coreutils.
80997         * lib/md5.c (OP): Fix spacing.
80998
80999 2006-01-11  Bruno Haible  <bruno@clisp.org>
81000
81001         Ensure automatic ordering between gl_LOCK and gl_ARGP.
81002         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
81003         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
81004
81005 2006-01-11  Bruno Haible  <bruno@clisp.org>
81006
81007         Ensure automatic ordering between gl_LOCK and gl_ARGP.
81008         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
81009         the "early" section as well.
81010
81011 2006-01-11  Bruno Haible  <bruno@clisp.org>
81012
81013         Avoid "ar: no archive members specified" error on MacOS X.
81014         * gnulib-tool (func_modules_add_dummy): New function.
81015         (func_import, func_create_testdir): Invoke it.
81016
81017 2006-01-11  Bruno Haible  <bruno@clisp.org>
81018
81019         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
81020         with $auxdir in AC_CONFIG_FILES statements.
81021
81022 2006-01-11  Bruno Haible  <bruno@clisp.org>
81023
81024         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
81025         Initialize also noinst_HEADERS to empty.
81026
81027 2006-01-11  Bruno Haible  <bruno@clisp.org>
81028
81029         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
81030         variables.
81031         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
81032         autoreconf.
81033
81034 2006-01-11  Bruno Haible  <bruno@clisp.org>
81035
81036         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
81037         overridable by the user.
81038         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81039
81040 2006-01-10  Simon Josefsson  <jas@extundo.com>
81041
81042         * modules/sys_socket: New file.
81043
81044 2006-01-10  Simon Josefsson  <jas@extundo.com>
81045
81046         * m4/sys_socket_h.m4: New file.
81047
81048 2006-01-10  Simon Josefsson  <jas@extundo.com>
81049
81050         * lib/socket_.h: New file.
81051
81052 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81053
81054         * modules/readutmp (Maintainer): Add myself.
81055
81056 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81057
81058         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
81059         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
81060         People who are still concerned with buggy memcmp implementations
81061         can invoke gl_FUNC_MEMCMP themselves.
81062
81063 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81064
81065         * lib/regex_internal.h (BITSET_WORD_BITS):
81066         Work around a bug in 64-bit PGC (before version 6.1-2), where the
81067         preprocessor mishandles large unsigned values as if they were signed.
81068         Problem reported by Claudio Fontana in
81069         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
81070
81071 2006-01-10  Jim Meyering  <jim@meyering.net>
81072
81073         Avoid the double-free (first in fts_read, second in fts_close) that
81074         would occur when an `active' directory is made inaccessible (e.g.,
81075         via chmod a-x) during a traversal.
81076         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
81077         before returning.  Reproduce this failure by
81078         mkdir -p a/b; cd a; chmod a-x . b
81079         Reported by Stavros Passas.
81080
81081         Sync from coreutils.
81082         * lib/sha1.c: Tweak grammar in a comment.
81083
81084 2006-01-10  Jim Meyering  <jim@meyering.net>
81085
81086         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
81087         Patch by Joerg Sonnenberger.
81088
81089 2006-01-10  Bruno Haible  <bruno@clisp.org>
81090
81091         * modules/readutmp: Depend on module free.
81092         * modules/strtok_r: Depend on module restrict.
81093
81094 2006-01-10  Bruno Haible  <bruno@clisp.org>
81095
81096         * modules/gettext (configure.ac): Add an invocation of
81097         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
81098
81099 2006-01-10  Bruno Haible  <bruno@clisp.org>
81100
81101         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
81102         Reported by Werner Lemberg <wl@gnu.org>.
81103
81104 2006-01-10  Bruno Haible  <bruno@clisp.org>
81105
81106         * lib/localcharset.c: Update from GNU gettext.
81107
81108 2006-01-10  Bruno Haible  <bruno@clisp.org>
81109
81110         * lib/argp.h (__const): Remove macro. Use const instead.
81111         * lib/argp-fmtstream.h (__const): Likewise.
81112         * lib/glob_.h (__const): Remove macro.
81113         * lib/glob-libc.h: Use const instead of __const.
81114
81115 2006-01-10  Bruno Haible  <bruno@clisp.org>
81116
81117         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
81118         variable.
81119         Needed to avoid an automake error regarding the 'gettext' module.
81120
81121 2006-01-09  Simon Josefsson  <jas@extundo.com>
81122
81123         * modules/inet_ntop (Depends-on): Add restrict.
81124
81125 2006-01-09  Simon Josefsson  <jas@extundo.com>
81126
81127         * modules/gc-rijndael-tests (License): Put under LGPL.
81128
81129         * modules/gc-des-tests (License): Likewise.
81130
81131         * modules/gc-arcfour-tests (License): Likewise.
81132
81133         * modules/gc-arctwo-tests (License): Likewise.
81134
81135         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
81136
81137         * modules/gc-hmac-sha1-tests (Files): Likewise.
81138
81139         * modules/gc-hmac-md5-tests (License): Likewise.
81140
81141         * modules/gc-sha1-tests (License): Likewise.
81142
81143         * modules/gc-md5-tests (License): Likewise.
81144
81145         * modules/gc-md4-tests (License): Likewise.
81146
81147         * modules/gc-md2-tests (License): Likewise.
81148
81149         * modules/gc-tests (License): Likewise.
81150
81151         * modules/des-tests (License): Likewise.
81152
81153         * modules/md4-tests (License): Likewise.
81154
81155         * modules/md2-tests (License): Likewise.
81156
81157 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81158
81159         Sync from coreutils:
81160
81161         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
81162         * modules/lib-ignore: New file.
81163         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
81164         chdir-safer.m4, lchmod.m4.
81165         * modules/openat: Add mkdirat.c, openat-priv.h.
81166
81167 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81168
81169         Sync from coreutils.
81170         * m4/lib-ignore.m4: New file.
81171         * m4/lchmod.m4: New file.
81172
81173 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81174
81175         Sync from coreutils.
81176         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
81177         for write access: POSIX says that must fail.
81178         * lib/fts.c (diropen): Likewise.
81179         * lib/save-cwd.c (save_cwd): Likewise.
81180         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
81181         well, for minor improvements on hosts that lack O_DIRECTORY.
81182         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
81183         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
81184         Fall back on chown if open failed with EACCES.
81185
81186         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
81187         Report an error at compile-time if only a 1-second nominal clock
81188         resolution is found.
81189
81190         * lib/lchmod.h: New file.
81191         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
81192         (make_dir_parents): Use lchown rather than chown, and
81193         lchmod rather than chmod.
81194
81195         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
81196         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
81197         "proc" reported by n0dalus.
81198
81199         * lib/mountlist.c: Include <limits.h>.
81200         (dev_from_mount_options)
81201         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
81202         New function.  It no longer assumes "dev=" has the System V meaning
81203         on Linux (since it doesn't).  It also parses "dev=" more carefully.
81204         (read_file_system_list)
81205         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
81206         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
81207         dev= in that case.
81208
81209         * lib/posixtm.h (PDS_PRE_2000): New macro.
81210         * lib/posixtm.c (year): Arg is now syntax_bits rather than
81211         allow_century.  All usages changed.  Reject dates outside the range
81212         1969-1999 if PDS_PRE_2000 is used.
81213
81214 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81215
81216         Sync from coreutils.
81217         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
81218         (Time of day items): Mention the possibility of leap seconds.
81219         Problem reported by Dr. David Alan Gilbert.
81220
81221 2006-01-09  Jim Meyering  <jim@meyering.net>
81222
81223         Sync from coreutils.
81224
81225         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
81226
81227         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
81228
81229         * lib/modechange.c (mode_compile): Reject an invalid mode string
81230         that starts with an octal digit.  From Andreas Gruenbacher.
81231
81232         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
81233         and dup to open_safer and dup_safer, respectively.
81234         (openat_permissive): Fix typo in comment.
81235
81236         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
81237         "gettext.h"; either no longer needed or are guaranteed by openat.h.
81238         (_): Remove; no longer needed.
81239         (openat): Renamed from rpl_openat; no need for rpl_openat
81240         since openat.h renames openat for us.
81241         Replace most of the body with a call to openat_permissive,
81242         to avoid duplicate code.
81243         Port to (probably hypothetical) environments were mode_t is
81244         wider than int.
81245         (openat_permissive): Require mode arg, so that we can check
81246         types better.  Put it just after flags.  Change cwd failure
81247         indicator from pointer-to-bool to pointer-to-errno-value.
81248         All callers changed.
81249         Invoke openat_save_fail and/or openat_restore_fail if
81250         cwd_errno is null, so that openat can call us.
81251         (openat_permissive, fdopendir, fstatat, unlinkat):
81252         Simplify errno handling to avoid some duplicate code,
81253         as it's OK to set errno on success.
81254         * lib/openat.h: Revamp code so that function macros depend on
81255         __OPENAT_PREFIX only, not also on AT_FDCWD.
81256         (openat_ro): Remove.  Caller changed to use openat_permissive.
81257         (openat_permissive): Now a macro, if not a function.
81258         (openat_restore_fail, openat_save_fail): Now always functions,
81259         since mkdirat needs them even if __OPENAT_PREFIX is defined.
81260
81261         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
81262         and openat.c.
81263         * lib/mkdirat.c: Include openat-priv.h.
81264         Remove definitions of macros defined therein.
81265         * lib/openat.c: Likewise.
81266
81267         * lib/mkdirat.c (mkdirat): New file and function.
81268         * lib/openat.h (mkdirat): Declare.
81269
81270         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
81271
81272         * lib/openat.h (openat_permissive): Declare.
81273         (openat_ro): Define.
81274
81275         * lib/openat.c (EXPECTED_ERRNO): New macro.
81276         (openat_permissive): New function -- used in remove.c rewrite.
81277         (all functions): Set errno just before returning, only if there
81278         was an actual failure.
81279         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
81280
81281         Emulate openat-family functions using Linux's procfs, if possible.
81282         Idea and some code based on Ulrich Drepper's glibc changes.
81283
81284         * lib/openat.c: (BUILD_PROC_NAME): New macro.
81285         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
81286         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
81287         before falling back on save_cwd and restore_cwd.
81288         (fdopendir, fstatat, unlinkat): Likewise.
81289
81290         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
81291         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
81292
81293         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
81294         as second argument to va_arg.  Otherwise, some versions of gcc
81295         warn that `if this code is reached, the program will abort'.
81296
81297 2006-01-09  Jim Meyering  <jim@meyering.net>
81298
81299         Sync from coreutils.
81300         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
81301         Require openat-priv.h.
81302
81303 2006-01-09  Bruno Haible  <bruno@clisp.org>
81304
81305         * modules/strnlen (Include): Use strnlen.h.
81306
81307 2006-01-09  Bruno Haible  <bruno@clisp.org>
81308
81309         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
81310
81311 2006-01-09  Bruno Haible  <bruno@clisp.org>
81312
81313         * lib/sysexit_.h (EX_OK): New macro.
81314         Suggested by Martin Lambers <marlam@marlam.de>.
81315
81316 2006-01-09  Bruno Haible  <bruno@clisp.org>
81317
81318         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
81319         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
81320
81321 2006-01-09  Bruno Haible  <bruno@clisp.org>
81322
81323         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
81324         numbers.
81325
81326 2006-01-09  Bruno Haible  <bruno@clisp.org>
81327
81328         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
81329         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
81330         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
81331         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
81332
81333 2006-01-09  Bruno Haible  <bruno@clisp.org>
81334
81335         * build-aux/javacomp.sh.in: New file, moved from lib/.
81336         * modules/javacomp-script (Files): Update.
81337         (configure.ac): Add AC_CONFIG_FILES invocation.
81338         (EXTRA_DIST): Remove variable.
81339
81340         * build-aux/javaexec.sh.in: New file, moved from lib/.
81341         * modules/javaexec (Files): Update.
81342         (configure.ac): Add AC_CONFIG_FILES invocation.
81343         (EXTRA_DIST): Remove javaexec.sh.in.
81344
81345         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
81346         * modules/csharpcomp-script (Files): Update.
81347         (configure.ac): Add AC_CONFIG_FILES invocation.
81348         (EXTRA_DIST): Remove variable.
81349
81350         * build-aux/csharpexec.sh.in: New file, moved from lib/.
81351         * modules/csharpexec (Files): Update.
81352         (configure.ac): Add AC_CONFIG_FILES invocation.
81353         (EXTRA_DIST): Remove csharpexec.sh.in.
81354
81355 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
81356
81357         Sync from coreutils.
81358
81359         Add POSIX ACL support
81360         * lib/acl.h (copy_acl, set_acl): Add declarations.
81361         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
81362         systems other than Linux.
81363         (chmod_or_fchmod): New function: use fchmod when possible,
81364         and chmod otherwise.
81365         (file_has_acl): Add a POSIX ACL implementation, with a
81366         Linux-specific subcase.
81367         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
81368         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
81369         acls are unsupported.
81370         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
81371         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
81372         are unsupported.
81373
81374 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
81375
81376         Sync from coreutils.
81377         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
81378
81379 2006-01-07  Bruno Haible  <bruno@clisp.org>
81380
81381         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
81382         gl_EARLY.
81383
81384 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81385
81386         * lib/strftime.c (tzname): Don't declare if it is already #defined.
81387         Problem reported for Mingw by Mark Junker.
81388
81389 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81390
81391         * README: Gnulib normally doesn't generate a tarball.
81392
81393 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
81394
81395         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
81396         long int, not int, for nanosecond counts, so that people who are
81397         used to POSIX struct timespec won't be surprised.  Reported by Jim
81398         Meyering.
81399
81400 2005-12-28  Bruno Haible  <bruno@clisp.org>
81401
81402         * build-aux/config.rpath: Update from GNU gettext.
81403
81404 2005-12-16  Jim Meyering  <jim@meyering.net>
81405
81406         * modules/fprintftime: New module.
81407         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
81408
81409 2005-12-16  Jim Meyering  <jim@meyering.net>
81410
81411         * m4/fprintftime.m4: New file.
81412
81413 2005-12-16  Jim Meyering  <jim@meyering.net>
81414
81415         * lib/fprintftime.c, lib/fprintftime.h: New files.
81416
81417 2005-12-15  Simon Josefsson  <jas@extundo.com>
81418
81419         * modules/socklen (configure.ac): Fix M4 macro name, to align with
81420         new m4/socklen.m4.
81421
81422 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
81423
81424         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
81425         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
81426
81427 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
81428
81429         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
81430         * lib/argp-help.c (fill_in_uparams): Check if the constructed
81431         struct uparams is valid. Fall back to the default values if it is
81432         not.
81433
81434 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81435
81436         * modules/argp (Files): Add argp-pin.c
81437         (Depends-on): dirname
81438         (lib_SOURCES): Add argp-pin.c
81439
81440 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81441
81442         * m4/argp.m4:  Check if program_invocation_name and
81443         program_invocation_short_name are declared and define appropriate
81444         macros if they are not.
81445
81446 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81447
81448         * lib/argp-help.c (__argp_base_name): New function
81449         (__argp_short_program_name): Rewrite using __argp_base_name
81450         * lib/argp-namefrob.h: Define program_invocation_name and
81451         program_invocation_short_name if requested
81452         (__argp_base_name): Add prototype
81453         * lib/argp-parse.c (argp_def): Use gettext wrappers
81454         (argp_default_parser): Use __argp_base_name
81455         * lib/argp-pin.c: New file. Defines program_invocation_name and
81456         program_invocation_short_name on systems that lack them.
81457
81458 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81459
81460         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
81461         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
81462         porting problem reported by Georg Schwarz in
81463         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
81464
81465 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81466
81467         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
81468         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
81469         porting problem reported by Georg Schwarz in
81470         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
81471
81472 2005-12-05  Bruno Haible  <bruno@clisp.org>
81473
81474         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
81475         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
81476         Reported by Mark Junker <mjscod@gmx.de>.
81477
81478 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
81479
81480         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
81481         Use implementation from Albert Chin, with some
81482         comments/corrections by Stepan Kasal and myself.
81483
81484 2005-12-02  Bruno Haible  <bruno@clisp.org>
81485
81486         * gnulib-tool (func_import): Accept GPLed build tool modules when
81487         --lgpl is given.
81488         * modules/csharpcomp-script: New file.
81489         * modules/csharpcomp: Depend on it.
81490         * modules/javacomp-script: New file.
81491         * modules/javacomp: Depend on it.
81492         Suggested by Simon Josefsson.
81493
81494 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
81495
81496         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
81497         statement, to work around an HP-UX 10.20 compiler bug reported by
81498         Peter O'Gorman.
81499
81500 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
81501
81502         * modules/savedir (Depends-on): Add openat.
81503
81504 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
81505
81506         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
81507         (uintmax_t) [defined uintmax_t]: Do not declare.
81508         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
81509         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
81510         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
81511         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
81512         sake of portability to weird hosts that C allows (though we don't
81513         know of any practical examples).
81514
81515         * lib/savedir.h (fdsavedir): New decl.
81516         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
81517         contains most of the former guts of savedir.
81518         (savedir): Use savedirstream.
81519         Include "openat.h".
81520
81521 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81522
81523         * modules/obstack (Files): Add m4/ulonglong.m4.
81524         Problem reported by Davide Angelocola.
81525
81526 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81527
81528         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
81529         coreutils no longer futzes with rounding modes.
81530
81531 2005-11-14  Jim Meyering  <jim@meyering.net>
81532
81533         * lib/mkstemp-safer.c: Include <config.h>, required for possible
81534         replacement of mkstemp.
81535
81536 2005-11-10  Simon Josefsson  <jas@extundo.com>
81537
81538         * lib/readline.c: Remove EOL.
81539
81540 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81541
81542         * modules/gethrxtime (Depends-on): Add gettime.
81543
81544 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81545
81546         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
81547         or gettimeofday; no longer needed.
81548
81549 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81550
81551         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
81552         time business.
81553         (gethrxtime) [! (HAVE_NANOUPTIME
81554         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
81555         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
81556         our own approximation.
81557
81558 2005-11-08  Eric Blake  <ebb9@byu.net>
81559
81560         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81561
81562 2005-11-08  Eric Blake  <ebb9@byu.net>
81563
81564         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81565
81566 2005-11-04  Bruno Haible  <bruno@clisp.org>
81567
81568         * gnulib-tool: Implement --update mode.
81569
81570 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81571
81572         Fix porting problem reported by Theodoros V. Kalamatianos.
81573         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
81574         Don't assume that futimes failing means we must fail.
81575
81576 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81577
81578         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
81579         variables to suggest the intended function of the PATH_MAX check.
81580
81581 2005-10-30  Kean Johnston  <jkj@sco.com>
81582
81583         Trivial changes to support SCO systems.
81584         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
81585         as PATH_MAX.
81586         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
81587         where __ptr is null when no I/O is pending.
81588
81589 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81590
81591         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
81592         leave errno alone.  Problem reported by Dmitry V. Levin.
81593
81594 2005-10-28  Simon Josefsson  <jas@extundo.com>
81595
81596         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
81597         Test more.
81598
81599         * tests/test-gc-md2.c, tests/test-md2.c: New files.
81600
81601         * modules/md2, modules/md2-tests: New files.
81602
81603 2005-10-28  Simon Josefsson  <jas@extundo.com>
81604
81605         * m4/inet_ntop.m4: More tests.
81606
81607         * m4/gc-md2.m4, md2.m4: New file.
81608
81609 2005-10-28  Simon Josefsson  <jas@extundo.com>
81610
81611         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
81612         "restrict" keywords, as per POSIX.  Protect the function
81613         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
81614         Don't use K&R prototypes.  Check the sprintf return values.
81615         Re-define EAFNOSUPPORT if not present.  Indent.
81616
81617         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
81618         suggested by Bruno Haible <bruno@clisp.org>.
81619
81620         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
81621
81622         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
81623
81624         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
81625         libgcrypt).
81626
81627         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
81628
81629         * lib/md2.h, lib/md2.c: New files.
81630
81631 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
81632
81633         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
81634         errno alone.  Problem reported by Frederic Jolliton.
81635
81636 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
81637
81638         * modules/verify (License): Change from GPL to LGPL.  This is a
81639         tiny module and there are apparently near-equivalents that are
81640         under the BSD license.
81641
81642 2005-10-24  Simon Josefsson  <jas@extundo.com>
81643
81644         * modules/sha1: Relicense to LGPL.
81645
81646 2005-10-24  Simon Josefsson  <jas@extundo.com>
81647
81648         * lib/md4.h: Shrink buffer size, now that we changed the type.
81649
81650 2005-10-23  Simon Josefsson  <jas@extundo.com>
81651
81652         * gnulib-tool (func_import): Fix --tests-base.
81653
81654 2005-10-22  Simon Josefsson  <jas@extundo.com>
81655
81656         * modules/arcfour (Depends-on): Need stdint.
81657
81658 2005-10-22  Simon Josefsson  <jas@extundo.com>
81659
81660         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
81661         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
81662
81663 2005-10-22  Simon Josefsson  <jas@extundo.com>
81664
81665         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
81666         suggested by Bruno Haible <bruno@clisp.org>.
81667
81668 2005-10-22  Simon Josefsson  <jas@extundo.com>
81669
81670         * lib/crc.h: Include stddef.h, for size_t.
81671
81672 2005-10-22  Simon Josefsson  <jas@extundo.com>
81673
81674         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
81675         arcfour_context struct (simplify test vector testing in GNU
81676         Shishi).
81677
81678 2005-10-21  Simon Josefsson  <jas@extundo.com>
81679
81680         * modules/des, modules/des-tests: New files.
81681
81682         * modules/gc-des, modules/gc-des-tests: New files.
81683
81684         * tests/test-des.c, tests/test-gc-des.c: New file.
81685
81686 2005-10-21  Simon Josefsson  <jas@extundo.com>
81687
81688         * modules/arctwo, modules/arctwo-tests: New files.
81689
81690         * tests/test-arctwo.c: New file.
81691
81692         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
81693
81694         * tests/test-gc-arctwo.c: New file.
81695
81696 2005-10-21  Simon Josefsson  <jas@extundo.com>
81697
81698         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
81699         Bruno Haible <bruno@clisp.org>.
81700
81701         * m4/gc-des.m4: New file.
81702
81703 2005-10-21  Simon Josefsson  <jas@extundo.com>
81704
81705         * m4/arctwo.m4: New file.
81706
81707         * m4/gc-arctwo.m4: New file.
81708
81709 2005-10-21  Simon Josefsson  <jas@extundo.com>
81710
81711         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
81712         block.
81713
81714 2005-10-21  Simon Josefsson  <jas@extundo.com>
81715
81716         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
81717         <bruno@clisp.org>.
81718
81719         * lib/hmac-sha1.c (hmac_sha1): Likewise.
81720
81721         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
81722         Bruno Haible <bruno@clisp.org>.
81723
81724         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
81725         <bruno@clisp.org>.
81726
81727 2005-10-21  Simon Josefsson  <jas@extundo.com>
81728
81729         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
81730
81731 2005-10-21  Simon Josefsson  <jas@extundo.com>
81732
81733         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
81734
81735 2005-10-21  Simon Josefsson  <jas@extundo.com>
81736
81737         * lib/des.h, lib/des.c: New files.
81738
81739         * lib/gc-gnulib.c: Support DES.c
81740
81741 2005-10-21  Simon Josefsson  <jas@extundo.com>
81742
81743         * lib/arctwo.h, lib/arctwo.c: New files.
81744
81745         * lib/gc-gnulib.c: Support ARCTWO.
81746
81747 2005-10-21  Simon Josefsson  <jas@extundo.com>
81748
81749         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
81750         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81751
81752 2005-10-21  Simon Josefsson  <jas@extundo.com>
81753
81754         * gnulib-tool (func_import, func_create_testdir): Define automake
81755         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
81756         Makefile.am snippet),
81757         suggested by Bruno Haible <bruno@clisp.org>.
81758
81759         * modules/gc (Makefile.am): Use it.
81760
81761 2005-10-21  Bruno Haible  <bruno@clisp.org>
81762
81763         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
81764         patch.
81765
81766 2005-10-19  Simon Josefsson  <jas@extundo.com>
81767
81768         * tests/test-gc-rijndael.c: New file.
81769
81770         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
81771
81772 2005-10-19  Simon Josefsson  <jas@extundo.com>
81773
81774         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
81775         interface too.
81776
81777 2005-10-19  Simon Josefsson  <jas@extundo.com>
81778
81779         * tests/test-gc-arcfour.c: New file.
81780
81781         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
81782
81783 2005-10-19  Simon Josefsson  <jas@extundo.com>
81784
81785         * modules/gc-md4, modules/gc-md4-tests: New file.
81786
81787         * tests/test-gc-md4.c: New file.
81788
81789 2005-10-19  Simon Josefsson  <jas@extundo.com>
81790
81791         * m4/gc-md4.m4: New file.
81792
81793 2005-10-19  Simon Josefsson  <jas@extundo.com>
81794
81795         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
81796         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
81797         <kasal@ucw.cz>.
81798
81799 2005-10-19  Simon Josefsson  <jas@extundo.com>
81800
81801         * m4/gc-arcfour.m4: New file.
81802
81803         * m4/gc-rijndael.m4: New file.
81804
81805 2005-10-19  Simon Josefsson  <jas@extundo.com>
81806
81807         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
81808
81809 2005-10-19  Simon Josefsson  <jas@extundo.com>
81810
81811         * lib/gc-gnulib.c: Support ARCFOUR.
81812
81813 2005-10-19  Simon Josefsson  <jas@extundo.com>
81814
81815         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
81816         support.
81817
81818         * lib/gc.h: Add ECB enum type.
81819
81820         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
81821
81822 2005-10-18  Simon Josefsson  <jas@extundo.com>
81823
81824         * tests/test-md5.c: New file.
81825
81826         * modules/md5-tests: New file.
81827
81828 2005-10-18  Simon Josefsson  <jas@extundo.com>
81829
81830         * tests/test-md4.c: New file.
81831
81832         * modules/md4, modules/md4-tests: New files.
81833
81834 2005-10-18  Simon Josefsson  <jas@extundo.com>
81835
81836         * m4/md4.m4: New file.
81837
81838 2005-10-18  Simon Josefsson  <jas@extundo.com>
81839
81840         * lib/md4.h, lib/md4.c: New files, based on md5.?.
81841
81842 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
81843
81844         * gnulib-tool (func_create_testdir): Omit the second check whether
81845         BUILT_SOURCES in nonempty.
81846
81847 2005-10-17  Simon Josefsson  <jas@extundo.com>
81848
81849         * tests/test-rijndael.c: New file.
81850
81851 2005-10-17  Simon Josefsson  <jas@extundo.com>
81852
81853         * modules/sha1: Depend on stdint instead of md5.
81854
81855         * modules/md5: Depend on stdint, remove uint32_t.
81856
81857 2005-10-17  Simon Josefsson  <jas@extundo.com>
81858
81859         * modules/gc-sha1-tests: New file.
81860
81861         * tests/test-gc-sha1.c: New file.
81862
81863 2005-10-17  Simon Josefsson  <jas@extundo.com>
81864
81865         * m4/md5.m4: Remove call to uint32_t.m4.
81866
81867 2005-10-17  Simon Josefsson  <jas@extundo.com>
81868
81869         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
81870
81871         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
81872         md5.h.
81873
81874         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
81875
81876         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
81877
81878 2005-10-17  Simon Josefsson  <jas@extundo.com>
81879
81880         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
81881
81882 2005-10-17  Simon Josefsson  <jas@extundo.com>
81883
81884         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
81885
81886 2005-10-17  Simon Josefsson  <jas@extundo.com>
81887
81888         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
81889
81890         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
81891
81892 2005-10-17  Bruno Haible  <bruno@clisp.org>
81893
81894         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
81895         that it can also be used in a test.
81896
81897 2005-10-16  Bruno Haible  <bruno@clisp.org>
81898
81899         * gnulib-tool (func_emit_tests_Makefile_am): Also define
81900         TESTS_ENVIRONMENT, so that individual tests can augment it.
81901
81902         * gnulib-tool (func_create_testdir): Use an intermediate target for
81903         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
81904         macros, like $(ALLOCA_H), which cannot be passed through the command
81905         line.
81906
81907 2005-10-15  Simon Josefsson  <jas@extundo.com>
81908
81909         * modules/rijndael-tests: New file.
81910
81911         * modules/rijndael: New file.
81912
81913 2005-10-15  Simon Josefsson  <jas@extundo.com>
81914
81915         * m4/rijndael.m4: New file.
81916
81917 2005-10-15  Simon Josefsson  <jas@extundo.com>
81918
81919         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
81920
81921         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
81922
81923 2005-10-14  Simon Josefsson  <jas@extundo.com>
81924
81925         * tests/test-arcfour.c: New file.
81926
81927         * modules/arcfour, modules/arcfour-tests: New files.
81928
81929 2005-10-14  Simon Josefsson  <jas@extundo.com>
81930
81931         * m4/arcfour.m4: New file.
81932
81933 2005-10-14  Simon Josefsson  <jas@extundo.com>
81934
81935         * lib/arcfour.h, lib/arcfour.c: New files.
81936
81937 2005-10-14  Roland McGrath  <roland@redhat.com>
81938
81939         Import from libc.  [BZ #1331]
81940         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
81941         macro argument.
81942         Reported by Matej Vela <vela@debian.org>.
81943
81944 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81945
81946         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81947         include <wchar.h>; no longer needed.
81948
81949 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81950
81951         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81952
81953 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81954         and  Ulrich Drepper  <drepper@redhat.com>
81955
81956         Import from libc.
81957         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81958         instead of inline stream orientation test and two separate
81959         function calls.  Pay no attention to USE_IN_LIBIO.
81960
81961 2005-10-13  Simon Josefsson  <jas@extundo.com>
81962
81963         * modules/gc-hmac-md5-tests: New file.
81964
81965         * tests/test-gc-hmac-sha1.c: New file.
81966
81967         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81968
81969         * modules/gc-hmac-md5-tests: New file.
81970
81971         * tests/test-gc-md5.c: New file.
81972
81973         * modules/gc-md5-tests: New file.
81974
81975 2005-10-13  Simon Josefsson  <jas@extundo.com>
81976
81977         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81978         Move memory allocation outside of loop.
81979
81980 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81981
81982         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81983         intermediate directory is in a read-only file system.  Problem
81984         reported by Eric Blake.
81985
81986 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81987
81988         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81989
81990 2005-10-12  Simon Josefsson  <jas@extundo.com>
81991
81992         * tests/test-hmac-sha1.c: New file.
81993
81994         * modules/hmac-sha1-tests: New file.
81995
81996         * modules/hmac-sha1: New file.
81997
81998 2005-10-12  Simon Josefsson  <jas@extundo.com>
81999
82000         * modules/gc-sha1: New file.
82001
82002 2005-10-12  Simon Josefsson  <jas@extundo.com>
82003
82004         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
82005
82006         * tests/test-gc-pbkdf2-sha1.c: New file.
82007
82008 2005-10-12  Simon Josefsson  <jas@extundo.com>
82009
82010         * modules/gc-md5, modules/gc-hmac-md5: New files.
82011
82012         * modules/gc (Files): Remove md5, memxor and hmac files.
82013
82014 2005-10-12  Simon Josefsson  <jas@extundo.com>
82015
82016         * m4/gc-pbkdf2-sha1.m4: New file.
82017
82018         * m4/gc-hmac-sha1.m4: New file.
82019
82020         * m4/gc-sha1: New file.
82021
82022         * m4/hmac-sha1.m4: New file.
82023
82024 2005-10-12  Simon Josefsson  <jas@extundo.com>
82025
82026         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
82027
82028         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
82029
82030 2005-10-12  Simon Josefsson  <jas@extundo.com>
82031
82032         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
82033         suggested by Bruno Haible <bruno@clisp.org>.
82034
82035 2005-10-12  Simon Josefsson  <jas@extundo.com>
82036
82037         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
82038
82039 2005-10-12  Simon Josefsson  <jas@extundo.com>
82040
82041         * lib/gc-pbkdf2-sha1.c: New file.
82042
82043         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
82044
82045 2005-10-12  Simon Josefsson  <jas@extundo.com>
82046
82047         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
82048
82049         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
82050
82051 2005-10-12  Simon Josefsson  <jas@extundo.com>
82052
82053         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
82054         GC_USE_HMAC_MD5, respectively.
82055
82056         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
82057         (gc_md5): Fix typo.
82058
82059         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
82060
82061         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
82062
82063         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
82064
82065 2005-10-12  Bruno Haible  <bruno@clisp.org>
82066
82067         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
82068         Reported by Stepan Kasal <kasal@ucw.cz>.
82069
82070 2005-10-11  Simon Josefsson  <jas@extundo.com>
82071
82072         * tests/test-crc.c: New file.
82073
82074         * modules/crc, modules/crc-tests: New files.
82075
82076 2005-10-11  Simon Josefsson  <jas@extundo.com>
82077
82078         * m4/crc.m4: New file.
82079
82080 2005-10-11  Simon Josefsson  <jas@extundo.com>
82081
82082         * lib/gc.h: Add gc_hash and gc_hash_buffer.
82083
82084         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
82085
82086         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
82087
82088 2005-10-11  Simon Josefsson  <jas@extundo.com>
82089
82090         * lib/crc.h, lib/crc.c: New files.
82091
82092         * lib/gc.h (gc_hash_buffer): Add doc.
82093
82094 2005-10-11  Bruno Haible  <bruno@clisp.org>
82095
82096         * modules/c-strcasestr: New file.
82097         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
82098
82099 2005-10-11  Bruno Haible  <bruno@clisp.org>
82100
82101         * modules/c-strcase: New file.
82102         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
82103
82104 2005-10-11  Bruno Haible  <bruno@clisp.org>
82105
82106         * lib/strcasecmp.c: Include limits.h.
82107         (strcasecmp): Avoid integer overflow on exotic platforms.
82108         * lib/strncasecmp.c: Include limits.h.
82109         (strncasecmp): Avoid integer overflow on exotic platforms.
82110         Reported by Paul Eggert.
82111
82112 2005-10-11  Bruno Haible  <bruno@clisp.org>
82113
82114         * lib/c-strcasestr.h: New file, from GNU gettext.
82115         * lib/c-strcasestr.c: New file, from GNU gettext.
82116
82117 2005-10-11  Bruno Haible  <bruno@clisp.org>
82118
82119         * lib/c-strcase.h: New file, from GNU gettext.
82120         * lib/c-strcasecmp.c: New file, from GNU gettext.
82121         * lib/c-strncasecmp.c: New file, from GNU gettext.
82122
82123 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82124
82125         * modules/mempcpy (License): GPL -> LGPL.
82126         * modules/strchrnul (License): Likewise.
82127         * modules/sysexits (License): Likewise.
82128
82129 2005-10-08  Simon Josefsson  <jas@extundo.com>
82130
82131         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
82132
82133 2005-10-07  Simon Josefsson  <jas@extundo.com>
82134
82135         * m4/memxor.m4: Remove gl_C_RESTRICT call.
82136
82137 2005-10-06  Simon Josefsson  <jas@extundo.com>
82138
82139         * tests/test-hmac-md5.c: New file.
82140
82141         * modules/hmac-md5-tests: New file.
82142
82143         * modules/hmac-md5: New file.
82144
82145 2005-10-06  Simon Josefsson  <jas@extundo.com>
82146
82147         * m4/hmac-md5.m4: New file.
82148
82149         * m4/memxor.m4: Require gl_C_RESTRICT.
82150
82151 2005-10-06  Simon Josefsson  <jas@extundo.com>
82152
82153         * lib/memxor.c (memxor): Avoid casts and warnings.
82154
82155 2005-10-06  Simon Josefsson  <jas@extundo.com>
82156
82157         * lib/hmac-md5.c: New file.
82158
82159         * lib/hmac.h: New file.
82160
82161 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82162
82163         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
82164         promotes to int, not unsigned int, to catch the AIX 5.3
82165         compiler bug.
82166
82167 2005-10-05  Simon Josefsson  <jas@extundo.com>
82168
82169         * modules/memxor: New file.
82170
82171         * modules/iconv (Files): Move config.rpath to havelib, it is used
82172         there.
82173
82174         * modules/havelib (Files): Add config.rpath.
82175
82176 2005-10-05  Simon Josefsson  <jas@extundo.com>
82177
82178         * m4/memxor.m4: New file.
82179
82180 2005-10-05  Simon Josefsson  <jas@extundo.com>
82181
82182         * lib/memxor.c (memxor): Fix compiler error.
82183
82184         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
82185         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
82186
82187         * lib/memxor.h, lib/memxor.c: New files.
82188
82189         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
82190         we assume all systems have it, suggested by Jim Meyering
82191         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
82192         any systems lack sys/socket.h; mingw32 is known to lack it, but we
82193         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
82194         same reasons.
82195
82196 2005-10-05  Simon Josefsson  <jas@extundo.com>
82197
82198         * config/srclist.txt: Add glibc bug 1423 for md5.h.
82199
82200 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
82201
82202         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
82203         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
82204         needed, since the source code now assumes these .h files.
82205
82206 2005-10-05  Derek Price  <derek@ximbiot.com>
82207
82208         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
82209
82210 2005-10-05  Bruno Haible  <bruno@clisp.org>
82211
82212         * modules/stdint (License): Change to LGPL.
82213
82214 2005-10-04  Simon Josefsson  <jas@extundo.com>
82215
82216         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
82217         D. Baushke" <mdb@gnu.org>.
82218
82219 2005-10-04  Bruno Haible  <bruno@clisp.org>
82220
82221         * lib/verify.h (verify_true): Provide alternative definition for C++.
82222
82223 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
82224
82225         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
82226         (SSIZE_MAX): New macro, if not already defined.
82227         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
82228         than 2 GiB.
82229
82230 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82231
82232         Sync from coreutils.
82233         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
82234         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
82235         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
82236         ULLONG_MAX doesn't work with 2.7.2.1.
82237
82238 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82239
82240         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
82241         From Ben Pfaff.
82242
82243         * modules/exclude (Depends-on): Depend on verify.
82244         * modules/strtoimax (Depends-on): Likewise.
82245         * modules/utimecmp (Depends-on): Likewise.
82246
82247 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82248
82249         * lib/exclude.c: Include verify.h.
82250         (verify): Remove.  All callers changed to use verify.h's version.
82251         * lib/strtoimax.c: Likewise.
82252         * lib/utimecmp.c: Likewis.e
82253
82254         Sync from coreutils.
82255         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
82256         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
82257         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
82258         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
82259         bother returning ENOSYS if settimeofday or stime fails; just let
82260         them return whatever errno they want to return.
82261         * lib/utimens.c: Include unistd.h, for dup2.
82262         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
82263         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
82264
82265 2005-10-02  Jim Meyering  <jim@meyering.net>
82266
82267         Sync from coreutils.
82268         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
82269         from glibc-2.2.5 that fails for read-only files.
82270
82271 2005-10-02  Jim Meyering  <jim@meyering.net>
82272
82273         Sync from coreutils.
82274         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
82275         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
82276         `#if HAVE_CONFIG_H'.
82277         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
82278         Remove AT_FDCWD test.
82279         Do not consume the fd unless successful.
82280         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
82281         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
82282         block, so that we don't even try to compile it if settimeofday is
82283         available.  This works around a compilation failure on OSF1 V5.1,
82284         due to stime requiring a `long int*' while tv_sec is `int'.
82285
82286 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
82287
82288         Sync from coreutils.
82289         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
82290         against `yes', rather than just testing for nonempty.
82291
82292 2005-10-01  Simon Josefsson  <jas@extundo.com>
82293
82294         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
82295         and Darwin.
82296
82297         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
82298         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
82299         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
82300         freeaddrinfo and gai_strerror are declared by the POSIX headers.
82301         Check if struct addrinfo is declared.
82302
82303 2005-10-01  Simon Josefsson  <jas@extundo.com>
82304
82305         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
82306         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
82307         AI_* and EAI_* definitions.  Protect function declarations.
82308
82309 2005-10-01  Jim Meyering  <jim@meyering.net>
82310
82311         Sync from coreutils.
82312
82313         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
82314         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
82315         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
82316         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
82317         in the inet and nsl libraries.  Required on Solaris 5.7.
82318
82319 2005-10-01  Jim Meyering  <jim@meyering.net>
82320
82321         Sync from coreutils.
82322         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
82323         in the inet and nsl libraries.  Required on Solaris 5.7.
82324
82325 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
82326
82327         * lib/getdelim.c (getdelim): Remove unused variables.
82328
82329 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
82330
82331         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
82332         so that the code works even with ancient cpp.  Portability problem
82333         with GCC 2.7.2.1 reported by Thomas M.Ott.
82334
82335 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
82336
82337         * modules/regex (Depends-on): Add strcase.
82338
82339         * modules/gethostname (Licence): Change from GPL to LGPL, since
82340         gethostname.c is a trivial implementation of a standard library
82341         function.
82342         * modules/poll (License): Change from GPL to LGPL, since it's
82343         derived from LGPL code.
82344
82345 2005-09-27  Jim Meyering  <jim@meyering.net>
82346
82347         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
82348         HAVE_CONFIG_H.
82349
82350         * lib/intprops.h (signed_type_or_expr__): Define.
82351         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
82352         for unsigned types.
82353
82354 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
82355
82356         * lib/verify.h (verify_expr): Remove, replacing with:
82357         (verify_true): New macro that returns true instead of void.
82358         (verify_type__): Remove.
82359         (verify): Use verify_true rather than verify_type__.
82360
82361 2005-09-26  Bruno Haible  <bruno@clisp.org>
82362
82363         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
82364         is necessary.
82365         (lib_SOURCES): Remove mbchar.c.
82366         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
82367         (Files): Add m4/mbrtowc.m4.
82368         * modules/mbiter: Likewise.
82369         * modules/mbuiter: Likewise.
82370
82371 2005-09-26  Bruno Haible  <bruno@clisp.org>
82372
82373         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
82374         compile mbchar.c if they are not both present.
82375         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
82376         * m4/mbiter.m4 (gl_MBITER): Likewise.
82377         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
82378         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
82379         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
82380
82381 2005-09-25  Jim Meyering  <jim@meyering.net>
82382
82383         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
82384         also uses socklen_t.
82385
82386 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
82387
82388         * lib/utimens.c (ENOSYS): Define if not already defined.
82389         (futimens): Support having a null PATH if the file descriptor
82390         is nonnegative.
82391
82392         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
82393         Remove.
82394         (__attribute): Define to empty unless GCC 3.1 or later.
82395         This works around a core dump on OpenBSD 3.4, which has GCC
82396         2.95.3, which dumps core when given __attribute__(()).  It also
82397         simplifies other tests, since we really don't want to bother with
82398         worrying about which ancient version of GCC supported what.
82399         Original problem reported by Yoann Vandoorselaere, with part of
82400         the fix suggested by Derek Price.
82401
82402 2005-09-24  Jim Meyering  <jim@meyering.net>
82403
82404         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
82405         so we can once again use a positive bitfield width of 1 -- now we
82406         don't have to explain why we were using a bitfield width of 2.
82407
82408 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
82411         and similarly for the other external symbols.  Problem reported
82412         by James Gallager.
82413
82414         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
82415         bug reported by Jim Meyering.
82416
82417         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
82418         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
82419         not needed, since socklen is a prerequisite module.
82420
82421 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
82422
82423         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
82424         Problem reported by Eric Blake.
82425         (getaddrinfo): Initialize se so that it's not garbage.
82426         Redo internal storage allocation so that it doesn't make unportable
82427         assumptions about alignment.
82428         Fix a memory leak.
82429
82430         * lib/utimens.c (futimens): Use futimesat if available.
82431         Prefer it to futimes since it doesn't have the futimes bug.
82432
82433         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
82434         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
82435         Instead, declare a function that returns a pointer to an array,
82436         and use verify_type__ to declare the size of the array.
82437         Problem and germ of a solution reported by Bruno Haible.
82438         (verify_type__): Use 2, not 1, for bitfield size, to avoid
82439         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
82440
82441 2005-09-23  Jim Meyering  <jim@meyering.net>
82442
82443         Sync from coreutils.
82444         Correct build failure (socklen_t not defined) on at least
82445         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
82446         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
82447
82448 2005-09-23  Jim Meyering  <jim@meyering.net>
82449
82450         * modules/getaddrinfo (Depends-on): Add socklen.
82451
82452 2005-09-23  Bruno Haible  <bruno@clisp.org>
82453
82454         * tests/test-verify.c: New file.
82455
82456 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82457
82458         Sync from coreutils.
82459
82460         * modules/argmatch (Depends-on): Add verify.
82461         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
82462         unistd-safer.
82463         * modules/save-cwd (Depends-on): Likewise.
82464
82465         * modules/openat (Files): Add lib/openat-die.c.
82466         (Depends-on): Remove error, exitfail.
82467         Add dirname.
82468
82469         * modules/verify: New file.
82470         * MODULES.html.sh (Diagnostics <assert.h>): New section,
82471         with "verify" module.
82472
82473 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82474
82475         Sync from coreutils.
82476
82477         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
82478         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
82479         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
82480         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
82481         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
82482         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
82483         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
82484         Don't bother checking for string.h, stdlib.h, unistd.h.
82485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
82486         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
82487         module's job.
82488         * m4/jm-macros.m4 (gl_MACROS): Likewise.
82489         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
82490
82491         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
82492         (gl_GETDATE): Use it.
82493
82494         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
82495
82496 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82497
82498         Sync from coreutils.
82499
82500         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
82501         stat-time.h.
82502         * lib/argmatch.h: Include verify.h
82503         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
82504         (ARGMATCH_ASSERT): Remove; unused.
82505         * lib/canonicalize.c: Assume STDC_HEADERS.
82506         * lib/exclude.c: Include "strcase.h".
82507         * lib/regex_internal.h [!defined _LIBC]: Likewise.
82508         * lib/getusershell.c: Include stdio--.h rather than stdio.h
82509         and stdio-safer.h.
82510         (getusershell): Call fopen, not fopen_safer.
82511         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
82512         Do not include unistd-safer.h.
82513         (save_cwd): Don't call fd_safer; no longer needed
82514         now that we include fcntl--.h.
82515
82516         * lib/getdate.y (relative_time): New type.
82517         (RELATIVE_TIME_0): New constant.
82518         (parser_control): Use relative_time instead of doing it ourselves.
82519         (%union): Add new relative_time rel member.
82520         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
82521         Now typeless.
82522         (relunit, relunit_snumber): Now of type rel.
82523         (zone, rel, relunit, get_date): Adjust to above changes.
82524
82525         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
82526         Do not include unistd-safer.h.
82527         (getloadavg): Don't call fd_safer; no longer needed
82528         now that we include fcntl--.h.
82529
82530         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
82531         (make_dir_parents): Treat ENOSYS like EEXIST.
82532
82533         Improve quality of diagnostics on restore_cwd failure.
82534         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
82535         (make_dir_parents): Last arg is now int * (for errno), not bool *.
82536         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
82537         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
82538         each time through the loop.  Do not diagnose restore_cwd failure;
82539         that is the caller's job (and perhaps the caller does not care).
82540
82541         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
82542         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
82543         If the file already exists but is not a directory, don't bother
82544         to try to make its parents.
82545         Close potential file descriptor leak if we can't chdir("/") (!).
82546         Don't always return true if chdir($PWD) fails; return true only
82547         if the requested action was done successfully (except for the
82548         chdir($PWD)).
82549         Don't log final directory unless we actually made it.
82550         Refactor to avoid duplicate code to fix up permissions.
82551         Don't attempt to fix up parent permissions if chdir($PWD) fails.
82552
82553         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
82554         to make it a bit faster and (I hope) clearer.
82555         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
82556         Fix bug in formats like %2N.
82557
82558         * lib/verify.h: New file.
82559
82560 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82561
82562         Sync from coreutils.
82563         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
82564
82565 2005-09-22  Jim Meyering  <jim@meyering.net>
82566
82567         Sync from coreutils.
82568
82569         * m4/lstat.m4 (gl_FUNC_LSTAT):
82570         Use AC_LIBSOURCES to require lstat.c and lstat.h.
82571         Remove obsolete comment.
82572         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
82573         * m4/xstrtod.m4: Likewise.
82574
82575         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
82576
82577 2005-09-22  Jim Meyering  <jim@meyering.net>
82578
82579         Sync from coreutils.
82580
82581         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
82582
82583         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
82584         the .tm_year member, since otherwise gcc-4.0 would now warn about
82585         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
82586
82587         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
82588         order to avoid an unsuppressible warning from gcc on 64-bit systems.
82589
82590         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
82591         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
82592         when run in a time zone for which daylight savings time is in effect
82593         for the starting date.
82594
82595         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
82596         stop us from restricting permissions of just-created absolute-named
82597         directories.
82598         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
82599         to restore initial working directory.
82600         * lib/mkdir-p.c (make_dir_parents): New parameter:
82601         different_working_dir, to tell caller if/when we change the working
82602         directory and are unable to return to the initial one.
82603         * lib/mkdir-p.h (make_dir_parents): Update prototype.
82604         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
82605         `return false'.  This fixes a bug introduced on 2004-07-30.
82606
82607         * lib/openat.c (fdopendir): Be sure to close the supplied
82608         file descriptor before returning.  This makes our replacement
82609         implementation a little closer to Solaris's, where fdopendir
82610         ties the file descriptor to the returned DIR* pointer.
82611         * lib/openat.c (unlinkat): New function.
82612         * lib/openat.h (unlinkat): Add prototype.
82613         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
82614         (openat_restore_fail): Rename from openat_restore_die.
82615         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
82616
82617         Provide an alternative to exiting immediately upon save_cwd or
82618         restore_cwd failure.  Now, an application can arrange e.g.,
82619         to perform a longjump in that case.
82620         * lib/openat.c: Include dirname.h.
82621         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
82622         (rpl_openat, fdopendir, fstatat): Call openat_save_die
82623         and openat_restore_die rather than calling error directly.
82624         Don't include "error.h" or "exitfail.h"; they're no longer needed.
82625
82626         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
82627         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
82628         define.
82629
82630         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
82631         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
82632                             int utc, int nanoseconds);
82633         Background:
82634         date should not have to allocate a megabyte of virtual memory to
82635         handle a format argument like +%1048575T.  When implemented with
82636         strftime, it must allocate such a buffer, use strftime to fill it
82637         in, print it, then free it.
82638         With fprintftime, it simply prints everything and exits.
82639         With no need for memory allocation, that's one fewer way to fail.
82640         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
82641         optional field width, not before, so we accept %9:z, not %:9z.
82642         (my_strftime): Be sure to use L_('x') for literals.
82643
82644         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
82645         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
82646         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
82647         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
82648         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
82649         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
82650         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
82651         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
82652         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
82653         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
82654         * lib/xgethostname.c, lib/xreadlink.c:
82655         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
82656
82657         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
82658         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
82659         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
82660         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82661         and don't include <sys/file.h>).
82662
82663 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
82664
82665         Sync from coreutils.
82666
82667         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
82668         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
82669         [!LDAV_DONE]: Avoid unused variable warning.
82670
82671 2005-09-21  Bruno Haible  <bruno@clisp.org>
82672
82673         * lib/unicodeio.h (unicode_to_mb): New declaration.
82674
82675 2005-09-20  Derek Price  <derek@ximbiot.com>
82676
82677         * lib/getaddrinfo.c: Don't include <netdb.h> included from
82678         getaddrinfo.h.
82679
82680 2005-09-20  Bruno Haible  <bruno@clisp.org>
82681
82682         * gnulib-tool: Remove trailing slashes from the values specified for
82683         --source-base, --m4-base, --tests-base, --aux-dir.
82684         Suggested by Simon Josefsson <jas@extundo.com>.
82685
82686 2005-09-20  Bruno Haible  <bruno@clisp.org>
82687
82688         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
82689         func_modules_to_filelist, func_import, func_create_testdir): Make all
82690         sorting results locale-independent, so that gnulib-cache.m4 doesn't
82691         change when gnulib-tool is invoked in a different locale.
82692
82693 2005-09-19  Simon Josefsson  <jas@extundo.com>
82694
82695         * m4/socklen.m4: Fix typo.
82696
82697 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82698
82699         Use a consistent style for including <config.h>.
82700         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
82701         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
82702         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
82703         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
82704         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
82705         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
82706         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
82707         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
82708         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
82709         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
82710         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
82711         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
82712         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
82713         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
82714         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
82715         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
82716         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
82717         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
82718         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
82719         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
82720         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
82721         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
82722         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
82723         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
82724         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
82725         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
82726         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
82727         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
82728         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
82729         lib/xstrtoumax.c, lib/yesno.c:
82730         Standardize inclusion of config.h.
82731         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
82732         lib/inttostr.h:  Removed inclusion of config.h from header files.
82733         * lib/inttostr.c:  Adjusted in-tree users.
82734         * lib/timespec.h: Remove superfluous warning to include config.h.
82735         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
82736         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
82737         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
82738         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
82739         config.h with HAVE_CONFIG_H.
82740
82741 2005-09-19  Jim Meyering  <jim@meyering.net>
82742
82743         * modules/pathmax (License): Change to LGPL.
82744
82745 2005-09-19  Derek Price  <derek@ximbiot.com>
82746
82747         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
82748
82749 2005-09-19  Bruno Haible  <bruno@clisp.org>
82750
82751         * gnulib-tool (import): Provide default for --tests-base.
82752
82753 2005-09-19  Bruno Haible  <bruno@clisp.org>
82754
82755         * doc/quote.texi: New file, extracted from gnulib.texi.
82756         * doc/ctime.texi: New file, extracted from gnulib.texi.
82757         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
82758         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
82759         * doc/gnulib.texi: Include them.
82760
82761 2005-09-18  Bruno Haible  <bruno@clisp.org>
82762
82763         Portability fix.
82764         * gnulib-tool (func_readlink): New function.
82765         (func_ln_if_changed): Use it.
82766
82767 2005-09-18  Bruno Haible  <bruno@clisp.org>
82768
82769         * gnulib-tool: Support --with-tests also with --import.
82770         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
82771         (func_import): Use variables $testsbase and $inctests. Emit a
82772         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
82773         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
82774         SUBDIRS += $testsdir.
82775         (func_create_testdir): Update.
82776
82777 2005-09-18  Bruno Haible  <bruno@clisp.org>
82778
82779         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
82780         instead of $dry_run.
82781         (func_cp_if_changed, func_mv_if_changed): Remove functions.
82782         (func_ln_if_changed): Don't handle dry-run here.
82783         (func_import): In dry-run mode, detect more precisely which actions
82784         would be performed, and don't use "...ing" verbs.
82785
82786 2005-09-18  Bruno Haible  <bruno@clisp.org>
82787
82788         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
82789         (func_import): Use join on two temporary files instead of three nested
82790         loops, in order to determine which files are new or old.
82791
82792 2005-09-18  Bruno Haible  <bruno@clisp.org>
82793
82794         * gnulib-tool (func_import): Comment out code that spits out the
82795         new files with --dry-run.
82796
82797 2005-09-18  Bruno Haible  <bruno@clisp.org>
82798
82799         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
82800
82801 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82802
82803         * lib/stat-time.h: New file.
82804         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
82805         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
82806         in a different way.
82807         (timespec_cmp): New function.
82808         * lib/utimecmp.c: Include stat-time.h.
82809         (SYSCALL_RESOLUTION): Depend on whether various struct stat
82810         members exist, not on the obsolescent ST_MTIM_NSEC.
82811         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
82812
82813 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82814
82815         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
82816
82817 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82818
82819         * MODULES.html.sh (File system functions): Add stat-time.
82820         * modules/stat-time: New file.
82821         * modules/timespec (Files): Remove m4/st_mtim.m4; this
82822         is now done in a different way, by the stat-time module.
82823         * modules/utimecmp (Depends-on): Add stat-time.
82824
82825 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
82826
82827         * m4/st_mtim.m4: Remove.  Superseded by...
82828         * m4/stat-time.m4: New file.
82829         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
82830         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
82831
82832 2005-09-15  Derek Price  <derek@ximbiot.com>
82833
82834         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
82835
82836 2005-09-15  Derek Price  <derek@ximbiot.com>
82837
82838         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
82839         * lib/regex_internal.c: Ditto, using this...
82840         (__GNUC_PREREQ): ...new macro.
82841         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
82842         using...
82843         (__GNUC_PREREQ): ...this new macro.
82844
82845         * lib/strstr.h: Include string.h. Define strstr as a macro here.
82846
82847 2005-09-15  Derek Price  <derek@ximbiot.com>
82848             Paul Eggert  <eggert@cs.ucla.edu>
82849
82850         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
82851         changes, consolidating in...
82852         * lib/regex_internal.h: ...this file.
82853
82854 2005-09-13  Jim Meyering  <jim@meyering.net>
82855
82856         * lib/canon-host.c: Filter through gnu indent and reword comments
82857         slightly.
82858         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
82859
82860 2005-09-13  Derek Price  <derek@ximbiot.com>
82861
82862         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
82863         failure.
82864         Reported by Jim Meyering  <jim@meyering.net>.
82865
82866 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82867
82868         * lib/base64.c: Typo.
82869         (base64_encode): Put b64str in initialized data section.
82870
82871 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82872
82873         Merge glibc and coreutils changes into gnulib, plus a few
82874         extra fixes.
82875         * lib/md5.c: Use #error rather than a string.
82876         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
82877         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
82878         (__attribute__): Define to empty for non recent-GCC.
82879         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
82880         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
82881         Renamed from their non-__ counterparts, with new macros replacing
82882         them if not _LIBC.  Add __THROW attribute.
82883         (rol): Remove.
82884         (struct md5_ctx): Align buffer if using GCC.
82885         * lib/sha1.h (struct sha1_ctx): Likewise.
82886         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
82887         The old name was backwards.
82888         (NOTSWAP): Remove; not used.
82889         (rol): New macro, moved here from md5.h.
82890         (sha1_process_block): Remove a FIXME that doesn't make sense.
82891
82892 2005-09-12  Derek Price  <derek@ximbiot.com>
82893
82894         Return usable errors from canon-host.
82895         * lib/canon-host.h: New file.
82896         * lib/canon-host.c (canon_host): Wrap...
82897         (canon_host_r): ...this new function, which now relies exclusively on
82898         getaddrinfo.
82899         (ch_strerror): New function.
82900         (last_cherror): New global.
82901         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
82902         interface.
82903         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
82904         void *.
82905         (freeaddrinfo): Free ai->ai_canonname when set.
82906
82907 2005-09-12  Derek Price  <derek@ximbiot.com>
82908
82909         Make canon-host require getaddrinfo.
82910         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
82911         AC_LIBSOURCE canon-host.h.  Call...
82912         (gl_PREREQ_CANON_HOST): ...this new function, which requires
82913         gl_GETADDRINFO.
82914         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
82915
82916 2005-09-12  Derek Price  <derek@ximbiot.com>
82917
82918         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
82919         LGPL.
82920         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
82921
82922 2005-09-12  Derek Price  <derek@ximbiot.com>
82923
82924         * lib/gai_strerror.c: Include config.h when available.  Include
82925         getaddrinfo.h before other headers to test interface.
82926         Reported by Larry Jones <lawrence.jones@ugs.com>.
82927
82928 2005-09-12  Derek Price  <derek@ximbiot.com>
82929             Paul Eggert  <eggert@cs.ucla.edu>
82930
82931         * modules/glob (Files): Add glob-libc.h.
82932
82933 2005-09-12  Derek Price  <derek@ximbiot.com>
82934             Paul Eggert  <eggert@cs.ucla.edu>
82935
82936         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
82937         glob_.h, glob-libc.h.
82938         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
82939
82940 2005-09-12  Derek Price  <derek@ximbiot.com>
82941             Paul Eggert  <eggert@cs.ucla.edu>
82942
82943         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82944         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82945         protecting things that should be done only in gnulib contexts.
82946         * lib/glob_.h: New file, containing only the glob things needed for
82947         gnulib.
82948         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82949         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82950         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82951         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82952         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82953         and to respect the namespace rules better.
82954
82955 2005-09-08  Simon Josefsson  <jas@extundo.com>
82956
82957         * modules/socklen: New file.
82958
82959 2005-09-08  Simon Josefsson  <jas@extundo.com>
82960
82961         * m4/socklen.m4: New file.
82962
82963 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82964
82965         * modules/utimens (Files): Add m4/utimbuf.m4, since
82966         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82967         Reported by Sergey Poznyakoff.
82968
82969 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82970
82971         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82972         definitions, since that's the preferred style in glibc.
82973         Fix a minor spacing issue, and update copyright notice to match
82974         glibc's.
82975
82976 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82977
82978         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82979
82980 2005-09-06  Simon Josefsson  <jas@extundo.com>
82981
82982         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82983         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82984
82985 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82986
82987         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82988         warning.
82989
82990 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82991
82992         * config/srclist.txt: Add glibc bug 1302.
82993
82994 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82995
82996         Change bitset word type from unsigned int to unsigned long int,
82997         as this has better performance on typical 64-bit hosts.
82998         Port bitset code to hosts with unusual word sizes.
82999         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
83000         (build_collating_symbol):
83001         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
83002         argument is a bitset.  This is merely a style issue, but it makes
83003         it clearer that an entire array is expected.
83004         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
83005         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
83006         Port to the case where bitset_word is not the same as unsigned int.
83007         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
83008         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
83009         Likewise.
83010         * lib/regexec.c (check_dst_limits_calc_pos_1,
83011         check_subexp_matching_top):
83012         (build_trtable, group_nodes_into_DFAstates):
83013         Likewise.
83014         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
83015         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
83016         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
83017         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
83018         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
83019         * lib/regcomp.c (optimize_subexps, lower_subexp):
83020         Work even if bitset_word has holes in its bitwise representation.
83021         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
83022         * lib/regexec.c (check_dst_limits_calc_pos_1,
83023         check_subexp_matching_top):
83024         Likewise.
83025         * lib/regex_internal.c (re_string_reconstruct):
83026         Don't assume UCHAR_MAX == 255.
83027         * lib/regex_internal.h (bitset_set_all): Likewise.
83028         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
83029         All uses changed.
83030         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
83031         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
83032         All uses changed.
83033         (BITSET_WORD_MAX): New macro.
83034         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
83035         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
83036         (bitset_empty, bitset_copy):
83037         Prefer sizeof (bitset) to multiplying it out ourselves.
83038         (bitset_not_merge): Remove; unused.
83039         (bitset_contain): Return bool, not unsigned int with one bit on.
83040         All callers changed.
83041         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
83042         alignment than re_node_set; do this by defining a new internal
83043         type struct dests_alloc and using it to allocate memory.
83044
83045 2005-09-05  Bruno Haible  <bruno@clisp.org>
83046
83047         * gnulib-tool (func_import): Fix comparison in handling of symbolic
83048         links.
83049
83050 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
83051
83052         * modules/size_max (Makefile.am): Add size_max.h
83053
83054 2005-09-04  Derek Price  <derek@ximbiot.com>
83055
83056         * gnulib-tool (func_import): Fix reversed $symbolic logic.
83057
83058 2005-09-03  Simon Josefsson  <jas@extundo.com>
83059
83060         * gnulib-tool: Fix typo.
83061
83062 2005-09-03  Simon Josefsson  <jas@extundo.com>
83063
83064         * config/srclist.txt: Add glibc bug 1293.
83065
83066 2005-09-03  Derek Price  <derek@ximbiot.com>
83067
83068         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
83069         From Larry Jones <lawrence.jones@ugs.com>.
83070
83071 2005-09-02  Simon Josefsson  <jas@extundo.com>
83072
83073         * modules/socklen: New file.
83074
83075 2005-09-02  Simon Josefsson  <jas@extundo.com>
83076
83077         * modules/havelib: New module.
83078
83079         * modules/gettext, modules/iconv, modules/lock, modules/readline:
83080         Use havelib.
83081
83082 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
83083
83084         Check for arithmetic overflow when calculating sizes, to prevent
83085         some buffer-overflow issues.  These patches are conservative, in the
83086         sense that when I couldn't determine whether an overflow was possible,
83087         I inserted a run-time check.
83088         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
83089         macros.
83090         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
83091         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
83092         (re_xnrealloc, re_x2nrealloc): New inline functions.
83093         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
83094         parse_bracket_exp):
83095         (build_equiv_class, build_charclass): Check for arithmetic overflow
83096         in size expression calculations.
83097         * lib/regex_internal.c (re_string_realloc_buffers):
83098         (build_wcs_upper_buffer, re_node_set_add_intersect):
83099         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
83100         (re_dfa_add_node, register_state): Likewise.
83101         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
83102         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
83103         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
83104         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
83105
83106 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
83107
83108         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83109         m4/ulonglong.m4.  Problem reported by Martin Lambers.
83110
83111 2005-09-02  Bruno Haible  <bruno@clisp.org>
83112
83113         Support for lib vs. lib64 distinction on biarch platforms.
83114         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
83115         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
83116         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
83117
83118 2005-09-02  Bruno Haible  <bruno@clisp.org>
83119
83120         * gnulib-tool (import): In the other first-use case, provide defaults
83121         as well.
83122
83123 2005-09-02  Bruno Haible  <bruno@clisp.org>
83124
83125         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
83126         patches not yet found in the latest gettext release.
83127
83128 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
83129
83130         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
83131         to avoid a collision with bits/local_lim.h in glibc.
83132         All uses changed.  Problem reported by Dmitry V. Levin in
83133         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
83134
83135         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
83136         bugs in int versus size_t comparisons.
83137         (re_string_context_at): Fix bug where the code assumed that
83138         Idx is signed.
83139
83140         Use bool where appropriate.
83141         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
83142         All callers changed.
83143         (calc_eclosure_iter): Likewise, for ROOT arg.
83144         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
83145         (build_charclass_op): Likewise, for NON_MATCH arg.
83146         * lib/regex_internal.c (re_string_allocate, re_string_construct):
83147         (re_string_construct_common): Likewise, for ICASE arg.
83148         * lib/regexec.c (re_search_2_stub, re_search_stub):
83149         Likewise, for RET_LEN arg.
83150         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
83151         (set_regs): Likewise, for FL_BACKTRACK arg.
83152         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
83153         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
83154         (calc_eclosure_iter, parse_bracket_exp):
83155         Use bool for internal variables that are booleans.
83156         * lib/regexec.c (re_search_internal, check_matching,
83157         proceed_next_node):
83158         (set_regs, build_sifted_states, sift_states_bkref):
83159         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
83160         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83161         (find_collation_sequence_value):
83162         Likewise.
83163         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
83164         (re_node_set_compare):
83165         Return bool, not int. All callers changed.
83166         * lib/regexec.c (check_halt_node_context, check_dst_limits):
83167         (build_trtable, check_node_accept): Likewise.
83168         * lib/regex_internal.h: Include stdbool.h.
83169
83170         Fix bugs uncovered when converting to bool.
83171         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
83172         failure instead of charging ahead blindly.
83173         * lib/regex_internal.c (register_state): Likewise.
83174         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
83175         for freeing internal storage.
83176         (group_nodes_into_DFA_states): Use unsigned int, not int, for
83177         bitset pieces used as boolean, to avoid undefined behavior
83178         on hosts that do int overflow checking.
83179
83180 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
83181
83182         * config/srclist.txt: Add glibc bugs 1285-1287.
83183
83184 2005-09-01  Jim Meyering  <jim@meyering.net>
83185
83186         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
83187         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
83188         Require gl_STAT_MACROS, too.
83189
83190 2005-09-01  Bruno Haible  <bruno@clisp.org>
83191
83192         * gnulib-tool (import): In the first-use case, provide defaults.
83193
83194 2005-09-01  Bruno Haible  <bruno@clisp.org>
83195
83196         * gnulib-tool (func_import): Remove the .tmp files.
83197
83198 2005-09-01  Bruno Haible  <bruno@clisp.org>
83199
83200         * gnulib-tool (func_import): Fix handling of symbolic links.
83201
83202 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83203
83204         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
83205         old glibc regex code mishandles strings longer than 2**31 bytes.
83206         This patch fixes this when the regex code is used in gnulib
83207         (i.e., outside glibc).
83208
83209         This patch should not affect the use of the regex code inside
83210         glibc.  No doubt this problem also needs to be handled for glibc
83211         as well, but the result will be an incompatible change to the
83212         glibc ABI, and the old ABI will have to be supported too.  That
83213         can be the the subject for another patch.
83214
83215         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
83216         governing whether the rest of this patch is active.  By default,
83217         the macro is disabled and the patch has no effect.
83218         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
83219         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
83220         (struct re_pattern_buffer, re_search, re_search_2, re_match):
83221         (re_match_2, re_set_registers): Use the new types.
83222         * lib/regex_internal.h (Idx, re_hashval_t): New types.
83223         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
83224         New macros.
83225         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
83226         (re_string_context_at, bin_tree_t, re_dfastate_t):
83227         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
83228         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
83229         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
83230         (re_string_char_size_at, re_string_wchar_at):
83231         (re_string_elem_size_at):
83232         Use the new types and macros to port to 64-bit hosts.
83233         Use unsigned types for internal values, so that the code
83234         mostly works even for arrays larger than SSIZE_MAX.
83235         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
83236         (search_duplicated_node, calc_eclosure_iter, fetch_number):
83237         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
83238         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
83239         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
83240         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
83241         (calc_inveclosure, parse_dup_op, build_range_exp):
83242         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
83243         (fetch_number, create_token_tree, mark_opt_subexp):
83244         Likewise.
83245         * lib/regex_internal.c (re_string_construct_common,
83246         create_ci_newstate):
83247         (create_cd_newstate, re_string_allocate, re_string_construct):
83248         (re_string_realloc_buffers, build_wcs_upper_buffer):
83249         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83250         (re_string_reconstruct, re_string_peek_byte_case):
83251         (re_string_fetch_byte_case, re_string_context_at):
83252         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83253         (re_node_set_init_copy, re_node_set_add_intersect):
83254         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83255         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83256         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83257         (re_acquire_state, re_acquire_state_context, register_state):
83258         Likewise.
83259         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
83260         search_cur_bkref_entry):
83261         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
83262         (re_search_internal, re_search_2_stub, re_search_stub)
83263         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
83264         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
83265         (update_cur_sifted_state, check_dst_limits):
83266         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
83267         (check_subexp_limits, sift_states_bkref, merge_state_array):
83268         (check_subexp_matching_top, get_subexp, get_subexp_sub):
83269         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
83270         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83271         (expand_bkref_cache, check_node_accept_bytes):
83272         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
83273         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
83274         (acquire_init_state_context, check_halt_node_context):
83275         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
83276         (sift_states_backward, clean_state_log_if_needed):
83277         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
83278         (find_recover_state, transit_state_sb, transit_state_mb):
83279         (transit_state_bkref, build_trtable, match_ctx_clean):
83280         Likewise.
83281         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
83282         to work around an assumption that REG_MISSING is negative.
83283
83284         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
83285         (seek_collating_symbol_entry) [defined _LIBC]:
83286         (lookup_collation_sequence_value) [defined _LIBC]:
83287         (build_range_exp, build_collating_symbol) [defined _LIBC]:
83288         Use prototypes rather than old-style function definitions.
83289         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
83290         (transit_state_sb) [0]:
83291         (find_collation_sequence_value) [defined _LIBC]: Likewise.
83292
83293         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
83294         rm_eo.
83295
83296         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
83297         (optimize_subexps, lower_subexp):
83298         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
83299         since the signed shift might overflow.  Use 1u<<31 instead.
83300         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
83301         Likewise.
83302         * lib/regexec.c (check_dst_limits_calc_pos_1,
83303         check_subexp_matching_top): Likewise.
83304
83305         * lib/regcomp.c (optimize_subexps, lower_subexp):
83306         Use CHAR_BIT rather than 8, for clarity.
83307         * lib/regexec.c (check_dst_limits_calc_pos_1):
83308         (check_subexp_matching_top): Likewise.
83309         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
83310         have to worry about portability issues when shifting it left.
83311         Remove no-longer-needed test for table_size > 0.
83312         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
83313         in a word, as the resulting behavior is undefined.
83314         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
83315         in one case, a <= should have been an <, and in another case the
83316         whole test was missing.
83317         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
83318         the standard name CHAR_BIT.
83319         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
83320         this is not true on one's complement and signed-magnitude hosts.
83321
83322         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
83323         next_last_offset.
83324         (struct re_dfa_t): Remove unused member states_alloc.
83325         * lib/regcomp.c (init_dfa): Don't initialize unused members.
83326
83327 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83328
83329         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
83330         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
83331         and large-file glibc and in 32-bit large-file Solaris.
83332
83333 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83334
83335         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
83336         lengths fit in regoff_t; this isn't true if regoff_t is the same
83337         width as size_t.
83338         * lib/regex.c (re_search_internal): 5th arg is LAST_START
83339         (= START + RANGE) instead of RANGE.  This avoids overflow
83340         problems when regoff_t is the same width as size_t.
83341         All callers changed.
83342         (re_search_2_stub): Check for overflow when adding the
83343         sizes of the two strings.
83344         (re_search_stub): Check for overflow when adding START
83345         to RANGE; if it occurs, substitute the extreme value.
83346
83347 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83348
83349         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
83350
83351 2005-08-31  Jim Meyering  <jim@meyering.net>
83352
83353         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
83354         a pointer-to-const.
83355         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
83356         (register_state): Likewise.
83357         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
83358         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
83359         (group_nodes_into_DFAstates): Likewise.
83360
83361 2005-08-31  Jim Meyering  <jim@meyering.net>
83362
83363         * check-module: Add a FIXME comment.
83364
83365 2005-08-31  Eric Blake  <ebb9@byu.net>
83366
83367         * modules/unistd-safer (Files): Add unistd--.h.
83368         * modules/stdio-safer (Files): Add stdio--.h.
83369
83370 2005-08-31  Derek Price  <derek@ximbiot.com>
83371
83372         * lib/getdelim.c (getdelim): Return EOF on EOF.
83373         Reported by Larry Jones <lawrence.jones@ugs.com>.
83374
83375 2005-08-31  Bruno Haible  <bruno@clisp.org>
83376
83377         Avoid unnecessary diffs in the generated lib/Makefile.am.
83378         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
83379         the generated files.
83380         (func_import): Don't set cmd.
83381
83382 2005-08-31  Bruno Haible  <bruno@clisp.org>
83383
83384         * lib/strstr.c: Include <stddef.h>, for NULL.
83385         * lib/strcasestr.c: Likewise.
83386         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83387
83388 2005-08-31  Bruno Haible  <bruno@clisp.org>
83389
83390         * gnulib-tool: New option --macro-prefix.
83391         (func_import): Use macro_prefix.
83392         (import): Handle option --macro-prefix.
83393
83394 2005-08-31  Bruno Haible  <bruno@clisp.org>
83395
83396         * gnulib-tool (import): Rename most ac_* variables to cached_*.
83397         Also use new variables cached_lgpl, cached_libtool.
83398
83399 2005-08-31  Bruno Haible  <bruno@clisp.org>
83400
83401         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
83402         always instantiating them.
83403
83404 2005-08-31  Bruno Haible  <bruno@clisp.org>
83405
83406         * gnulib-tool (func_import): Read the previous cached settings
83407         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
83408         earlier added by gnulib but are now dropped. Warn when a gnulib file
83409         overwrites a non-gnulib file.
83410
83411 2005-08-31  Bruno Haible  <bruno@clisp.org>
83412
83413         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
83414         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
83415         projects that don't keep autogenerated files in CVS. Put into
83416         actioncmd only the specified modules, not the transitive closure.
83417
83418 2005-08-31  Bruno Haible  <bruno@clisp.org>
83419
83420         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
83421         Create directories that shall be filled.
83422         (import): Don't look for gl_* macros in configure.ac. Recurse across
83423         all directories containing a gnulib-cache.m4 files, if meaningful.
83424
83425 2005-08-31  Bruno Haible  <bruno@clisp.org>
83426
83427         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
83428         (import): Set seen_libtool when we see gl_LIBTOOL.
83429
83430 2005-08-31  Bruno Haible  <bruno@clisp.org>
83431
83432         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
83433         declaration macro definitions from generated gnulib.m4.
83434
83435 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
83436
83437         * lib/iconvme.h: Add prototype for iconv_alloc.
83438
83439 2005-08-29  Simon Josefsson  <jas@extundo.com>
83440
83441         * lib/iconvme.c: Fix errno.
83442
83443 2005-08-29  Bruno Haible  <bruno@clisp.org>
83444
83445         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
83446         that it works when the directory contains spaces.
83447
83448 2005-08-29  Bruno Haible  <bruno@clisp.org>
83449
83450         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
83451
83452 2005-08-29  Bruno Haible  <bruno@clisp.org>
83453
83454         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
83455         Emit more advice.
83456
83457 2005-08-29  Bruno Haible  <bruno@clisp.org>
83458         and Stepan Kasal  <kasal@ucw.cz>
83459
83460         * check-module: If more parameters are given, check each of them
83461         separately; add more exceptions, as noted by Jim Meyering.
83462         (check_module): New procedure.
83463         (%exempt_header): Now contains all exceptions.
83464
83465 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
83466
83467         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
83468
83469 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83470
83471         * lib/iconvme.c: Split iconv_string into iconv_alloc.
83472
83473 2005-08-28  Bruno Haible  <bruno@clisp.org>
83474
83475         * m4/gnulib-tool.m4: New file.
83476
83477 2005-08-27  Jim Meyering  <jim@meyering.net>
83478
83479         * modules/unistd-safer (Files): Add pipe-safer.c.
83480         * modules/fcntl-safer (Files): Add creat-safer.c.
83481
83482 2005-08-27  Jim Meyering  <jim@meyering.net>
83483
83484         * m4/stdlib-safer.m4: New file.  From coreutils.
83485         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
83486         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
83487         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
83488         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
83489         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
83490
83491 2005-08-27  Jim Meyering  <jim@meyering.net>
83492
83493         * lib/fopen-safer.c: Merge minor changes from coreutils.
83494         * lib/dup-safer.c: Likewise.
83495         * lib/fd-safer.c: Likewise.
83496
83497         Merge from coreutils.
83498         * lib/stdio--.h: New file.
83499         * lib/stdlib--.h: New file.
83500         * lib/mkstemp-safer.c: New file.
83501
83502         GNU tar needs these.
83503         * lib/pipe-safer.c: New file.
83504         * lib/creat-safer.c: New file.
83505         * lib/fcntl--.h (creat): Define to creat_safer.
83506         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
83507         * lib/unistd--.h (pipe): Define to pipe_safer.
83508         * lib/unistd-safer.h: Declare pipe_safer.
83509
83510 2005-08-26  Simon Josefsson  <jas@extundo.com>
83511
83512         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
83513         Haible <bruno@clisp.org>.
83514
83515 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
83516
83517         * lib/regex_internal.h: Remove all references to
83518         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
83519         or better.
83520         (bitset_not, bitset_merge, bitset_not_merge):
83521         (bitset_mask, re_string_allocate, re_string_construct):
83522         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
83523         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
83524         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
83525         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
83526         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83527         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83528         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
83529         (re_acquire_state_context):
83530         Remove unnecessary forward decls.
83531         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
83532         Put __attribute at function definition,
83533         now that the function decl has been removed.
83534         * lib/regex_internal.c (re_string_peek_byte_case):
83535         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
83536         Likewise.
83537
83538 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
83539
83540         * m4/regex.m4: Add AC_PREREQ(2.50).
83541         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
83542
83543 2005-08-25  Simon Josefsson  <jas@extundo.com>
83544
83545         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
83546         __fsetlocking.
83547
83548 2005-08-25  Simon Josefsson  <jas@extundo.com>
83549
83550         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
83551         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
83552         GLIBC specific code.
83553
83554 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83555
83556         Make regex safe for g++.  This fixes one real bug (an "err"
83557         that should have been "*err").  g++ problem reported by
83558         Sam Steingold.
83559         * lib/regex_internal.h (re_calloc): New macro, consistent with
83560         re_malloc etc.  All callers of calloc changed to use re_calloc.
83561         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
83562         not int.  All callers changed.
83563         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
83564         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
83565         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
83566         (find_recover_state): Change "err" to "*err"; this fixes what
83567         appears to be a real bug.
83568         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
83569         versus int.
83570
83571 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83572
83573         * modules/regex (Depends-on): Add malloc, since the code
83574         assumes that !malloc(0) means failure.
83575
83576 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83577
83578         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
83579
83580         alloca modernization/simplification for regex.
83581         * lib/regex.c: Remove portability cruft for alloca.  This no longer
83582         needs to be at the start of the file, and can be moved into
83583         regex_internal.h and simplified.
83584         * lib/regex_internal.h: Include <alloca.h>.
83585         (__libc_use_alloca) [!defined _LIBC]: New macro.
83586         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
83587         now works outside glibc.
83588
83589 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83590
83591         * config/srclist.txt: Add glibc bugs 1241, 1245.
83592
83593 2005-08-25  Jim Meyering  <jim@meyering.net>
83594
83595         * lib/open-safer.c: Include <config.h>.
83596         Otherwise, we'd lose LARGEFILE support in any file using
83597         e.g. "fcntl--.h"
83598
83599 2005-08-25  Bruno Haible  <bruno@clisp.org>
83600
83601         * m4/minmax.m4: Require autoconf 2.52.
83602         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
83603         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
83604         alternatives of translit over the alphabet.
83605         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
83606
83607 2005-08-24  Simon Josefsson  <jas@extundo.com>
83608
83609         * tests/test-getpass.c: New file.
83610
83611 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83612
83613         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
83614         for GNU regex features.
83615
83616 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83617
83618         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
83619         * lib/regex.h (regerror): Likewise.
83620
83621         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
83622         requires this.  (The code never needed it.)
83623
83624         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
83625         All uses of recently-renamed identifiers changed to use the new,
83626         POSIX-compliant names.  The code will build and run just fine
83627         without these changes, but it's better to eat our own dog food
83628         and use the standard-conforming names.
83629
83630         * lib/regex.h: Fix a multitude of POSIX name space violations.
83631         These changes have an effect only for programs that define
83632         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
83633         do not change anything for programs compiled in the normal way.
83634         Also, there is no effect on the ABI.
83635
83636         (_REGEX_SOURCE): New macro.
83637         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
83638         defined and _GNU_SOURCE is not; this fixes a name space violation.
83639
83640         Rename the following macros to obey POSIX requirements.
83641         The old names are still visible as macros if _REGEX_SOURCE is defined.
83642         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
83643         RE_BACKSLASH_ESCAPE_IN_LISTS.
83644         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
83645         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
83646         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
83647         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
83648         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
83649         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
83650         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
83651         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
83652         (REG_INTERVALS): renamed from RE_INTERVALS.
83653         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
83654         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
83655         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
83656         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
83657         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
83658         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
83659         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
83660         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
83661         RE_UNMATCHED_RIGHT_PAREN_ORD.
83662         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
83663         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
83664         (REG_DEBUG): renamed from RE_DEBUG.
83665         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
83666         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
83667         unusual, since we can't clash with the POSIX REG_ICASE.
83668         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
83669         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
83670         (REG_NO_SUB): renamed from RE_NO_SUB.
83671         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
83672         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
83673         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
83674         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
83675         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
83676         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
83677         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
83678         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
83679         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
83680         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
83681         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
83682         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
83683         RE_SYNTAX_POSIX_MINIMAL_BASIC.
83684         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
83685         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
83686         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
83687         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
83688         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
83689         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
83690         (REG_FIXED): Renamed from REGS_FIXED.
83691         (REG_NREGS): Renamed from RE_NREGS.
83692
83693         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
83694         of other REG_* macros, since POSIX says the user is allowed to
83695         #undef these macros selectively.
83696
83697         (reg_errcode_t): Update comment stating what other tables need
83698         to be consistent.
83699
83700         Rename the following enum values to obey POSIX requirements.
83701         The old names are still visible as macros.
83702         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
83703         is not defined, since GNU is supposed to be a superset of POSIX as
83704         much as possible, and since we want reg_errcode_t to be a signed
83705         type for implementation consistency.
83706         (_REG_NOERROR): Renamed from REG_NOERROR.
83707         (_REG_NOMATCH): Renamed from REG_NOMATCH.
83708         (_REG_BADPAT): Renamed from REG_BADPAT.
83709         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
83710         (_REG_ECTYPE): Renamed from REG_ECTYPE.
83711         (_REG_EESCAPE): Renamed from REG_EESCAPE.
83712         (_REG_ESUBREG): Renamed from REG_ESUBREG.
83713         (_REG_EBRACK): Renamed from REG_EBRACK.
83714         (_REG_EPAREN): Renamed from REG_EPAREN.
83715         (_REG_EBRACE): Renamed from REG_EBRACE.
83716         (_REG_BADBR): Renamed from REG_BADBR.
83717         (_REG_ERANGE): Renamed from REG_ERANGE.
83718         (_REG_ESPACE): Renamed from REG_ESPACE.
83719         (_REG_BADRPT): Renamed from REG_BADRPT.
83720         (_REG_EEND): Renamed from REG_EEND.
83721         (_REG_ESIZE): Renamed from REG_ESIZE.
83722         (_REG_ERPAREN): Renamed from REG_ERPAREN.
83723         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
83724         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
83725         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
83726         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
83727
83728         (_REG_RE_NAME, _REG_RM_NAME): New macros.
83729         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
83730         changed.  But support the old name if the new one is not defined
83731         and if _REGEX_SOURCE.
83732
83733         Change the following member names in struct re_pattern_buffer.
83734         The old names are still supported if !_REGEX_SOURCE.
83735         The new names are always supported, regardless of _REGEX_SOURCE.
83736         (re_buffer): Renamed from buffer.
83737         (re_allocated): Renamed from allocated.
83738         (re_used): Renamed from used.
83739         (re_syntax): Renamed from syntax.
83740         (re_fastmap): Renamed from fastmap.
83741         (re_translate): Renamed from translate.
83742         (re_can_be_null): Renamed from can_be_null.
83743         (re_regs_allocated): Renamed from regs_allocated.
83744         (re_fastmap_accurate): Renamed from fastmap_accurate.
83745         (re_no_sub): Renamed from no_sub.
83746         (re_not_bol): Renamed from not_bol.
83747         (re_not_eol): Renamed from not_eol.
83748         (re_newline_anchor): Renamed from newline_anchor.
83749
83750         Change the following member names in struct re_registers.
83751         The old names are still supported if !_REGEX_SOURCE.
83752         The new names are always supported, regardless of _REGEX_SOURCE.
83753         (rm_num_regs): Renamed from num_regs.
83754         (rm_start): Renamed from start.
83755         (rm_end): Renamed from end.
83756
83757         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
83758         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
83759         Prepend __ to parameter names.
83760
83761         Undo yesterday's changes.
83762
83763 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83764
83765         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
83766         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
83767         lib/regex.c.
83768
83769 2005-08-24  Jim Meyering  <jim@meyering.net>
83770
83771         Sync from coreutils.
83772         * m4/fcntl-safer.m4: New file.
83773
83774         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
83775         and object files for this module.
83776
83777 2005-08-24  Jim Meyering  <jim@meyering.net>
83778
83779         Sync from coreutils.
83780         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
83781
83782 2005-08-24  Jim Meyering  <jim@meyering.net>
83783
83784         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
83785         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
83786
83787 2005-08-24  Jim Meyering  <jim@meyering.net>
83788
83789         * modules/fcntl-safer: New module.
83790         * modules/fts (Depends-on): Add fcntl-safer.
83791         * MODULES.html.sh (File descriptor based Input/Output):
83792         Add fcntl-safer.
83793
83794 2005-08-24  Bruno Haible  <bruno@clisp.org>
83795
83796         Support for unit test modules.
83797         * modules/README: Mention tests modules.
83798         * modules/TEMPLATE-TESTS: New file.
83799         * gnulib-tool: New options --extract-tests-module, --with-tests and
83800         --tests-base (unused for the moment).
83801         (testsbase, inctests): New variables.
83802         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
83803         (func_verify_module): Exclude TEMPLATE-TESTS.
83804         (func_verify_nontests_module, func_verify_tests_module): New functions.
83805         (func_get_dependencies): Add implicit dependency for tests modules.
83806         (func_get_tests_module): New function.
83807         (func_modules_transitive_closure): When --with-tests was specified,
83808         include the unit tests as well, unless explicitly avoided.
83809         (func_emit_lib_Makefile_am): Ignore the tests modules here.
83810         (func_emit_tests_Makefile_am): New function.
83811         (func_create_testdir): When --with-tests was specified, emit a
83812         tests/ directory.
83813         * MODULES.html.sh (Future developments): Update.
83814
83815 2005-08-24  Bruno Haible  <bruno@clisp.org>
83816
83817         * modules/tls-tests: New file.
83818         * tests/test-tls.c: New file, from GNU gettext.
83819
83820 2005-08-24  Bruno Haible  <bruno@clisp.org>
83821
83822         * modules/lock-tests: New file.
83823         * tests/test-lock.c: New file, from GNU gettext.
83824
83825 2005-08-24  Bruno Haible  <bruno@clisp.org>
83826
83827         * lib/lock.h: Add multiple inclusion guard.
83828         * lib/tls.h: Add multiple inclusion guard.
83829
83830 2005-08-24  Bruno Haible  <bruno@clisp.org>
83831
83832         * gnulib-tool: Add support for the --aux-dir option to
83833         --create-testdir, --create-megatestdir, --test, --megatest.
83834         (func_create_testdir, func_create_megatestdir): Optionally emit a
83835         AC_CONFIG_AUX_DIR directive.
83836         (create-testdir, create-megatestdir, test, megatest): Provide a
83837         default value for $auxdir.
83838
83839 2005-08-24  Bruno Haible  <bruno@clisp.org>
83840
83841         * gnulib-tool (import): Use compound statement instead of subshell
83842         where possible.
83843
83844 2005-08-24  Bruno Haible  <bruno@clisp.org>
83845
83846         * gnulib-tool (import): Change --aux-dir default to "build-aux".
83847
83848 2005-08-24  Bruno Haible  <bruno@clisp.org>
83849
83850         * gnulib-tool (func_version): Update.
83851
83852 2005-08-24  Bruno Haible  <bruno@clisp.org>
83853
83854         * gnulib-tool (func_import, func_create_testdir,
83855         func_create_megatestdir): Quote all autoconf macro arguments.
83856
83857 2005-08-24  Bruno Haible  <bruno@clisp.org>
83858
83859         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
83860         option --force, because --force causes the aclocal.m4 of each
83861         subdirectory to be newer than the corresponding config.h.in.
83862
83863 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83864
83865         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
83866         All contents moved to gl_REGEX.
83867         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
83868         assume that it does.
83869
83870 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83871
83872         * lib/regex.h (REG_NOSYS)
83873         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
83874         Define, since POSIX requires it as of 2001.
83875         (_REG_ENOSYS)
83876         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
83877         New private symbol, used to keep the enum signed in all cases.
83878         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
83879         Youngman in
83880         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
83881
83882         * lib/regex_internal.c (re_string_skip_chars, register_state):
83883         (calc_state_hash):
83884         Remove forward decls; no longer needed now that we use prototypes.
83885         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
83886         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
83887         (clean_state_log_if_needed): Likewise.
83888
83889 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83890
83891         * config/srclist.txt: Add glibc bugs 1231-1233.
83892
83893 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83894
83895         Fix problems reported by Sam Steingold in
83896         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
83897         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
83898         assumed that reg_errcode_t is a signed type, which is not
83899         necessarily true if _XOPEN_SOURCE is not defined.
83900         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
83901         since some compilers warn about it otherwise.
83902
83903 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83904
83905         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
83906         (init_word_char, create_initial_state, duplicate_node_closure):
83907         (fetch_token, peek_token_bracket, build_range_exp):
83908         (build_collating_symbol): Remove forward decls; no longer needed
83909         now that we use prototypes.
83910
83911         * lib/regcomp.c:
83912         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
83913         (re_compile_fastmap_iter, regcomp, regerror, regfree):
83914         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
83915         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
83916         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
83917         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
83918         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
83919         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
83920         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
83921         (build_range_exp, build_collating_symbol, parse_bracket_exp):
83922         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
83923         (build_charclass, build_charclass_op, fetch_number, create_tree):
83924         (create_token_tree, mark_opt_subexp, duplicate_tree):
83925         Use prototypes rather than old-style definitions.
83926
83927         * lib/regex_internal.c:
83928         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
83929         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
83930         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83931         (re_string_reconstruct, re_string_peek_byte_case):
83932         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
83933         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83934         (re_node_set_init_copy, re_node_set_add_intersect):
83935         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83936         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83937         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83938         (re_acquire_state, re_acquire_state_context, register_state):
83939         (create_ci_newstate, create_cd_newstate, free_state):
83940         Likewise.
83941         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
83942         re_search_2):
83943         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83944         (re_search_internal, prune_impossible_nodes):
83945         (acquire_init_state_context, check_matching, static):
83946         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83947         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83948         (update_regs, sift_states_backward, build_sifted_states):
83949         (clean_state_log_if_needed, merge_state_array):
83950         (update_cur_sifted_state, add_epsilon_src_nodes):
83951         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83952         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83953         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83954         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83955         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83956         (check_arrival, check_arrival_add_next_nodes):
83957         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83958         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83959         (check_node_accept_bytes, check_node_accept, extend_buffers):
83960         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83961         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83962         (sift_ctx_init):
83963         Likewise.
83964
83965         * lib/regex_internal.h:
83966         (re_string_allocate, re_string_construct, re_string_reconstruct):
83967         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83968         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83969         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83970         (re_string_context_at, re_string_peek_byte_case):
83971         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83972         is defined, since we now use prototypes always.
83973
83974         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83975         C89 or better.  All uses removed.
83976
83977 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83978
83979         * config/srclist.txt: Add glibc bugs 1220-1227.
83980
83981 2005-08-20  Jim Meyering  <jim@meyering.net>
83982
83983         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83984         of unused local, dfa.
83985
83986 2005-08-20  Bruno Haible  <bruno@clisp.org>
83987
83988         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83989
83990 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83991
83992         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83993         (re_node_set_insert_last, re_dfa_add_node):
83994         Rename local variables to avoid GCC shadowing warnings.
83995
83996 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83997
83998         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83999         [defined lint]: Suppress bogus uninitialized-variable warnings.
84000
84001         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
84002         and let the caller return REG_ESPACE if out of space.  This
84003         removes an uninitialied-variable warning with GCC 4.0.1, and also
84004         avoids taking the address of a local variable.  All callers
84005         changed.
84006
84007 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84008
84009         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
84010         $LIBCSRC/posix/regexec.c.
84011         Add glibc bug 1217 for regcomp.c.
84012
84013 2005-08-19  Jim Meyering  <jim@meyering.net>
84014
84015         * lib/regexec.c (proceed_next_node): Redo local variables to
84016         avoid GCC shadowing warnings.
84017
84018 2005-08-18  Bruno Haible  <bruno@clisp.org>
84019
84020         * lib/strstr.c (strstr): Fix return value in multibyte case.
84021         * lib/strcasestr.c (strcasestr): Likewise.
84022
84023 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84024
84025         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
84026
84027 2005-08-17  Jim Meyering  <jim@meyering.net>
84028
84029         Make the %s format (seconds since the epoch) work for a negative
84030         number and when used with a zero-padded field width, e.g. %015s.
84031
84032         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
84033         label so that it precedes the code to set `digits'.  Otherwise,
84034         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
84035         print `00-22'.  Now, it prints `-0022', as it should.
84036
84037 2005-08-17  Bruno Haible  <bruno@clisp.org>
84038
84039         * modules/strstr (Files): Add m4/mbrtowc.m4.
84040         (Depends-on): Add mbuiter.
84041
84042 2005-08-17  Bruno Haible  <bruno@clisp.org>
84043
84044         * modules/strcasestr: New file.
84045         * MODULES.html.sh (String handling, based on ANSI C 89): Add
84046         strcasestr.
84047
84048 2005-08-17  Bruno Haible  <bruno@clisp.org>
84049
84050         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
84051
84052 2005-08-17  Bruno Haible  <bruno@clisp.org>
84053
84054         * modules/mbuiter: New file.
84055         * MODULES.html.sh (Extended multibyte and wide character utilities):
84056         Add mbuiter.
84057
84058 2005-08-17  Bruno Haible  <bruno@clisp.org>
84059
84060         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
84061         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
84062
84063 2005-08-17  Bruno Haible  <bruno@clisp.org>
84064
84065         * m4/strcasestr.m4: New file.
84066
84067 2005-08-17  Bruno Haible  <bruno@clisp.org>
84068
84069         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
84070         * lib/strstr.c: Completely rewritten, with multibyte locale support.
84071
84072 2005-08-17  Bruno Haible  <bruno@clisp.org>
84073
84074         * lib/strcasestr.h: New file.
84075         * lib/strcasestr.c: New file.
84076
84077 2005-08-17  Bruno Haible  <bruno@clisp.org>
84078
84079         * lib/strcasecmp.c: Use mbuiter.h.
84080
84081 2005-08-17  Bruno Haible  <bruno@clisp.org>
84082
84083         * lib/mbuiter.h: New file.
84084
84085 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
84086
84087         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
84088         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
84089         and gl_GETOPT are both invoked via different paths (as happens
84090         with GNU tar CVS because it uses both argp and getopt), the former
84091         wins.
84092
84093 2005-08-16  Bruno Haible  <bruno@clisp.org>
84094
84095         * modules/tls: New file.
84096         * MODULES.html.sh (Multithreading): Add tls.
84097
84098 2005-08-16  Bruno Haible  <bruno@clisp.org>
84099
84100         * modules/strnlen1: New file.
84101         * MODULES.html.sh (String handling): Add strnlen1.
84102
84103 2005-08-16  Bruno Haible  <bruno@clisp.org>
84104
84105         * modules/strcase (Files): Add m4/mbrtowc.m4.
84106         (Depends-on): Add strnlen1, mbchar.
84107
84108 2005-08-16  Bruno Haible  <bruno@clisp.org>
84109
84110         * modules/mbiter: New file.
84111         * MODULES.html.sh (Extended multibyte and wide character utilities):
84112         Add mbiter.
84113
84114 2005-08-16  Bruno Haible  <bruno@clisp.org>
84115
84116         * modules/mbfile: New file.
84117         * MODULES.html.sh (Extended multibyte and wide character utilities):
84118         Add mbfile.
84119
84120 2005-08-16  Bruno Haible  <bruno@clisp.org>
84121
84122         * modules/mbchar: New file.
84123         * MODULES.html.sh (Extended multibyte and wide character utilities):
84124         New section.
84125
84126 2005-08-16  Bruno Haible  <bruno@clisp.org>
84127
84128         * m4/tls.m4: New file, from GNU gettext.
84129
84130 2005-08-16  Bruno Haible  <bruno@clisp.org>
84131
84132         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
84133         always.
84134         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
84135
84136 2005-08-16  Bruno Haible  <bruno@clisp.org>
84137
84138         * m4/mbiter.m4: New file.
84139
84140 2005-08-16  Bruno Haible  <bruno@clisp.org>
84141
84142         * m4/mbfile.m4: New file.
84143
84144 2005-08-16  Bruno Haible  <bruno@clisp.org>
84145
84146         * m4/mbchar.m4: New file.
84147
84148 2005-08-16  Bruno Haible  <bruno@clisp.org>
84149
84150         * lib/tls.h: New file, from GNU gettext.
84151         * lib/tls.c: New file, from GNU gettext.
84152
84153 2005-08-16  Bruno Haible  <bruno@clisp.org>
84154
84155         * lib/strnlen1.h: New file.
84156         * lib/strnlen1.c: New file.
84157
84158 2005-08-16  Bruno Haible  <bruno@clisp.org>
84159
84160         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
84161         (mbi_init): Update.
84162         (mbi_avail, mbi_advance): Let the iteration end before the terminating
84163         NUL byte, not after it.
84164
84165 2005-08-16  Bruno Haible  <bruno@clisp.org>
84166
84167         * lib/strcase.h (strcasecmp): Add note in comments.
84168         * lib/strncasecmp.c: Use code from strcasecmp.c.
84169         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
84170         (strcasecmp): Work correctly in multibyte locales.
84171
84172 2005-08-16  Bruno Haible  <bruno@clisp.org>
84173
84174         * lib/mbiter.h: New file.
84175
84176 2005-08-16  Bruno Haible  <bruno@clisp.org>
84177
84178         * lib/mbfile.h: New file.
84179
84180 2005-08-16  Bruno Haible  <bruno@clisp.org>
84181
84182         * lib/mbchar.h: New file.
84183         * lib/mbchar.c: New file.
84184
84185 2005-08-16  Bruno Haible  <bruno@clisp.org>
84186
84187         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
84188         the valid ones. Makes the comparison operations transitive:
84189         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
84190         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
84191
84192 2005-08-15  Simon Josefsson  <jas@extundo.com>
84193
84194         * modules/ssize_t (License): Change to 'unlimited'.
84195
84196         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
84197
84198 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
84199
84200         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
84201         Add comments for each pending glibc patch.
84202
84203 2005-08-15  Bruno Haible  <bruno@clisp.org>
84204
84205         * lib/regex.h (__restrict_arr): Don't define to __restrict if
84206         __cplusplus is defined.
84207
84208 2005-08-14  Jim Meyering  <jim@meyering.net>
84209
84210         Sync from coreutils.
84211
84212         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
84213         Use the hash-table-based cycle-detection code not just when
84214         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
84215         Reported by James Youngman in
84216         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
84217         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
84218         FTS_TIGHT_CYCLE_CHECK.
84219         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
84220         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
84221         once again.
84222         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
84223         * lib/fts.c (fd_safer): Remove decl.
84224         Include fcntl--.h rather than unistd-safer.h
84225         (fts_safe_changedir): Don't call fd_safer; no longer needed
84226         now that we include fcntl--.h.
84227
84228 2005-08-12  Simon Josefsson  <jas@extundo.com>
84229
84230         * modules/getndelim2: Use ssize_t module.
84231         * modules/getnline: Likewise.
84232         * modules/safe-read: Likewise.
84233         * modules/xreadlink: Likewise.
84234
84235         * modules/ssize_t: New file.
84236
84237 2005-08-12  Simon Josefsson  <jas@extundo.com>
84238
84239         * m4/readline.m4: Look for termcap, curses or ncurses if required.
84240
84241 2005-08-12  Simon Josefsson  <jas@extundo.com>
84242
84243         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84244         ssize_t.
84245
84246 2005-08-12  Simon Josefsson  <jas@extundo.com>
84247
84248         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
84249         readline, getdelim and check_version.
84250         (Support for systems lacking ISO C 99: Sizes of integer types):
84251         Add size_max.
84252
84253 2005-08-12  Bruno Haible  <bruno@clisp.org>
84254
84255         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
84256
84257 2005-08-11  Simon Josefsson  <jas@extundo.com>
84258
84259         * modules/readline: New file.
84260
84261         * modules/strnlen (Files): Add strnlen.h.
84262
84263 2005-08-11  Simon Josefsson  <jas@extundo.com>
84264
84265         * m4/readline.m4: New file.
84266
84267 2005-08-11  Simon Josefsson  <jas@extundo.com>
84268
84269         * lib/readline.h, readline.c: New file.
84270
84271 2005-08-11  Simon Josefsson  <jas@extundo.com>
84272
84273         * doc/gnulib.texi (Initial import, Finishing touches): Mention
84274         gl_AVOID.
84275
84276 2005-08-11  Bruno Haible  <bruno@clisp.org>
84277
84278         * lib/strnlen.h (strnlen): Change parameter name to match comment.
84279
84280 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
84281
84282         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
84283
84284 2005-08-10  Simon Josefsson  <jas@extundo.com>
84285
84286         * tests/test-iconvme.c: New file.
84287
84288 2005-08-10  Simon Josefsson  <jas@extundo.com>
84289
84290         * m4/strnlen.m4: New file.
84291
84292         * m4/strndup.m4: Don't check for strnlen declaration, done in
84293         strnlen.m4.
84294
84295 2005-08-10  Simon Josefsson  <jas@extundo.com>
84296
84297         * lib/strndup.c: Use strnlen.h.
84298
84299         * lib/strnlen.h: New file.
84300
84301 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84302
84303         * README: Typos.
84304
84305 2005-08-02  Simon Josefsson  <jas@extundo.com>
84306
84307         * modules/readline: New file.
84308
84309 2005-08-02  Simon Josefsson  <jas@extundo.com>
84310
84311         * modules/getdelim: New file.
84312
84313         * modules/getline: Rewrite, don't use getndelim2.
84314
84315 2005-08-02  Simon Josefsson  <jas@extundo.com>
84316
84317         * m4/getline.m4: Separate out getdelim stuff into separate module.
84318
84319         * m4/getdelim.m4: New file.
84320
84321 2005-08-02  Simon Josefsson  <jas@extundo.com>
84322
84323         * lib/getline.h, getline.c: Rewrite.
84324
84325         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
84326
84327 2005-07-31  Bruno Haible  <bruno@clisp.org>
84328
84329         * lib/lock.h (gl_lock_initializer): New macro.
84330         (gl_lock_define_initialized): Use it.
84331         (gl_rwlock_initializer): New macro.
84332         (gl_rwlock_define_initialized): Use it.
84333         (gl_recursive_lock_initializer): New macro.
84334         (gl_recursive_lock_define_initialized): Use it.
84335
84336 2005-07-30  Karl Berry  <karl@gnu.org>
84337
84338         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
84339         Report from Ben Pfaff, regarding getopt.
84340
84341 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
84342
84343         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
84344         normal way.
84345         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
84346         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
84347         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
84348         (gl_GETOPT): Use the new macros.  Most of the implementation
84349         is moved to the new macros.  This is for programs like Emacs
84350         that don't want all the functionality of gl_GETOPT.
84351
84352 2005-07-26  Bruno Haible  <bruno@clisp.org>
84353
84354         * m4/lock.m4: Update from GNU gettext.
84355
84356 2005-07-26  Bruno Haible  <bruno@clisp.org>
84357
84358         * lib/lock.h: Update from GNU gettext.
84359         * lib/lock.c: Update from GNU gettext.
84360
84361 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
84362
84363         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
84364         obsolescent AC_TRY_RUN.  Include the default includes files, for
84365         'exit'.
84366
84367 2005-07-24  Bruno Haible  <bruno@clisp.org>
84368
84369         * modules/visibility: New file.
84370         * MODULES.html.sh (Misc): Add visibility.
84371
84372 2005-07-24  Bruno Haible  <bruno@clisp.org>
84373
84374         * m4/visibility.m4: New file.
84375
84376 2005-07-24  Bruno Haible  <bruno@clisp.org>
84377
84378         * doc/visibility.texi: New file.
84379
84380 2005-07-22  Bruno Haible  <bruno@clisp.org>
84381
84382         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
84383         $(ALLOCA_H), redundant through BUILT_SOURCES.
84384         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
84385         redundant through BUILT_SOURCES.
84386         * modules/byteswap (Makefile.am): Remove explicit dependency on
84387         $(BYTESWAP_H), redundant through BUILT_SOURCES.
84388         * modules/fnmatch (Makefile.am): Remove explicit dependency on
84389         $(FNMATCH_H), redundant through BUILT_SOURCES.
84390         * modules/getopt (Makefile.am): Remove explicit dependency on
84391         $(GETOPT_H), redundant through BUILT_SOURCES.
84392         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
84393         redundant through BUILT_SOURCES.
84394         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
84395         redundant through BUILT_SOURCES.
84396         * modules/stdbool (Makefile.am): Remove explicit dependency on
84397         $(STDBOOL_H), redundant through BUILT_SOURCES.
84398         * modules/stdint (Makefile.am): Remove explicit dependency on
84399         $(STDINT_H), redundant through BUILT_SOURCES.
84400         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
84401         Remove explicit dependency on $(SYSEXITS_H).
84402         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
84403
84404 2005-07-18  Simon Josefsson  <jas@extundo.com>
84405
84406         * lib/check-version.c (check_version): Accept identical versions too.
84407
84408 2005-07-18  Bruno Haible  <bruno@clisp.org>
84409
84410         * modules/lock: New file.
84411         * MODULES.html.sh (Multithreading): New section.
84412
84413 2005-07-18  Bruno Haible  <bruno@clisp.org>
84414
84415         * m4/lock.m4: New file, from GNU gettext.
84416
84417 2005-07-18  Bruno Haible  <bruno@clisp.org>
84418
84419         * lib/lock.h: New file, from GNU gettext.
84420         * lib/lock.c: New file, from GNU gettext.
84421
84422 2005-07-18  Bruno Haible  <bruno@clisp.org>
84423
84424         * lib/lock.h (gl_once_t): New type.
84425         (gl_once_define, gl_once): New macros.
84426         * lib/lock.c (fresh_once): New variable.
84427         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
84428         functions.
84429
84430 2005-07-16  Simon Josefsson  <jas@extundo.com>
84431
84432         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
84433         workaround, suggested by Bruno.
84434
84435 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
84436
84437         * modules/xalloc (Depends-on): Add xalloc-die.
84438         * modules/xvasprintf (Depends-on): Add xalloc-die.
84439
84440 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
84441
84442         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
84443         with a minor change.
84444
84445 2005-07-15  Bruno Haible  <bruno@clisp.org>
84446
84447         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
84448         When using lib/poll.c, define poll as rpl_poll.
84449
84450 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
84451
84452         * modules/argp (Depends-on): Remove unlocked-io.
84453
84454 2005-07-14  Derek Price  <derek@ximbiot.com>
84455
84456         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
84457         for glob symlink bug.
84458
84459 2005-07-14  Bruno Haible  <bruno@clisp.org>
84460
84461         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
84462         Instead, test for *_unlocked function declarations directly.
84463
84464 2005-07-11  Simon Josefsson  <jas@extundo.com>
84465
84466         * modules/size_max: New file.
84467
84468         * modules/xsize: Depend on size_max module for size_max.m4.
84469
84470 2005-07-11  Simon Josefsson  <jas@extundo.com>
84471
84472         * lib/size_max.h: New file.
84473
84474 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
84475
84476         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
84477         copyright symbol and the year.
84478         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
84479         (version_etc_va): Use parameterized copyright notice.
84480         Reword to conform to the current GNU coding standards.
84481
84482 2005-07-11  Karl Berry  <karl@gnu.org>
84483
84484         * doc/gnulib.texi (Quoting): new node.
84485         (Initial import): more info, from Patrice.
84486
84487 2005-07-11  Bruno Haible  <bruno@clisp.org>
84488
84489         * gnulib-tool (func_usage): Document option --avoid.
84490         (Command line options): Handle --avoid.
84491         (func_acceptable): New function.
84492         (func_modules_transitive_closure): Use it.
84493
84494 2005-07-11  Bruno Haible  <bruno@clisp.org>
84495
84496         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
84497         Reported by Jim Meyering.
84498
84499 2005-07-10  Bruno Haible  <bruno@clisp.org>
84500
84501         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
84502         Needed when size_t is smaller than 'unsigned int'.
84503         Reported by Paul Eggert.
84504
84505 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84506
84507         * modules/argp (Depends-on): Add unlocked-io
84508
84509 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84510
84511         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
84512         block of defines.
84513
84514 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
84515
84516         * config/srclist.txt: Comment out regcomp.c, since we have a porting
84517         fix now.
84518
84519 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
84520         and Paul Eggert  <eggert@cs.ucla.edu>
84521
84522         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
84523         in wint_t, not wchar_t.  Remove now-unnecessary cast.
84524
84525 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84526
84527         * modules/regex (Files): Add lib/regex_internal.c,
84528         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
84529         (Depends-on): Add extensions.
84530         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
84531
84532 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84533
84534         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
84535         pathconf.
84536         * m4/same.m4 (gl_SAME): Likewise.
84537         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
84538
84539         * m4/regex.m4: Adjust to new libc regex implementation.
84540         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
84541         all the .c and .h parts of (the new) regex.
84542         Quote the m4 stuff better.
84543         Check for RE_ICASE bug of old gnulib.
84544         Check for REG_STARTEND of recent libc.
84545         Rename local variables from jm_* to gl_*.
84546         Quote operand of "test -f".
84547         Say "recent enough" version of libc, not "version 2".
84548         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
84549         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
84550         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
84551         Remove check for btowc, isascii.
84552         Require AM_LANGINFO_CODESET.
84553
84554 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84555
84556         * lib/regex.c, regex.h: Sync from libc.
84557         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
84558         * lib/regexec.c:
84559         New files, synced from libc, except that regex_internal.h
84560         currently has a small porting fix.
84561
84562 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84563
84564         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
84565         regex_internal.c, regexec.c.
84566         Add regex_internal.h too, but as a comment, since the libc version
84567         is currently broken in gnulib mode.
84568
84569 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
84570
84571         Support programs like Emacs that use gnulib but not gettext.
84572         * MODULES.html.sh (Internationalization functions): Add gettext-h.
84573         * modules/gettext-h: New file.
84574         * modules/gettext (Files): Remove lib/gettext.h.
84575         (Depends-on): Add gettext-h.
84576         (Makefile.am): Remove lib_SOURCES.
84577         * modules/argmatch, modules/c-stack, modules/closeout:
84578         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
84579         * modules/execute, modules/file-type, modules/getaddrinfo:
84580         * modules/getopt, modules/human, modules/javacomp:
84581         * modules/javaexec, modules/mkdir-p, modules/obstack:
84582         * modules/openat, modules/pagealign_alloc, modules/pipe:
84583         * modules/quotearg, modules/regex, modules/rpmatch:
84584         * modules/unicodeio, modules/userspec, modules/version-etc:
84585         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
84586         * modules/xsetenv:
84587         Depend on gettext-h, not gettext.
84588
84589 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
84590
84591         * gnulib-tool (func_import): Add support for 'public domain' license.
84592         * modules/alloca, modules/atexit, modules/memmove:
84593         Now public domain, not GPL.
84594         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
84595         * modules/realloc, modules/strerror, modules/strtod:
84596         Now LGPL, not GPL.
84597
84598 2005-07-05  Bruno Haible  <bruno@clisp.org>
84599
84600         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
84601         autoconf CVS. Needed for mingw.
84602
84603 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84604
84605         Remove the dependency of the strftime module on the tzset module.
84606         * modules/strftime (Depends-on): Remove dependency on tzset.
84607
84608 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84609
84610         Remove the dependency of the strftime module on the tzset module.
84611         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
84612         gl_FUNC_TZSET_CLOBBER.
84613
84614 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84615
84616         Remove the dependency of the strftime module on the tzset module.
84617         * lib/strftime.c (my_strftime)
84618         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
84619         Copy the input structure, to work around some of the bug with
84620         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
84621         Solaris releases, you should also use the tzset module, but we won't
84622         require it as a dependency any more since we don't want LGPLed code
84623         to depend on GPLed code.
84624
84625 2005-07-02  Jim Meyering  <jim@meyering.net>
84626
84627         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
84628         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
84629         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
84630         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
84631
84632 2005-07-02  Jim Meyering  <jim@meyering.net>
84633
84634         * lib/backupfile.c (backup_args): Change a `0' to NULL.
84635
84636 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
84637
84638         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
84639         declares only 'struct timespec;' (!).
84640
84641 2005-07-01  Jim Meyering  <jim@meyering.net>
84642
84643         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
84644         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
84645         * lib/save-cwd.c, tempname.c:
84646         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84647         and don't include <sys/file.h>).
84648
84649 2005-06-29  Jim Meyering  <jim@meyering.net>
84650
84651         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
84652         type name.  Use the variable name instead.
84653         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
84654         Likewise.
84655
84656 2005-06-28  Simon Josefsson  <jas@extundo.com>
84657
84658         * modules/check-version (Files): Add check-version.m4.
84659
84660 2005-06-28  Simon Josefsson  <jas@extundo.com>
84661
84662         * m4/check-version.m4: New file, suggested by Jim Meyering
84663         <jim@meyering.net>.
84664
84665 2005-06-28  Simon Josefsson  <jas@extundo.com>
84666
84667         * lib/check-version.h, lib/check-version.c: New files.
84668
84669 2005-06-28  Simon Josefsson  <jas@extundo.com>
84670
84671         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
84672         collision with global variable.  Better indentation.  Don't
84673         increment buffer pointer beyond buffer end.  Based on comments
84674         from Paul Eggert <eggert@cs.ucla.edu>.
84675
84676         * lib/base64.h: Indent.
84677
84678 2005-06-28  Simon Josefsson  <jas@extundo.com>
84679
84680         * doc/gnulib.texi (Library version handling): New section.
84681
84682 2005-06-28  Jim Meyering  <jim@meyering.net>
84683
84684         * check-module (find_included_lib_files): Hard-code another
84685         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
84686         but modules/fts-lgpl (correctly) does not list those files.
84687
84688         * modules/canonicalize (Files): Add lib/pathmax.h.
84689
84690 2005-06-25  Simon Josefsson  <jas@extundo.com>
84691
84692         * modules/check-version: New file.
84693
84694 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
84695
84696         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
84697         initializer of struct addrinfo, as an indication that we don't
84698         care how many members the structure has.
84699
84700 2005-06-24  Derek Price  <derek@ximbiot.com>
84701         and Bruno Haible  <bruno@clisp.org>
84702
84703         Remove stat module & update lstat.
84704         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
84705         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84706         * m4/stat.m4: Remove this file.
84707
84708 2005-06-24  Derek Price  <derek@ximbiot.com>
84709         and Bruno Haible  <bruno@clisp.org>
84710
84711         Remove stat module & update lstat.
84712         * lib/stat.c: Remove this file...
84713         (slash_aware_lstat): ...moving this content and its support...
84714         * lib/lstat.c (rpl_lstat): ...into here.
84715         * lib/lstat.h: New file.
84716
84717 2005-06-24  Derek Price  <derek@ximbiot.com>
84718         and Bruno Haible  <bruno@clisp.org>
84719
84720         Remove stat module & update lstat.
84721         * config/srclist.txt (libc sources): Remove stat.
84722
84723 2005-06-24  Derek Price  <derek@ximbiot.com>
84724         and Bruno Haible  <bruno@clisp.org>
84725
84726         Remove stat module & update lstat.
84727         * MODULES.html.sh (stat): Remove.
84728         * MODULES.html: Regenerated.
84729         * modules/lstat (Description): Correct function name.
84730         (Files): Add "lstat.h".
84731         (Depends-on): Remove stat, add xalloc, stat-macros.
84732         * modules/stat: Remove this file.
84733         (Include): Add "lstat.h", remove <sys/stat.h>.
84734
84735 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
84736
84737         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
84738         (ranged_convert): Don't save conversion in a temporary struct.
84739         This causes a warning with GCC 4.0.0, and anyway in the typical
84740         case it's not worth the extra 100 bytes or so of code.
84741         (ranged_convert, __mktime_internal): When calling a function via a
84742         pointer P, use P () rather than (*P) (), as we now assume C89 or
84743         better.
84744
84745 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84746
84747         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
84748         "who -r" failed to give output.  Problem reported by Tim Waugh.
84749
84750         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
84751         (xcalloc): Use it to avoid needless tests.
84752         Problem reported by Jim Meyering.
84753
84754 2005-06-20  Derek Price  <derek@ximbiot.com>
84755
84756         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
84757         unnecessary for Autoconfs > 2.59c.
84758
84759 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84760
84761         * lib/argp.h (__option_is_short): Check upper limit of
84762         __key. Isprint() requires its argument to have the value
84763         of an unsigned char or EOF.
84764
84765 2005-06-16  Jim Meyering  <jim@meyering.net>
84766
84767         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
84768         when either N or S is zero.
84769
84770 2005-06-16  Derek Price  <derek@ximbiot.com>
84771
84772         * m4/bison.m4: Declare YACC & YFLAGS precious.
84773
84774 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
84775
84776         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
84777         multibyte string or pattern, fall back on unibyte matching.
84778         Problem reported by James Youngman.
84779
84780 2005-06-08  Bruno Haible  <bruno@clisp.org>
84781
84782         * modules/csharpcomp: New file.
84783         * MODULES.html.sh (C#): Add csharpcomp.
84784
84785 2005-06-08  Bruno Haible  <bruno@clisp.org>
84786
84787         * m4/csharpcomp.m4: New file, from GNU gettext.
84788
84789 2005-06-08  Bruno Haible  <bruno@clisp.org>
84790
84791         * lib/csharpcomp.h: New file, from GNU gettext.
84792         * lib/csharpcomp.c: New file, from GNU gettext.
84793         * lib/csharpcomp.sh.in: New file, from GNU gettext.
84794
84795 2005-06-08  Bruno Haible  <bruno@clisp.org>
84796
84797         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
84798         warning on mingw.
84799
84800 2005-06-07  Derek Price  <derek@ximbiot.com>
84801
84802         Sync from CVS.
84803         * lib/glob_.h: Indent nested #ifdef.
84804
84805 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84806
84807         Sync from coreutils.
84808         Use "file name" when talking about file names, instead of "filename"
84809         or "path", as per the GNU coding standards.
84810         * lib/mkdir-p.c: Renamed from makepath.c.
84811         (make_dir_parents): Renamed from make_path.  All callers changed.
84812         * lib/mkdir-p.h: Likewise.  All includers changed.
84813         * lib/filenamecat.c: Renamed from path-concat.c.
84814         (file_name_concat): Renamed from path_concat.  All callers changed.
84815         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
84816         * lib/filenamecat.h: Likewise.  All includers changed.
84817         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
84818         in comments or local variable names.
84819         * lib/basename.c: Likewise.
84820         * lib/canonicalize.c, canonicalize.h: Likewise.
84821         * lib/dirname.c, dirname.h: Likewise.
84822         * lib/euidaccess.c: Likewise.
84823         * lib/exclude.c: Likewise
84824         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
84825         * lib/fsusage.c, fsuage.h: Likewise.
84826         * lib/fts.c, fts_.h: Likewise.
84827         * lib/getcwd.c: Likewise.
84828         * lib/getloadavg.c: Likewise.
84829         * lib/mkstemp.c: Likewise.
84830         * lib/mountlist.c, mountlist.h: Likewise.
84831         * lib/openat.c, openat.h: Likewise.
84832         * lib/readlink-stub.c: Likewise.
84833         * lib/readutmp.c, readutmp.h: Likewise.
84834         * lib/rename.c: Likewise.
84835         * lib/rmdir.c: Likewise.
84836         * lib/same.c: Likewise.
84837         * lib/savedir.c: Likewise.
84838         * lib/stripslash.c: Likewise.
84839         * lib/tempname.c: Likewise.
84840         * lib/xreadlink.c: Likewise.
84841         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
84842         All uses changed.
84843         * lib/exclude.h: Likewise.
84844
84845         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
84846         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84847         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
84848         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84849         * lib/pathmax.h: Include <limits.h> unconditionally, since other
84850         files have been getting away with it for years (MORE/BSD 4.3
84851         is extinct now).
84852         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
84853         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84854
84855         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
84856         Define to 256, not 255, as per modern POSIX.
84857
84858 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84859
84860         Sync from coreutils.
84861         Use "file name" when talking about file names, instead of "filename"
84862         or "path", as per the GNU coding standards.
84863         * MODULES.html.sh: mkdir-p renamed from makepath.
84864         filenamecat renamed from path-concat.
84865         * modules/filenamecat: Renamed from modules/path-concat.
84866         (Files): filenamecat.h and filenamecat.c renamed from
84867         path-concat.h and path-concat.c.
84868         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
84869         (Include): filenamecat.h, not path-concat.h.
84870         * modules/mkdir-p: Renamed from modules/makepath.
84871         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
84872         makepath.c.
84873         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
84874         (Include): mkdir-p.h, not makepath.h.
84875
84876 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84877
84878         Sync from coreutils.
84879         * m4/mkdir-p.m4: Renamed from makepath.m4.
84880         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
84881         Rename files from makepath.c to mkdir-p.c, and from
84882         makepath.h to mkdir-p.h.
84883         * m4/filenamecat.m4: Renamed from path-concat.m4.
84884         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
84885         Rename files from path-concat.c to filenamecat.c,
84886         and from path-concat.h to filenamecat.h.
84887         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
84888         "file name" in local variables or comments.
84889         * m4/rename.m4: Likewise.
84890
84891 2005-06-01  Bruno Haible  <bruno@clisp.org>
84892
84893         * modules/csharpexec: New file.
84894         * MODULES.html.sh (C#): New section.
84895
84896 2005-06-01  Bruno Haible  <bruno@clisp.org>
84897
84898         * m4/csharp.m4: New file, from GNU gettext.
84899         * m4/csharpexec.m4: New file, from GNU gettext.
84900
84901 2005-06-01  Bruno Haible  <bruno@clisp.org>
84902
84903         * lib/csharpexec.h: New file, from GNU gettext.
84904         * lib/csharpexec.c: New file, from GNU gettext.
84905         * lib/csharpexec.sh.in: New file, from GNU gettext.
84906
84907 2005-05-31  Derek Price  <derek@ximbiot.com>
84908             Paul Eggert  <eggert@cs.ucla.edu>
84909
84910         Sync from cvs.
84911         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84912
84913 2005-05-31  Derek Price  <derek@ximbiot.com>
84914             Paul Eggert  <eggert@cs.ucla.edu>
84915
84916         Sync from cvs.
84917         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84918
84919 2005-05-29  Derek Price  <derek@ximbiot.com>
84920
84921         * config/srclist.txt (glob_.h, glob.c): Add these files.
84922
84923 2005-05-29  Derek Price  <derek@ximbiot.com>
84924
84925         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
84926         * modules/glob: New file.
84927         * modules/getlogin_r: Add link to POSIX spec in description.
84928
84929 2005-05-29  Derek Price  <derek@ximbiot.com>
84930             Paul Eggert  <eggert@cs.ucla.edu>
84931
84932         * m4/glob.m4: New file.
84933
84934 2005-05-29  Derek Price  <derek@ximbiot.com>
84935             Paul Eggert  <eggert@cs.ucla.edu>
84936
84937         * lib/glob_.h, lib/glob.c: New files.
84938
84939 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84940
84941         * modules/fts (Files): Remove m4/inttypes-pri.m4.
84942         * modules/fts-lgpl (Depends-on): Remove gettext.
84943
84944 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84945
84946         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84947         and don't require gt_INTTYPES_PRI.
84948
84949 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84950
84951         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84952
84953         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84954         the configuration hassle isn't worth it.
84955         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84956         (LONGEST_MODIFIER, PRIuMAX): Remove.
84957
84958 2005-05-27  Bruno Haible  <bruno@clisp.org>
84959
84960         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84961
84962 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84963
84964         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84965         _POSIX_PTHREAD_SEMANTICS for Solaris.
84966
84967 2005-05-25  Derek Price  <derek@ximbiot.com>
84968
84969         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84970
84971 2005-05-25  Derek Price  <derek@ximbiot.com>
84972             Paul Eggert  <eggert@cs.ucla.edu>
84973
84974         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84975         * lib/getlogin_r.c, getlogin_r.h: New files.
84976
84977 2005-05-25  Bruno Haible  <bruno@clisp.org>
84978             Derek Price  <derek@ximbiot.com>
84979
84980         * lib/getlogin_r.h: Simplify API documentation.
84981
84982 2005-05-23  Derek Price  <derek@ximbiot.com>
84983
84984         * modules/minmax (Files): Add m4/minmax.m4.
84985         (configure.ac): Add gl_MINMAX.
84986
84987 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84988
84989         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84990         so that unistd-safer.h (GPL'ed code) need not be included.
84991
84992 2005-05-22  Bruno Haible  <bruno@clisp.org>
84993
84994         * m4/minmax.m4: New file.
84995         Based on a patch by Derek Price <derek@ximbiot.com>.
84996
84997 2005-05-22  Bruno Haible  <bruno@clisp.org>
84998
84999         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
85000         (INT64_MIN): Fix definition.
85001         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
85002
85003         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
85004         NEED_SIGNED_INT_TYPES.
85005
85006         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
85007         HAVE_SYSTEM_INTTYPES.
85008
85009 2005-05-22  Bruno Haible  <bruno@clisp.org>
85010
85011         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
85012         Also include <sys/param.h> if it defines MIN, MAX.
85013         Based on a patch by Derek Price <derek@ximbiot.com>.
85014
85015 2005-05-21  Jim Meyering  <jim@meyering.net>
85016
85017         * modules/fts (Files): Add m4/inttypes-pri.m4.
85018         (Depends-on): Add lstat and remove gettext.  Alphabetize.
85019
85020 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85021
85022         New fts module.
85023         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
85024         (setup_dir, free_dir): New functions.
85025         (enter_dir, leave_dir): Define trivial
85026         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
85027         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
85028         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
85029         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
85030         Move to fts-cycle.c.
85031         (fts_open): Use setup_dir.
85032         (fts_close): Use free_dir.
85033         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
85034         This adds a label and some gotos, but the alternatives were messier.
85035         Check for memory allocation failure when entering a dir.
85036         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
85037         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
85038         (FTS): New member fts_cycle, that is a union that contains the
85039         old active_dir_ht and cycle_state.  All uses changed to mention
85040         fts_cycle.ht and fts_cycle.state.
85041         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
85042         fts.c, with the following changes:
85043         (setup_dir, free_dir): New functions.
85044         (enter_dir): Now returns bool.  Return true if successful, false
85045         if memory exhausted.  All callers changed.
85046         Do not bother partly cleaning up on
85047         memory allocation failure; that is free_dir's job.
85048         However, free ad if hash_insert fails, to avoid memory leak.
85049         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
85050         fts->fts_options to see which union member to use.
85051
85052 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85053
85054         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
85055         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
85056
85057 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85058
85059         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
85060
85061 2005-05-20  Jim Meyering  <jim@meyering.net>
85062
85063         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
85064         Now a macro, to pacify GCC.
85065
85066 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
85067
85068         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
85069         of -1.
85070
85071 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
85072
85073         * lib/chown.c (rpl_chown): Return -1 on failure.
85074
85075 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85076
85077         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
85078         Don't check for stddef.h.
85079         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
85080         don't use its results.
85081         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
85082         since we include them unconditionally.  Don't require
85083         AM_STDBOOL_H, since stdbool is a prerequisite.
85084         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
85085         since we assume C89 or better.
85086         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
85087         as we don't use their results.
85088         Don't check for fchdir, memmove, memset, strrchr, as we use
85089         them unconditionally.
85090         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
85091         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
85092
85093 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85094
85095         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
85096         Include <stddef.h> unconditionally, since we assume C89 now.
85097         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
85098         * lib/fts.c: Include fts_.h first, to check interface.
85099         Do not include intprops.h; no longer needed.
85100         Include cycle-check.h and hash.h, since fts_.h no longer does.
85101         Remove unnecessary casts of closedir to void.
85102         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
85103         decide whether to decrement nlinks.
85104         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
85105         (FTS): Use struct hash_table * instead of Hash_table, so that
85106         we no longer need to include hash.h here.
85107
85108 2005-05-18  Jim Meyering  <jim@meyering.net>
85109
85110         * modules/dirfd (License): Change to LGPL.  Most of the code
85111         is already in the public domain.
85112
85113 2005-05-18  Jim Meyering  <jim@meyering.net>
85114
85115         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
85116         Reported by Yoann Vandoorselaere.
85117
85118 2005-05-17  Jim Meyering  <jim@meyering.net>
85119
85120         * m4/fts.m4: New file, from coreutils.
85121
85122 2005-05-17  Jim Meyering  <jim@meyering.net>
85123
85124         * lib/fts.c, lib/fts_.h: New files, from coreutils.
85125
85126 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85127
85128         Sync from coreutils.
85129         * m4/unlinkdir.m4: New file.
85130
85131 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85132
85133         Sync from coreutils.
85134         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
85135         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
85136         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
85137         White space changes only.
85138         * lib/makepath.c (make_path): Port to hosts where leading "//" is
85139         special.
85140         * lib/yesno.c: Include getline.h, not ctype.h.
85141         (yesno): Don't remove leading white space; POSIX doesn't allow it.
85142         Use getline to remove arbitrary restriction on response length.
85143
85144 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85145
85146         * config/srclist-update: Spell out "Street" in FSF postal
85147         mail address; this is the style the FSF seems to prefer.
85148
85149         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
85150         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
85151         this updates FSF postal mail address.
85152
85153         Sync from coreutils.
85154         * modules/unlinkdir: New file.
85155         * modules/yesno (Depends-on): Add getline.
85156         * MODULES.html.sh (File system functions): Add unlinkdir.
85157
85158 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85159
85160         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
85161         lib/strsep.h:
85162         Change the initial comment to refer to GPL, not LGPL.
85163         gnulib-tool will change it to LGPL as needed.
85164
85165         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
85166         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
85167         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
85168         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
85169         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
85170         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
85171         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
85172         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
85173         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
85174         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
85175         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
85176         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
85177         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
85178         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
85179         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
85180         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
85181         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
85182         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
85183         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
85184         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
85185         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
85186         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
85187         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
85188         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
85189         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
85190         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
85191         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
85192         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
85193         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
85194         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
85195         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
85196         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
85197         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
85198         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
85199         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
85200         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
85201         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
85202         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
85203         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
85204         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
85205         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
85206         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
85207         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
85208         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
85209         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
85210         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
85211         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
85212         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
85213         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
85214         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
85215         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85216         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
85217         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
85218         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
85219         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
85220         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
85221         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
85222         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
85223         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
85224         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
85225         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
85226         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
85227         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
85228         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
85229         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
85230         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
85231         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
85232         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
85233         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
85234         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
85235         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
85236         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
85237         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
85238         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
85239         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
85240         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
85241         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
85242         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
85243         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
85244         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
85245         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
85246         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
85247         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
85248         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
85249         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
85250         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
85251         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
85252         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
85253         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
85254         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
85255         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
85256         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
85257         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
85258         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
85259         lib/yesno.c, lib/yesno.h:
85260         Update FSF postal mail address.
85261
85262 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85263
85264         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
85265         tests/test-memmem.c, tests/test-stpncpy.c:
85266         Update FSF postal mail address.
85267
85268 2005-05-13  Bruno Haible  <bruno@clisp.org>
85269
85270         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
85271         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
85272         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
85273         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
85274         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
85275         Add support for 64-bit integers in the MSVC compiler.
85276
85277 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85278
85279         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
85280
85281 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
85282
85283         * gnulib-tool (func_import): Sort and uniquify recommended includes.
85284
85285 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
85286
85287         * doc/getdate.texi (General date syntax): Don't say that date
85288         date --iso-8601=ns generates acceptable dates; it doesn't yet.
85289         Problem reported by Nic Ferrier.
85290
85291 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85292
85293         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
85294         specified in ai_socktype. Fix invalid ai_protocol
85295         check. ai_protocol is usually set to 0 or depending on
85296         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
85297         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
85298         ai_socktype / ai_protocol in the returned addrinfo structure.
85299
85300 2005-05-10  Simon Josefsson  <jas@extundo.com>
85301
85302         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
85303         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85304
85305 2005-05-10  Karl Berry  <karl@gnu.org>
85306
85307         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
85308         (from http://www.gnu.org/licenses).
85309         * doc/COPYING.LIB: also rename to COPYING.LESSER.
85310         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
85311         fdl.texi suffices.
85312
85313 2005-05-10  Karl Berry  <karl@gnu.org>
85314
85315         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
85316         (COPYING.DOC): remove.
85317
85318         * config/srclist-update: new FSF address.
85319
85320 2005-05-10  Derek Price  <derek@ximbiot.com>
85321
85322         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
85323         possible.
85324
85325 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85326             Bruno Haible  <bruno@clisp.org>
85327
85328         * modules/inet_ntop: New file.
85329         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85330         inet_ntop.
85331
85332 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85333             Bruno Haible  <bruno@clisp.org>
85334
85335         * m4/inet_ntop.m4: New file.
85336
85337 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85338             Bruno Haible  <bruno@clisp.org>
85339
85340         * lib/inet_ntop.h: New file.
85341         * lib/inet_ntop.c: New file, from glibc with modifications.
85342
85343 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
85344
85345         * modules/time_r (License): Change to LGPL.
85346         * modules/extensions (License): Change to LGPL.  Actually,
85347         the license is more permissive than that, but currently gnulib-tool
85348         doesn't know how to handle more-permissive licenses.
85349
85350         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
85351         Problem reported by Dave Love.
85352
85353 2005-05-08  Jim Meyering  <jim@meyering.net>
85354
85355         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
85356         blank.
85357
85358 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
85359
85360         * modules/argmatch (Depends-on): Add stdbool.
85361         * modules/backupfile (Depends-on): Likewise.
85362         * modules/chdir-long (Depends-on): Likewise.
85363         * modules/closeout (Depends-on): Likewise.
85364         * modules/cycle-check (Depends-on): Likewise.
85365         * modules/dirname (Depends-on): Likewise.
85366         * modules/fnmatch (Depends-on): Likewise.
85367         * modules/fsusage (Depends-on): Likewise.
85368         * modules/fwriteerror (Depends-on): Likewise.
85369         * modules/getcwd (Depends-on): Likewise.
85370         * modules/getloadavg (Depends-on): Likewise.
85371         * modules/hard-locale (Depends-on): Likewise.
85372         * modules/makepath (Depends-on): Likewise.
85373         * modules/mountlist (Depends-on): Likewise.
85374         * modules/nanosleep (Depends-on): Likewise.
85375         * modules/posixtm (Depends-on): Likewise.
85376         * modules/quotearg (Depends-on): Likewise.
85377         * modules/readtokens (Depends-on): Likewise.
85378         * modules/readtokens0 (Depends-on): Likewise.
85379         * modules/readutmp (Depends-on): Likewise.
85380         * modules/save-cwd (Depends-on): Likewise.
85381         * modules/strftime (Depends-on): Likewise.
85382         * modules/userspec (Depends-on): Likewise.
85383         * modules/utimecmp (Depends-on): Likewise.
85384         * modules/xgetcwd (Depends-on): Likewise.
85385         * modules/xnanosleep (Depends-on): Likewise.
85386         * modules/xstrtod (Depends-on): Likewise.
85387         * modules/yesno (Depends-on): Likewise.
85388
85389 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
85390
85391         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
85392         needless checks.
85393
85394 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85395
85396         Merge from coreutils.  Among other things,
85397         add bulletproofing for cases where stdin, stdout, or stderr are closed.
85398         * lib/fd-safer.c: New file.
85399         * lib/fcntl-safer.h, open-safer.c: Remove.
85400         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
85401         * lib/dup-safer.c: Include unistd-safer.h first.
85402         Don't include errno.h.
85403         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
85404         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
85405         * lib/file-type.c: Rely on file-type.h change.
85406         * lib/getloadavg.c: Include unistd-safer.h.
85407         (getloadavg): Use safer open.
85408         * lib/getusershell.c: Include "stdio-safer.h".
85409         (getusershell): Use safer fopen.
85410         * lib/long-options.c (long_options): Use NULL rather than 0.
85411         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
85412         'free'.
85413         * lib/modechange.c: Likewise.
85414         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
85415         (MODE_DONE): New constant.
85416         (struct mode_change): Remove 'next' member.
85417         (make_node_op_equals): New function; like the old one of the
85418         same name, except it allocates an array.
85419         (mode_compile, mode_create_from_ref): Use it.
85420         (mode_compile): Allocate result as an array, not a linked list.
85421         Parse octal string ourself, so that we catch mistakes like "+0".
85422         (mode_adjust): Arg is an array, not a linked list.
85423         * lib/modechange.c: Include stat-macros.h, xalloc.h.
85424         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
85425         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
85426         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
85427         Remove.  This is now stat-macros.h's job.
85428         (talloc): Remove.  All callers replaced by xalloc, so that
85429         our invokers don't have to worry about reporting memory failures.
85430         (make_node_op_equals): Remove.
85431         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
85432         New constants.
85433         (struct mode_change): Moved here from modechange.h.
85434         (mode_append_entry): Remove.
85435         (mode_compile): Remove MASKED_OPS arg, since it encouraged
85436         apps to have incorrect behavior.  Use simpler algorithm for head
85437         and tail.  Don't futz with umask; that's now the job of mode_adjust.
85438         Detect more invalid usages rather than having somewhat-random behavior.
85439         Don't insert an "a=" action, as that leads to incorrect behavior.
85440         (mode_compile, mode_create_from_ref): Return NULL on error instead
85441         of an enum, since now there's only one way to have an error.  All
85442         callers changed.
85443         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
85444         at the correct time.  Simplify calculation of "+u" and its ilk.
85445         Don't mishandle "+X".
85446         (mode_free): Remove "register" and localize decls.
85447         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
85448         (struct mode_change): Move to modechange.c; callers don't
85449         need to see this stuff.
85450         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
85451         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
85452         (mode_change, mode_adjust): Reflect the new signatures noted above.
85453         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
85454         that might redefine system include files.
85455         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
85456         (my_usleep): Use NULL rather than (void *) 0.
85457         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
85458         Use siginterrupt to specify that system calls should be interrupted.
85459         (rpl_nanosleep): Move initialization of suspended closer to call of
85460         my_usleep.
85461         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
85462         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
85463         (desirable_utmp_entry): New function.
85464         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
85465         using x2nrealloc, to simplify logic.
85466         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
85467         size calculation.  Do not assume utmp file is a regular file.
85468         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
85469         (READ_UTMP_CHECK_PIDS): New constant.
85470         * lib/save-cwd.c: Include unistd-safer.h.
85471         (save_cwd): Use fd_safer.
85472         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
85473         [!_LIBC] Include "stat-macros.h" instead.
85474         * lib/unistd-safer.h (fd_safer): New decl.
85475
85476 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85477
85478         * modules/getloadavg (Depends-on): Add unistd-safer.
85479         * modules/getusershell (Depends-on): Add stdio-safer.
85480         * modules/lstat (Depends-on): Remove xalloc.
85481         * modules/mkstemp (Depends-on): Add stat-macros.
85482         * modules/modechange (Depends-on): Remove xstrtol.
85483         Add stat-macros, xalloc.
85484         * modules/save-cwd (Depends-on): Add unistd-safer.
85485         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
85486         * modules/unistd-safer (Files): Add lib/fd-safer.c
85487         (Makefile.am): Remove lib_SOURCES.
85488
85489         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
85490         Remove fcntl-safer; unistd-safer supersedes it.
85491
85492 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85493
85494         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
85495         AC_HEADER_STAT.
85496         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
85497         (gl_PREREQ_CHOWN): Remove.
85498         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
85499         it.  Don't require AC_HEADER_STAT.
85500         (gl_PREREQ_LSTAT): Remove.
85501         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
85502         Don't require AC_HEADER_STAT.
85503         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
85504         (gl_PREREQ_RMDIR): Remove.
85505         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
85506         mention stat-macros.h or AC_HEADER_STAT, since we'll make
85507         the stat-macros module a prerequisite.
85508         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
85509         * m4/filemode.m4 (gl_FILEMODE): Likewise.
85510         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
85511         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
85512         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
85513         variable names.
85514         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
85515         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
85516         variable prefixes.
85517         * m4/fcntl-safer.m4: Remove.
85518         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
85519         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
85520         Invoke gl_PREREQ_FD_SAFER.
85521         (gl_PREREQ_FD_SAFER): New macro.
85522         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
85523         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
85524         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
85525         Remove duplicate call to AC_LIBOBJ(readutmp).
85526         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
85527
85528         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
85529         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
85530
85531 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85532
85533         * MODULES.html.sh (Misc): Add byteswap.
85534
85535 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85536
85537         * modules/getcwd (Depends-on): Add extensions.
85538         * modules/openat (Depends-on): Likewise.
85539
85540 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85541
85542         * modules/byteswap: New file.
85543
85544 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85545
85546         * m4/byteswap.m4: New file.
85547
85548 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85549
85550         * lib/byteswap_.h: New file.
85551
85552 2005-04-25  Karl Berry  <karl@gnu.org>
85553
85554         * m4/gettext.m4: Update from GNU gettext 0.14.4.
85555
85556 2005-04-25  Albert Chin  <china@thewrittenword.com>
85557
85558         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
85559         Toolkit C bug.
85560
85561 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
85562
85563         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
85564         (func_ln_if_changed): Remove forcibly for no error message
85565         in case file does not exist.
85566
85567 2005-04-19  Simon Josefsson  <jas@extundo.com>
85568
85569         * gnulib-tool (Options): Make --symlink mean --symbolic.
85570
85571 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
85572
85573         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
85574
85575 2005-04-16  Simon Josefsson  <jas@extundo.com>
85576
85577         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
85578
85579 2005-04-15  Simon Josefsson  <jas@extundo.com>
85580
85581         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
85582
85583 2005-04-15  Simon Josefsson  <jas@extundo.com>
85584
85585         * gnulib-tool: Rename --symlink to --symbolic.
85586
85587 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
85588
85589         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
85590         symbolic links to files instead of copying/moving.  Add --aux-dir,
85591         specifying directory relative --dir where auxiliary build tools
85592         are placed.
85593
85594 2005-04-14  Bruno Haible  <bruno@clisp.org>
85595
85596         * modules/allocsa (License): Change to LGPL.
85597         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
85598
85599 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
85600
85601         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
85602         that "UTC +1 second" continues to work.  Problem reported
85603         by Dmitry V. Levin.
85604         (relunit_snumber): New rule.
85605         (relunit): Use it.
85606
85607 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
85608
85609         * lib/getdate.y (universal_time_zone_table): New constant.
85610         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
85611         universal_time_zone_table.
85612         (lookup_zone): Prefer universal_time_zone_table to
85613         local_time_zone_table, so that "GMT" time stamps are allowed in
85614         London during the summer.  Problem reported by Ian Abbott.
85615
85616 2005-04-12  Jim Meyering  <jim@meyering.net>
85617
85618         * lib/human.c (humblock): Set *options even when returning due to
85619         xstrtoumax conversion failure.  Thanks to a used-uninitialized
85620         warning from gcc-4.
85621
85622 2005-04-09  Jim Meyering  <jim@meyering.net>
85623
85624         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
85625         -Wuninitialized: initialize tm0.tm_year.
85626
85627 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
85628
85629         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
85630         count, since there's no maximum.  All uses changed.
85631         Add member dsts_seen.
85632         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
85633         not being INT_MAX.
85634         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
85635         Use pc_rels_seen to decide whether a date is absolute.
85636
85637         * lib/getdate.y (number): Don't overwrite year.
85638         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
85639         check.
85640
85641 2005-04-02  Simon Josefsson  <jas@extundo.com>
85642
85643         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
85644         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
85645
85646 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
85647
85648         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
85649         where no absolute path name can be longer than PATH_MAX.
85650
85651 2005-03-27  Jim Meyering  <jim@meyering.net>
85652
85653         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
85654
85655 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
85656
85657         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
85658         "one's complement" -> "ones' complement" in comment, as per Knuth.
85659         "value of type" -> "type or expression" in comment.
85660         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
85661
85662 2005-03-26  Jim Meyering  <jim@meyering.net>
85663
85664         Comment nits.
85665         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
85666         Correct typos: s/or/of/.
85667
85668 2005-03-26  Jim Meyering  <jim@meyering.net>
85669
85670         * modules/check-include-files: Move to ../ and rename to...
85671         * check-module: ...this.
85672
85673 2005-03-25  Jim Meyering  <jim@meyering.net>
85674
85675         * modules/xvasprintf (Files): Add xalloc.h.
85676
85677 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
85678
85679         * modules/gettext (Files): config/config.rpath ->
85680         build-aux/config.rpath
85681         * modules/iconv (Files): Likewise.
85682         Problem reported by Oskar Liljeblad.
85683
85684 2005-03-23  Jim Meyering  <jim@meyering.net>
85685
85686         * modules/check-include-files: New script to check for
85687         missing dependencies, multiple includes, etc.
85688
85689         * modules/c-strtold (Depends-on): Add xalloc.
85690         * modules/c-strtod (Depends-on): Add xalloc.
85691         * modules/hash (Depends-on): Add xalloc.
85692         (Files): Remove lib/xalloc.h.
85693
85694         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
85695         * modules/userspec (Files): Add lib/inttostr.h.
85696
85697 2005-03-23  Jim Meyering  <jim@meyering.net>
85698
85699         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
85700
85701 2005-03-22  Jim Meyering  <jim@meyering.net>
85702
85703         * modules/stat-macros: New module.
85704         * modules/canonicalize, modules/euidaccess, modules/file-type,
85705         * modules/filemode, modules/lchown, modules/makepath,
85706         * modules/rmdir, modules/stat: Depend on new stat-macros module
85707         rather than listing lib/stat-macros.h manually.
85708         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
85709
85710 2005-03-22  Jim Meyering  <jim@meyering.net>
85711
85712         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
85713
85714 2005-03-22  Bruno Haible  <bruno@clisp.org>
85715
85716         * config/srclist.txt: Replace target directory 'config' with
85717         'build-aux'.
85718         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
85719         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
85720         ../build-aux/.
85721
85722 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
85723
85724         * modules/chdir-long (Depends-on): Add mempcpy.
85725
85726         * modules/acl, modules/backupfile, modules/c-strtod,
85727         modules/c-strtold, modules/canon-host, modules/canonicalize,
85728         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
85729         modules/exclude, modules/exitfail, modules/file-type,
85730         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
85731         modules/getdate, modules/getline, modules/getpagesize,
85732         modules/getpass, modules/getugroups, modules/group-member,
85733         modules/hard-locale, modules/hash, modules/human, modules/idcache,
85734         modules/inttostr, modules/long-options, modules/makepath,
85735         modules/md5, modules/memcasecmp, modules/memcoll,
85736         modules/modechange, modules/mountlist, modules/path-concat,
85737         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
85738         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
85739         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
85740         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
85741         modules/strftime, modules/strndup, modules/strverscmp,
85742         modules/timespec, modules/unlocked-io, modules/userspec,
85743         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
85744         modules/yesno:
85745         Remove lib_SOURCES line from Makefile.am section, as this is now
85746         done automatically by the corresponding Autoconf macro.
85747
85748 2005-03-21  Jim Meyering  <jim@meyering.net>
85749
85750         Changes imported from coreutils.
85751
85752         * lib/cycle-check.c: Don't include xalloc.h.
85753
85754         * lib/path-concat.c: Don't include assert.h.
85755         (path_concat): Remove assertion that would have triggered
85756         for ABASE starting with more than one slash.
85757         Reported by Andreas Schwab.
85758
85759         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
85760         properly when ABASE is an absolute file name.
85761         Correct the description of this function.
85762         Include <assert.h>.
85763         Add an assertion and a test driver.
85764         This fixes a bug introduced on 2004-07-02.
85765         Andreas Schwab reported the resulting failure of cp --parents:
85766         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
85767
85768 2005-03-21  Jim Meyering  <jim@meyering.net>
85769
85770         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
85771         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
85772
85773 2005-03-21  Jim Meyering  <jim@meyering.net>
85774         and  Paul Eggert  <eggert@cs.ucla.edu>
85775
85776         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
85777         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
85778         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
85779         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
85780         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
85781         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
85782         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
85783         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
85784         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
85785         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
85786         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
85787         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
85788         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
85789         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
85790         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
85791         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
85792         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
85793         for these modules.
85794
85795 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
85796
85797         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
85798         (which shouldn't happen), generate nothing instead of returning 0
85799         immediately, so that nstrftime (NULL, ...) doesn't return 0.
85800
85801 2005-03-16  Bruno Haible  <bruno@clisp.org>
85802
85803         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
85804         HAVE_LONGLONG_64BIT.
85805
85806 2005-03-16  Bruno Haible  <bruno@clisp.org>
85807
85808         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
85809         HAVE_LONGLONG_64BIT.
85810
85811 2005-03-16  Bruno Haible  <bruno@clisp.org>
85812
85813         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
85814         HAVE_LONGLONG_64BIT.
85815
85816 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85817
85818         * lib/strftime.c (my_strftime): Prepend space to format so that we can
85819         reliably distinguish strftime failure from empty output on POSIX
85820         hosts.
85821
85822 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85823
85824         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
85825         (iconv_string): Don't guess a size-zero buffer, as that might cause
85826         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
85827         result would be 'too large', where 'too large' is (heuristically)
85828         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
85829         overflow concerns.  This will prevent some unwanted malloc failures
85830         when the inputs are very large.
85831
85832 2005-03-15  Karl Berry  <karl@gnu.org>
85833
85834         * config/srclist.txt (config.rpath): from gettext.
85835         * config/config.rpath: update.
85836
85837 2005-03-15  Bruno Haible  <bruno@clisp.org>
85838
85839         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
85840         to 'negate'.
85841
85842         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
85843         variable.
85844
85845         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
85846         results.
85847
85848 2005-03-14  Simon Josefsson  <jas@extundo.com>
85849
85850         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
85851         <fx@gnu.org>.
85852
85853 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
85854
85855         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
85856         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
85857         intprops.h.
85858         * lib/strtol.c: Likewise.
85859
85860 2005-03-14  Jim Meyering  <jim@meyering.net>
85861
85862         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
85863         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
85864         to be nonzero so that we (and caller) can detect the difference
85865         between a valid zero-length expansion and an error return, even
85866         when the underlying strftime fails before writing anything into
85867         that location.
85868
85869 2005-03-14  Bruno Haible  <bruno@clisp.org>
85870
85871         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
85872         Update from GNU gettext 0.14.3.
85873
85874 2005-03-10  Jim Meyering  <jim@meyering.net>
85875
85876         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
85877
85878 2005-03-10  Jim Meyering  <jim@meyering.net>
85879
85880         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
85881         so that this module works on systems without fchdir.
85882
85883 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
85884
85885         Factor int-properties macros into a single file, except for
85886         glibc-related files.
85887         * lib/intprops.h: New file.
85888         * lib/getloadavg.c: Include it instead of limits.h.
85889         (INT_STRLEN_BOUND): Remove.
85890         * lib/human.c: Include intprops.h.
85891         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
85892         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
85893         302/1000.
85894         * lib/inttostr.h: Include intprops.h instead of limits.h.
85895         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
85896         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
85897         for consistency with intprops.h.
85898         (time_t_is_integer, twos_complement_arithmetic): Use them.
85899         * lib/sig2str.h: Include <signal.h>, intprops.h.
85900         (INT_STRLEN_BOUND): Remove.
85901         * lib/strftime.c (TYPE_SIGNED): Remove.
85902         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
85903         * lib/strtol.c: Adjust comments to match intprops.h.
85904         * lib/userspec.c: Include intprops.h.
85905         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
85906         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
85907         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
85908         instead of rolling our own expressions.
85909         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
85910
85911         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
85912         instead of int.
85913         (my_strftime): Do not mishandle years close to INT_MAX, by doing
85914         the right thing even if adding 1900 would overflow.  Similarly
85915         for tm_mon + 1 and tm_yday + 1.
85916         Make %Y always equivalent to %C%y, and similarly for %G and %g.
85917         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
85918         (DO_SIGNED_NUMBER): New macro.
85919         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
85920
85921 2005-03-07  Bruno Haible  <bruno@clisp.org>
85922
85923         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
85924
85925 2005-03-07  Bruno Haible  <bruno@clisp.org>
85926
85927         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
85928
85929 2005-03-04  Derek R. Price  <derek@ximbiot.com>
85930
85931         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
85932         (func_import): Only replace files via --import when they have actually
85933         changed.
85934
85935 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85936
85937         * m4/mmap-anon.m4: New file.
85938         * m4/pagealign_alloc.m4: New file.
85939
85940 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85941             Bruno Haible  <bruno@clisp.org>
85942
85943         * modules/pagealign_alloc: New file.
85944         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85945
85946 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85947             Bruno Haible  <bruno@clisp.org>
85948
85949         * lib/pagealign_alloc.h: New file.
85950         * lib/pagealign_alloc.c: New file.
85951
85952 2005-03-03  Bruno Haible  <bruno@clisp.org>
85953
85954         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85955         Use an all-permissive copyright notice, recommended by RMS.
85956
85957 2005-03-02  Bruno Haible  <bruno@clisp.org>
85958
85959         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85960         of AIX, the replacement has to be done only after <string.h> is
85961         included, therefore not in config.h. stpncpy.h does the replacement,
85962         and stpncpy.c uses it.
85963
85964 2005-03-02  Bruno Haible  <bruno@clisp.org>
85965
85966         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85967         stpncpy.c uses it.
85968
85969 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85970
85971         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85972         The workaround isn't strictly needed for POSIX conformance, and
85973         it's too much of a pain to configure and maintain.  We'll ask
85974         people to fix their kernels instead.
85975         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85976         (NANOSLEEP_BUG_WORKAROUND): Remove.
85977         (xnanosleep): Remove the workaround.
85978
85979 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85980
85981         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85982         Reported by Derek Price.
85983         (Include): Add "timespec.h".
85984
85985         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85986
85987 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85988
85989         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85990         to detect nanosleep bug.
85991
85992 2005-03-01  Bruno Haible  <bruno@clisp.org>
85993
85994         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85995
85996 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85997
85998         * modules/gethrxtime: New file.
85999         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
86000         (Depends-on): Add gethrxtime.
86001         (configure.ac): Add gl_XNANOSLEEP.
86002         (Makefile.am): Remove lib_SOURCES line.
86003
86004 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86005
86006         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
86007         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
86008
86009 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86010
86011         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
86012         * lib/timespec.h (gettime): Return void, since it always
86013         succeeds now.  All uses changed.
86014         * lib/gettime.c (gettime): Likewise.
86015         [HAVE_NANOTIME]: Prefer nanotime.
86016         Assume gettimeofday succeeds, as POSIX requires.
86017         Assime time () succeeds, since other code already does.
86018         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
86019         (timespec_subtract): Remove.
86020         (NANOSLEEP_BUG_WORKAROUND): New constant.
86021         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
86022         things considerably.  Use it only on GNU/Linux hosts, since the
86023         workaround shouldn't be needed elsewhere.
86024
86025 2005-02-24  Bruno Haible  <bruno@clisp.org>
86026
86027         * modules/gettext (Files): Add m4/glibc2.m4.
86028
86029 2005-02-24  Bruno Haible  <bruno@clisp.org>
86030
86031         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
86032         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
86033         * m4/progtest.m4:
86034         Update from GNU gettext 0.14.2.
86035         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
86036
86037 2005-02-24  Bruno Haible  <bruno@clisp.org>
86038
86039         * lib/localcharset.c: Update from GNU gettext 0.14.2.
86040         * lib/config.charset: Update from GNU gettext 0.14.2.
86041
86042 2005-02-24  Bruno Haible  <bruno@clisp.org>
86043
86044         * lib/gettext.h: Update from GNU gettext 0.14.2.
86045
86046 2005-02-23  Simon Josefsson  <jas@extundo.com>
86047
86048         * m4/iconvme.m4: New file.
86049
86050 2005-02-23  Jim Meyering  <jim@meyering.net>
86051
86052         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
86053         change.
86054         Thanks to Bruno Haible for catching it.
86055
86056 2005-02-22  Simon Josefsson  <jas@extundo.com>
86057
86058         * modules/iconvme: New file.
86059
86060         * MODULES.html.sh: Add iconvme.
86061
86062 2005-02-22  Simon Josefsson  <jas@extundo.com>
86063
86064         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
86065
86066 2005-02-22  Simon Josefsson  <jas@extundo.com>
86067
86068         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
86069
86070 2005-02-22  Jim Meyering  <jim@meyering.net>
86071
86072         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
86073         s/ifndef/ifdef/.
86074
86075 2005-02-20  Neil Conway  <neilc@samurai.com>
86076
86077         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
86078         returned by OSX/Darwin if the specified buffer is not large
86079         enough for the hostname.
86080
86081 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86082
86083         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
86084         pass it to _help, otherwise the latter coredumps trying to
86085         dereference state.root_argp.
86086
86087 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86088
86089         * modules/chdir-long (Depends-on): Add memrchr.
86090         * modules/memrchr (Files): Add lib/memrchr.h.
86091         (Include): "memrchr.h".
86092
86093 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86094
86095         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
86096
86097 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86098
86099         * lib/memrchr.h: New file.
86100         * lib/chdir-long.c: Include it.
86101         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
86102         Don't bother including stddef.h.
86103
86104 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
86105
86106         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
86107         inclusion.
86108         Include <sys/types.h>, for dev_t.
86109         (ME_DUMMY, ME_REMOTE): Move from here....
86110         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
86111         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
86112         Dmitry V. Levin.
86113         Include mountlist.h first, to test the interface.
86114
86115 2005-01-29  Bruno Haible  <bruno@clisp.org>
86116
86117         * lib/progname.c (program_name): Initialize.
86118         Needed when linking statically on MacOS X.
86119
86120 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
86121
86122         Sync from coreutils.
86123         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
86124         (Depends-on): Add c-strtod.
86125         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
86126
86127 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
86128
86129         Sync from coreutils.
86130         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
86131
86132         Remove files that are specific to coreutils.
86133         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
86134
86135 2005-01-28  Bruno Haible  <bruno@clisp.org>
86136
86137         * modules/javacomp: New file.
86138         * MODULES.html.sh (Java): Add javacomp.
86139
86140 2005-01-28  Bruno Haible  <bruno@clisp.org>
86141
86142         * m4/javacomp.m4: New file, from GNU gettext.
86143
86144 2005-01-28  Bruno Haible  <bruno@clisp.org>
86145
86146         * lib/javacomp.sh.in: New file, from GNU gettext.
86147         * lib/javacomp.h: New file, from GNU gettext.
86148         * lib/javacomp.c: New file, from GNU gettext.
86149
86150 2005-01-26  Simon Josefsson  <jas@extundo.com>
86151
86152         * lib/gai_strerror.c: Use GPL in header.
86153
86154 2005-01-26  Bruno Haible  <bruno@clisp.org>
86155
86156         * modules/javaexec: New file.
86157         * MODULES.html.sh (Java): Add javaexec.
86158
86159 2005-01-26  Bruno Haible  <bruno@clisp.org>
86160
86161         * m4/javaexec.m4: New file, from GNU gettext.
86162
86163 2005-01-26  Bruno Haible  <bruno@clisp.org>
86164
86165         * lib/javaexec.sh.in: New file, from GNU gettext.
86166         * lib/javaexec.h: New file, from GNU gettext.
86167         * lib/javaexec.c: New file, from GNU gettext.
86168
86169 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86170
86171         * modules/lchown (Depends-on): Remove lchown.h
86172
86173 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86174
86175         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
86176         must be defined if the header file was not found, in order
86177         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
86178
86179 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86180
86181         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
86182         initializers for struct pentry_state.
86183         (__argp_error): Check return value of __asprintf
86184         (__argp_failure): Translate error message
86185
86186         * lib/argp-parse.c: Removed braces around the expansion of N_()
86187
86188 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
86189
86190         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
86191         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
86192         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
86193         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
86194         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
86195         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
86196         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
86197         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
86198         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
86199         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
86200         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
86201         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
86202         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
86203         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
86204         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
86205         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
86206         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
86207         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
86208         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
86209         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
86210         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
86211         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
86212         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
86213         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
86214         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
86215         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
86216         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
86217         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
86218         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
86219         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
86220         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
86221         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
86222         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
86223         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
86224         xstrtol.m4, xstrtoumax.m4, yesno.m4:
86225         Use an all-permissive copyright notice, recommended by RMS.
86226
86227 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
86228
86229         * modules/chdir-long (Depends-on): Remove mempcpy.
86230
86231 2005-01-21  Jim Meyering  <jim@meyering.net>
86232
86233         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
86234         same value as for Solaris 9.
86235
86236         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
86237         component length.  This included changing the parameter to be
86238         of type `char *' rather than `char const *'.
86239         * lib/chdir-long.h (chdir_long): Update prototype.
86240
86241         * lib/openat.c (fdopendir, fstatat): New functions.
86242         * lib/openat.h: Include headers required for use of DIR and struct
86243         stat.
86244         [AT_SYMLINK_NOFOLLOW]: Define.
86245         (fdopendir, fstatat): Add prototypes.
86246
86247 2005-01-21  Bruno Haible  <bruno@clisp.org>
86248
86249         * modules/classpath: New file.
86250         * MODULES.html.sh (Java): Add classpath.
86251
86252 2005-01-21  Bruno Haible  <bruno@clisp.org>
86253
86254         * lib/classpath.h: New file, from GNU gettext.
86255         * lib/classpath.c: New file, from GNU gettext.
86256
86257 2005-01-20  Simon Josefsson  <jas@extundo.com>
86258
86259         * modules/version-etc-fsf: New file.
86260
86261 2005-01-20  Simon Josefsson  <jas@extundo.com>
86262
86263         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
86264         * lib/version-etc.c: Remove version_etc_copyright.
86265         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
86266         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
86267
86268 2005-01-20  Simon Josefsson  <jas@extundo.com>
86269
86270         * lib/base64.h (isbase64): Add.
86271
86272         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
86273         using a unsigned prototype, don't inline.
86274         (base64_decode): Use it.
86275
86276 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86277
86278         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
86279         it.
86280
86281 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86282
86283         * lib/save-cwd.c (save_cwd): Remove code to support the case
86284         where fchdir is missing or flaky.
86285
86286 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86287
86288         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
86289
86290 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
86291
86292         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
86293         AC_LIBSOURCES now does this.
86294         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
86295         with new ullong_max module.
86296
86297 2005-01-19  Bruno Haible  <bruno@clisp.org>
86298
86299         * modules/sh-quote: New file.
86300         * MODULES.html.sh (Executing programs): Add sh-quote.
86301
86302 2005-01-19  Bruno Haible  <bruno@clisp.org>
86303
86304         * lib/sh-quote.h: New file, from GNU gettext.
86305         * lib/sh-quote.c: New file, from GNU gettext.
86306
86307 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86308
86309         Merge from coreutils.
86310         * m4/ullong_max.m4: New file.
86311         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
86312         (gl_MACROS): Assume localeconv exists.
86313
86314 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86315
86316         Merge changes from coreutils, as described below in several
86317         changelogs dated today.
86318
86319         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
86320         (O_DIRECTORY): Remove; not needed here, since "." must be
86321         a directory.  All uses removed.
86322         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
86323         universal on Suns, and we also need to test for IRIX.
86324         Revamp code to use 'if' rather than '#if'.
86325         Avoid unnecessary comparison of cwd->desc to 0.
86326
86327         * lib/utimens.c (futimens): Robustify the previous patch, by checking
86328         for known valid error numbers rather than observed invalid ones.
86329
86330 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86331
86332         * modules/ullong_max: New file.
86333
86334         * modules/chdir-long, modules/openat: New files.
86335         * modules/save-cwd (Depends-on): Depend on chdir-long.
86336         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
86337
86338 2005-01-18  Jim Meyering  <jim@meyering.net>
86339
86340         Merge from coreutils.
86341         * m4/chdir-long.m4, m4/openat.m4: New files.
86342         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
86343         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
86344         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
86345         is sane and DOES follow symlinks.  Besides, testing 20 different
86346         systems found no broken chown implementations.
86347         Prompted by a change in rsync's copy of this macro.
86348         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
86349
86350         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
86351
86352         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
86353         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
86354         NULL-means-set-to-current-time semantics.
86355         Remove temporary file immediately, rather than waiting
86356         for configure's at-exit trap code to do it.
86357
86358 2005-01-18  Jim Meyering  <jim@meyering.net>
86359
86360         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86361
86362         * lib/utimens.c (futimens): Account for the fact that futimes
86363         can also fail with errno == ENOSYS or errno == ENOENT.
86364         Patch from Dmitry V. Levin.
86365
86366         Change the name of the robust chdir function from chdir to chdir_long.
86367         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
86368         (restore_cwd): Use chdir_long, not chdir.
86369         * lib/chdir-long.c: Renamed from chdir.c.
86370         * lib/chdir-long.h: Renamed from chdir.h.
86371         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
86372         Hurd.
86373
86374 2005-01-18  Bruno Haible  <bruno@clisp.org>
86375
86376         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
86377         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
86378         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
86379         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
86380         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
86381         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
86382         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
86383         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
86384         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
86385         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
86386         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
86387         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
86388         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
86389         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
86390         Use an all-permissive copyright notice, recommended by RMS.
86391
86392 2005-01-18  Bob Proulx  <bob@proulx.com>
86393
86394         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
86395         simplify offsetof() macro construct to avoid compile failure with
86396         native HP-UX 11.0 ANSI C compiler.
86397
86398 2005-01-17  Bruno Haible  <bruno@clisp.org>
86399
86400         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
86401         redundant because stpncpy.m4 takes care of it.
86402
86403 2005-01-17  Bruno Haible  <bruno@clisp.org>
86404
86405         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
86406
86407 2005-01-17  Bruno Haible  <bruno@clisp.org>
86408
86409         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
86410         used.
86411
86412 2005-01-17  Bruno Haible  <bruno@clisp.org>
86413
86414         * lib/fwriteerror.h (fwriteerror): Change specification to include
86415         fclose.
86416         * lib/fwriteerror.c: Include <stdbool.h>.
86417         (fwriteerror): At the end, close the file stream. Record whether
86418         stdout was already closed.
86419
86420 2005-01-17  Bruno Haible  <bruno@clisp.org>
86421
86422         * lib/execute.c (environ): Declare if needed.
86423         * lib/pipe.c (environ): Likewise.
86424         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
86425
86426 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86427
86428         * modules/argp: Depend on vsnprintf
86429
86430 2005-01-10  Jim Meyering  <jim@meyering.net>
86431
86432         * modules/closeout (Depends-on): Add atexit.
86433
86434 2005-01-06  Bruno Haible  <bruno@clisp.org>
86435
86436         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
86437
86438 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
86439
86440         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
86441         definitions to be after all include files, to avoid collisions.
86442         Problem reported by Bob Proulx.
86443
86444 2005-01-04  Jim Meyering  <jim@meyering.net>
86445
86446         Changes imported from coreutils.
86447         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
86448         as the mkstemp template, use a temporary directory and an
86449         8.3-friendly template to avoid trouble on systems like DJGPP.
86450         Reported by Juan M. Guerrero via Stepan Kasal.
86451         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
86452         close. Remove the temporary directory right away, rather than waiting
86453         for configure's at-exit trap code to do it.
86454         Suggestion from Stepan Kasal.
86455
86456 2005-01-01  Simon Josefsson  <jas@extundo.com>
86457
86458         * gnulib-tool: Print #include directives when --import'ing.
86459
86460 2004-12-28  Simon Josefsson  <jas@extundo.com>
86461
86462         * tests/test-base64.c: Include required header files.  Remove
86463         unused variables.
86464
86465 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
86466
86467         * modules/error (Depends-on): Remove gettext.
86468
86469 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
86470
86471         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
86472         not needed.  This removes a dependency on the gettext module.
86473         [defined _LIBC]: Do not include <libintl.h>; not needed.
86474
86475 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
86476
86477         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
86478         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
86479
86480 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
86481
86482         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
86483         HAVE_DECL_STRTOLD.
86484
86485 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86486
86487         * modules/getdate (Depends-on): Remove alloca-opt.
86488
86489 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86490
86491         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
86492
86493 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86494
86495         * lib/argp-parse.c: Include <stddef.h>.
86496         (alignof, alignto): New macros.
86497         (parser_init): Don't assume that void * is aligned sufficiently
86498         for struct option.
86499
86500         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
86501         need to extend the stack.
86502         (YYINITDEPTH): New macro, so that the initial stack isn't overly
86503         large.
86504
86505 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86506
86507         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
86508
86509 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
86510
86511         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
86512         (2004-10-24) change.  Apparently this was a false alarm.
86513
86514         * modules/getdate: Depend on alloca-opt, not alloca.
86515
86516 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
86517
86518         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
86519         Remove now-obsolete comment about AIX.
86520         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
86521         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
86522         (YYMAXDEPTH): New macro.
86523
86524 2004-12-18  Simon Josefsson  <jas@extundo.com>
86525
86526         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
86527
86528 2004-12-18  Bruno Haible  <bruno@clisp.org>
86529
86530         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
86531
86532 2004-12-18  Bruno Haible  <bruno@clisp.org>
86533
86534         * lib/fatal-signal.c (fatal_signals): Make non-const.
86535         (init_fatal_signals): New function.
86536         (uninstall_handlers, install_handlers): Ignore signals that were set to
86537         SIG_IGN.
86538         (at_fatal_signal): Call init_fatal_signals.
86539         (init_fatal_signal_set): Likewise. Ignore signals that were set to
86540         SIG_IGN.
86541         Reported by Paul Eggert.
86542
86543 2004-12-18  Bruno Haible  <bruno@clisp.org>
86544
86545         * doc/alloca.texi: New file.
86546         * doc/alloca-opt.texi: New file.
86547
86548 2004-12-17  Jim Meyering  <jim@meyering.net>
86549
86550         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
86551         Otherwise, install-sh could exit with improper exit status when
86552         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
86553
86554 2004-12-16  Simon Josefsson  <jas@extundo.com>
86555
86556         * tests/test-base64.c: Add license.
86557
86558 2004-12-15  Stepan Kasal  <address@hidden>
86559
86560         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
86561
86562 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
86563
86564         * modules/getcwd (Files): Add m4/d-ino.m4.
86565         Suggested by Mark D. Baushke.
86566
86567 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86568
86569         * lib/getdate.y (textint): New member "negative".
86570         (time_zone_hhmm): New function.
86571         Expect 14 shift-reduce conflicts, not 13.
86572         (o_colon_minutes): New rule.
86573         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
86574         (yylex): Set the "negative" member of signed numbers.
86575
86576 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86577
86578         * doc/getdate.texi (Time of day items, Time zone items):
86579         Describe new formats +00:00, UTC+00:00.
86580
86581 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
86582
86583         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
86584         spurious "-l"s.  Problem reported by Stepan Kasal.
86585
86586 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
86587
86588         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
86589         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
86590
86591 2004-12-04  Simon Josefsson  <jas@extundo.com>
86592
86593         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
86594         Vandoorselaere <yoann@prelude-ids.org>.
86595
86596 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86597
86598         Changes imported from coreutils.
86599         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
86600         exist.
86601         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
86602
86603 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86604
86605         Changes imported from coreutils.
86606         * lib/hard-locale.c: Assume <locale.h> exists.
86607         Include "strdup.h".
86608         (GLIBC_VERSION): New macro.
86609         (hard_locale): Assume setlocale exists.
86610         Rewrite to avoid #ifdef.
86611         Use strdup rather than malloc + strcpy.
86612         * lib/human.c: Assume <locale.h> exists.
86613         (human_readable): Assume localeconv exists.
86614
86615 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86616
86617         * modules/hard-locale (Depends-on): Add strdup.
86618
86619 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
86620
86621         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
86622         convert T2, not T.  (Imported from libc.)
86623
86624 2004-11-30  Simon Josefsson  <jas@extundo.com>
86625
86626         * modules/restrict (License): Change to LGPL.
86627
86628 2004-11-30  Simon Josefsson  <jas@extundo.com>
86629
86630         * m4/restrict.m4: Add copyright and copying conditions.
86631
86632 2004-11-30  Simon Josefsson  <jas@extundo.com>
86633
86634         * m4/base64.m4: New file.
86635
86636 2004-11-30  Simon Josefsson  <jas@extundo.com>
86637
86638         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
86639         base64.
86640
86641         * tests/test-base64.c: New file.
86642
86643         * modules/base64: New file.
86644
86645 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86646
86647         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
86648         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
86649
86650         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
86651
86652 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86653
86654         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
86655         (__getcwd.c): Don't restore errno; glibc doesn't.
86656         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
86657         first, falling back to our code only if its results look suspicious.
86658         Ensure that the resulting buffer is only as large as necessary.
86659
86660         * lib/readutmp.c: Include readutmp.h first.
86661         Include <errno.h>, since readutmp.h no longer does that.
86662         * lib/readutmp.h: Don't include <errno.h>,
86663         <sys/param.h>, <time.h>; not needed to establish interface.
86664         (errno): Remove decl.
86665         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
86666         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
86667         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
86668
86669 2004-11-28  Simon Josefsson  <jas@extundo.com>
86670
86671         * lib/base64.h, base64.c: New file.
86672
86673 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
86674
86675         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
86676
86677 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
86678
86679         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
86680         (Depends-on): Remove pathmax, same.  Add mempcpy.
86681         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
86682         (Makefile.am): Append getcwd.h to lib_SOURCES.
86683         (Include): Add getcwd.h.
86684         (Maintainer): Change from Jim Meyering to "all, glibc",
86685         since getdate now uses intended-for-glibc code.
86686         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
86687         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
86688
86689 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86690
86691         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
86692         HP's ANSI C compiler.
86693         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
86694         Declaring int functions causes warnings on some modern systems and
86695         shouldn't be needed to compile on ancient ones.
86696         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
86697         defined.
86698
86699         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
86700         with the following changes.
86701         (__set_errno): Parenthesize properly.
86702         Include <stdbool.h>.
86703         (MIN, MAX, MATCHING_INO): New macros.
86704         (__getcwd): Define with prototype, not K&R form.
86705         Use heuristics to allocate default buffer on stack if possible.
86706         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
86707         behavior, and to avoid the PATH_MAX limit when computing
86708         ../../../../...
86709         Use MATCHING_INO to compare inode number to file.
86710         Check for arithmetic overflow in size calculations.
86711         Fix bug in reallocation of dot array that caused getcwd to fail
86712         on directories nested deeper than 75.
86713         Be more careful about saving errno on error.
86714         Do not use realloc; use only free+malloc, as this is a bit
86715         more flexible and avoids a needless copy operation.
86716         Do not inspect st_dev and st_ino for symbolic links; POSIX
86717         doesn't specify the latter.
86718         Check for closedir errors.
86719         Avoid needless casts.
86720         Use "#ifdef weak_alias" around weak_alias, to be like other
86721         glibc code.
86722         The following changes to getcwd.c have effect only when used in
86723         gnulib; they have no effect inside glibc proper.
86724         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
86725         as alloca isn't used.
86726         (alloca, __alloca): Likewise.
86727         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
86728         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86729         unconditionally, as gnulib assumes C89 or better.
86730         Do not include <sys/param.h>.
86731         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
86732         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
86733         better.
86734         (NULL) [!defined NULL]: Remove; we assume C89 or better.
86735         Include <dirent.h> in a way that is compatible with modern Autoconf.
86736         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
86737         New macros, if not already defined.
86738         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
86739         Use "_LIBC", not "defined _LIBC", for consistency.
86740         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
86741         a mempcpy module.
86742         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
86743         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
86744         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
86745         credit only to Jim Meyering and adjust the copyright dates.
86746         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
86747         <stdlib.h>, <unistd.h>, "pathmax.h".
86748         Instead, include "xgetcwd.h" (first) and "getcwd.h".
86749         (INITIAL_BUFFER_SIZE): Remove.
86750         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
86751
86752 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86753
86754         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
86755         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
86756         Use the _ONCE methods, for efficiency.
86757         Check for fcntl.h.  In test program, include <errno.h>
86758         and <fcntl.h> if available.  Remove old K&R cruft from
86759         test program.  Check for common errors in GNU/Linux,
86760         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
86761         don't do AC_LIBOBJ, as that's getcwd.m4's job.
86762         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
86763         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
86764         name accordingly.
86765         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
86766         accommodate new getcwd.c.
86767         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
86768         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
86769         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
86770         that's all we need now.
86771
86772 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86773
86774         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
86775         argp-parse.c depends on getopt internals, that means we should
86776         always use our getopt, to be on the safe side.
86777         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
86778         order not to spoil the result of an eventual previous invocation
86779         of gl_GETOPT_SUBSTITUTE.
86780
86781 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86782
86783         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
86784         redefinition warnings. To avoid them, include the defines
86785         in `#if !defined __need_getopt ... #endif'. The only place
86786         where __getopt_argv_const is used is in definitions
86787         of getopt_long and getopt_long_only below, which are as well
86788         protected by `#ifndef __need_getopt'.
86789         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
86790         __need_getopt after including <stdio.h> and <unistd.h> These
86791         headers might have defined it.
86792
86793 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86794
86795         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
86796
86797 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86798
86799         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
86800         (futimens): New function, which uses futimes if available.
86801         (futimens, utimens): Support timespec==NULL, with same semantics
86802         as utime and utimens.
86803         * lib/utimens.h (futimens): New decl.
86804
86805 2004-11-23  Jim Meyering  <jim@meyering.net>
86806
86807         * lib/getopt_.h: Remove trailing blanks.
86808
86809 2004-11-23  Jim Meyering  <jim@meyering.net>
86810
86811         * lib/__fpending.c: Add comment.
86812
86813 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
86814
86815         * modules/canonicalize (Depends-on): Add xreadlink.
86816         Problem reported by James Youngman.
86817
86818 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
86819
86820         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
86821         New macros.
86822         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
86823         optopt): Use them instead of invoking ## directly; otherwise, the
86824         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
86825
86826 2004-11-19  Bruno Haible  <bruno@clisp.org>
86827
86828         * lib/strtok_r.c: Move comments from here...
86829         * lib/strtok_r.h: ... to here.
86830
86831 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86832
86833         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
86834         implementations that mishandle size_t overflow.
86835
86836 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86837
86838         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
86839         might fail.  Problem reported by Yoann Vandoorselaere.
86840         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
86841         implementations that mishandle size_t overflow.
86842
86843 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86844
86845         * modules/canon-host (Depends-on): Add strdup.
86846
86847 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86848
86849         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
86850
86851 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86852
86853         * lib/canon-host.c: Include "strdup.h".
86854         (canon_host): Use getaddrinfo if available, so that IPv6 works.
86855         Use strdup instead of malloc/strcpy to duplicate strings.
86856
86857         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
86858         (human_space_before_unit): New constant.
86859         * lib/human.c (human_readable): Support it.
86860
86861         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
86862         (xgetcwd): Set errno correctly when failing.
86863         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
86864         the failure is actually due to a PATH_MAX problem.
86865
86866         Further getopt changes to make it more likely that glibc will
86867         buy the changes back.
86868         * lib/getopt.c (POSIXLY_CORRECT): New constant.
86869         (getopt): Use it, so to preserve glibc semantic
86870         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
86871         when compiling for libc.
86872         * lib/getopt_.h (__getopt_argv_const): Bring it back.
86873         (getopt_long, getopt_long_only): Use it.
86874
86875         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86876         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
86877         (getopt): Argv is now char * const *, as per standard.
86878         (_getopt_internal_r, _getopt_internal): Argv is now char **,
86879         not char *__getopt_argv_const *.
86880         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86881         _getopt_long_only_r): Likewise.
86882         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
86883         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86884         _getopt_long_r, _getopt_long_only_r): Likewise.
86885         * lib/getopt_.h (__getopt_argv_const): Remove.
86886         (getopt): Argv is now char * const *, as per standard.
86887
86888         * lib/getdate.y (tORDINAL): New token.
86889         (day, relunit): Allow it for relative times.
86890         (relative_time_table): Use tORDINAL for ordinals.
86891
86892 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86893
86894         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
86895         Document that "second" isn't allowed as an ordinal number.
86896
86897 2004-11-16  Jim Meyering  <jim@meyering.net>
86898
86899         * modules/closeout (Depends-on): Add fpending.
86900
86901 2004-11-15  Jim Meyering  <jim@meyering.net>
86902
86903         * lib/closeout.c: Include "__fpending.h" once again.
86904         Include <stdbool.h>.
86905         (close_stdout): Don't fail just because stdout was closed initially,
86906         since some programs don't write to stdout in the normal course of
86907         operation (other than --version and --help), and we don't want this
86908         function to make e.g. `touch file >&-' fail.
86909         But do fail if it was closed and someone has tried to write to it.
86910         E.g., `printf foo >&-' must fail.
86911
86912 2004-11-13  Jim Meyering  <jim@meyering.net>
86913
86914         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
86915
86916 2004-11-12  Simon Josefsson  <jas@extundo.com>
86917
86918         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
86919         small doc fix is still pending.
86920
86921 2004-11-11  Simon Josefsson  <jas@extundo.com>
86922
86923         * modules/strtok_r: New file.
86924
86925         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86926         strtok_r.
86927
86928 2004-11-11  Simon Josefsson  <jas@extundo.com>
86929
86930         * m4/strtok_r.m4: New file.
86931
86932         * m4/getopt.m4: Replace opterr.
86933
86934 2004-11-11  Simon Josefsson  <jas@extundo.com>
86935
86936         * lib/strtok_r.h, strtok_r.c: New file.
86937
86938 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86939
86940         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
86941         of replacing opterr, getopt, etc.  This should handle the
86942         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86943
86944 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86945
86946         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86947         we can stop lying to compilers about the constness of argv when we
86948         are compiled outside glibc.
86949         (getopt, getopt_long, getopt_long_only): Use it.
86950         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86951         _getopt_internal, getopt): Likewise.
86952         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86953         _getopt_long_only_r): Likewise.
86954         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86955         _getopt_long_r, _getopt_long_only_r): Likewise.
86956
86957         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86958         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86959         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86960         the other external symbols.
86961         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86962         declaration, since the above renaming now works around collisions.
86963
86964 2004-11-11  Jim Meyering  <jim@meyering.net>
86965
86966         * lib/linebreak.c: Remove trailing blanks.
86967         * lib/alloca_.h: Likewise.
86968         * lib/acosl.c: Likewise.
86969         * lib/euidaccess.c: Likewise.
86970         * lib/allocsa.h: Likewise.
86971
86972 2004-11-10  Simon Josefsson  <jas@extundo.com>
86973
86974         * m4/getaddrinfo.m4: New file.
86975
86976 2004-11-10  Simon Josefsson  <jas@extundo.com>
86977
86978         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86979
86980 2004-11-10  Simon Josefsson  <jas@extundo.com>
86981
86982         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86983         getaddrinfo.
86984
86985         * modules/getaddrinfo: New file.
86986
86987 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86988
86989         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86990
86991 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86992
86993         * lib/mktime.c (SHR): New macro, which is a portable
86994         substitute for >> that should work even on Crays.
86995         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86996         Problem reported by Mark D. Baushke in
86997         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86998         * lib/getdate.y (SHR): Likewise.
86999         (tm_diff): Use it.
87000         * lib/strftime.c (SHR): Likewise.
87001         (tm_diff): Use it.
87002         * lib/quotearg.c (struct quoting_options): Use unsigned int for
87003         quote_these_too, so that right shifts are well defined.  All uses
87004         changed.
87005
87006 2004-11-10  Jim Meyering  <jim@meyering.net>
87007
87008         Ensure that no close failure goes unreported.
87009         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
87010         return early when it seems there's nothing to flush.
87011         Don't include __fpending.h.
87012
87013 2004-11-10  Jim Meyering  <jim@meyering.net>
87014
87015         * modules/closeout (Depends-on): Remove fpending.
87016
87017 2004-11-10  Jim Meyering  <jim@meyering.net>
87018
87019         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
87020
87021 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
87022
87023         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
87024         gl_FUNC_STRFTIME.
87025         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
87026         and AC_REQUIRE when possible, to avoid duplicate checks.
87027         Check for <wchar.h>.
87028
87029 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
87030
87031         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
87032
87033 2004-11-09  Bruno Haible  <bruno@clisp.org>
87034
87035         * m4/sockpfaf.m4: New file.
87036
87037 2004-11-05  Bruno Haible  <bruno@clisp.org>
87038
87039         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
87040         Reported by Mark D. Baushke <mdb@cvshome.org>.
87041
87042 2004-11-04  Bruno Haible  <bruno@clisp.org>
87043
87044         2004-09-11  Bruno Haible  <bruno@clisp.org>
87045                 * allocsa.valgrind: New file.
87046         2004-02-06  Bruno Haible  <bruno@clisp.org>
87047                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
87048                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
87049                 Reported by Christopher Seip <chris.seip@hp.com>.
87050
87051 2004-11-04  Bruno Haible  <bruno@clisp.org>
87052
87053         * modules/allocsa (Files): Add lib/allocsa.valgrind.
87054         (Makefile.am): Distribute it.
87055
87056 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
87057
87058         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
87059         with errno == ERANGE if the buffer is too small.
87060         Problem reported by Mark D. Baushke.
87061
87062 2004-11-03  Albert Chin  <china@thewrittenword.com>
87063             Paul Eggert  <eggert@cs.ucla.edu>
87064
87065         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
87066         equivalent, substitute $ac_type for equivalent type rather than
87067         blindly using uint32_t *always* which won't work if uint32_t is not
87068         available.  Define _UINT32_T to work around typedef of uint32_t if
87069         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
87070         2.5.1.
87071
87072 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87073
87074         * m4/jm-macros.m4: Sync from coreutils.
87075         (gl_MACROS): Check for mbrlen, for pathchk.
87076         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
87077
87078 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87079
87080         * lib/xreadlink.c (MAXSIZE): New macro.
87081         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
87082         size does not exceed MAXSIZE.  Avoid cast.
87083         As suggested by Mark D. Baushke in
87084         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
87085         if readlink fails with buffer size just under MAXSIZE, try again
87086         with MAXSIZE.
87087
87088 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87089
87090         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
87091
87092 2004-11-02  Derek R. Price  <derek@ximbiot.com>
87093         and  Paul Eggert  <eggert@cs.ucla.edu>
87094
87095         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
87096         (get_date): Overparenthesize to avoid GCC warning.
87097
87098 2004-11-02  Bruno Haible  <bruno@clisp.org>
87099
87100         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
87101         returns void.
87102
87103 2004-11-02  Bruno Haible  <bruno@clisp.org>
87104
87105         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
87106         function returns void.
87107
87108 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
87109
87110         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
87111         fflush_unlocked, flockfile, funlockfile, funlockfile,
87112         fputs_unlocked, putc_unlocked.
87113
87114 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
87115
87116         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
87117         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
87118         already declared.
87119
87120 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87121
87122         * modules/getdate (Files): Add doc/getdate.texi.
87123         (Depends-on): Add setenv, xalloc.
87124
87125 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87126
87127         * lib/getdate.y: Add support for TZ="foo" within a date string.
87128         Fix some bugs near time_t boundaries.  Reject dates with
87129         out-of-range components, e.g., "Sept 31".
87130         Include <stdlib.h>, "setenv.h", "xalloc.h".
87131         (ISDIGIT_LOCALE): Remove; unused.
87132         Note that the TZ and time functions used here are not reentrant.
87133         (mktime_ok, get_tz): New functions.
87134         (TZBUFSIZE): New constant.
87135         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
87136         This requires that we sometimes generate our own TZ="XXX..." setting.
87137
87138 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87139
87140         * doc/getdate.texi: New file, from coreutils with modifications for
87141         the new TZ parsing.
87142
87143 2004-10-27  Derek R. Price  <derek@ximbiot.com>
87144
87145         * lib/mktime.c (not_equal_tm): Remove redundant check.
87146
87147 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
87148
87149         * modules/regex (lib_SOURCES): Add regex.c.
87150         Reported by James Youngman in
87151         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
87152
87153 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
87154
87155         * lib/getdate.y: Use Bison 1.875 features, and some minor
87156         code cleanups.  This change does not affect semantics.
87157         Don't include <stdlib.h>; no longer needed.
87158         Don't include unlocked-io.h; only the "#if TEST" code uses
87159         stdio, and performance isn't crucial there.
87160         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
87161         Bison 1.875 features as described below.
87162         All uses of "PC." replaced by "pc->".
87163         (YYSTYPE): Add a forward declaration.
87164         (yylex, yyerror): Use full prototypes in forward decls.
87165         Use "%pure-parser" rather than obsolescent "%pure_parser".
87166         Use %parse-param and %lex-param instead of obsolescent
87167         YYPARSE_PARAM and YYLEX_PARAM.
87168         (meridian_table, month_and_day_table, time_units_table,
87169         relative_time_table, time_zone_table, military_table,
87170         lookup_zone, lookup_word, get_date):
87171         Use NULL instead of 0 where appropriate.
87172         (to_hour): Avoid abort (), to avoid a dependency on
87173         stdlib.h.
87174         (yyerror, yylex): Now accepts parser_control * arg.
87175         (main) [TEST]: Use '\0' rather than 0 for char.
87176
87177 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
87178
87179         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
87180
87181 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
87182
87183         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
87184         It's now the caller's responsibility to handle the case where
87185         !HAVE_GETPAGESIZE && !defined getpagesize.
87186
87187         * lib/mktime.c (leapyear): Arg is long int, not int.
87188
87189 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
87190
87191         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
87192
87193 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
87194
87195         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
87196         missing.  Problem reported by James Youngman.
87197
87198 2004-10-16  Simon Josefsson  <jas@extundo.com>
87199
87200         * gnulib-tool: Fix comments.  Fix parse problem.
87201         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
87202
87203 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
87204
87205         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
87206         implementation of getopt_long.  Problem reported by Alexander Taler in:
87207         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
87208
87209 2004-10-15  Bruno Haible  <bruno@clisp.org>
87210
87211         * gnulib-tool: Untabify. Initialize supplied_libname.
87212         (func_usage): More homogenous output.
87213         (func_modules_transitive_closure, func_modules_to_filelist,
87214         func_emit_lib_Makefile_am): New functions.
87215         (func_import): New function, extracted from big case statement. Use
87216         func_get_license, func_modules_transitive_closure,
87217         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
87218         opt_lgpl. Don't use test -a, as it's not portable.
87219         (func_create_testdir): Use func_modules_transitive_closure,
87220         func_modules_to_filelist, func_emit_lib_Makefile_am.
87221
87222 2004-10-15  Bruno Haible  <bruno@clisp.org>
87223
87224         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
87225
87226 2004-10-15  Bruno Haible  <bruno@clisp.org>
87227
87228         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
87229         the portions belonging to each module.
87230         Suggested by Derek Robert Price <derek@ximbiot.com>.
87231
87232 2004-10-12  Simon Josefsson  <jas@extundo.com>
87233
87234         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
87235         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
87236         to real functions.
87237
87238 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87239
87240         * modules/vsnprintf: New file.
87241
87242 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87243
87244         * m4/vsnprintf.m4: New file.
87245
87246 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87247
87248         * lib/vsnprintf.h: New file.
87249         * lib/vsnprintf.c: New file.
87250
87251 2004-10-11  Bruno Haible  <bruno@clisp.org>
87252
87253         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
87254         vsnprintf.
87255
87256 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
87257
87258         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
87259
87260 2004-10-07  Bruno Haible  <bruno@clisp.org>
87261
87262         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
87263         fits into the provided buffer.
87264
87265 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
87266
87267         * lib/diacrit.c, diacrit.h: Add GPL notice.
87268
87269         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
87270         notice.
87271         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
87272         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
87273         This avoids a potential constant-folding bug.
87274
87275 2004-10-05  Bruno Haible  <bruno@clisp.org>
87276
87277         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
87278         for the declaration of strsep.
87279
87280 2004-10-05  Bruno Haible  <bruno@clisp.org>
87281
87282         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
87283
87284 2004-10-04  Simon Josefsson  <jas@extundo.com>
87285
87286         * modules/memmem: New file.
87287         * tests/test-memmem.c: New file.
87288         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
87289
87290 2004-10-04  Simon Josefsson  <jas@extundo.com>
87291
87292         * m4/memmem.m4: New file.
87293
87294 2004-10-04  Simon Josefsson  <jas@extundo.com>
87295
87296         * lib/memmem.h: New file.
87297         * lib/memmem.c: New file, taken from glibc.
87298
87299 2004-10-04  Simon Josefsson  <jas@extundo.com>
87300
87301         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
87302         '#ifdef USE_UNLOCKED_IO'.
87303
87304 2004-10-04  Simon Josefsson  <jas@extundo.com>
87305
87306         * config/srclist.txt: Add memmem from glibc.
87307
87308 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87309
87310         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
87311
87312         * modules/argmatch, modules/argp, modules/closeout, modules/error,
87313         modules/exclude, modules/getdate, modules/getline,
87314         modules/getndelim2, modules/getpass, modules/getpass-gnu,
87315         modules/getusershell, modules/linebuffer, modules/md5,
87316         modules/mountlist, modules/posixtm, modules/readtokens,
87317         modules/readutmp, modules/regex, modules/sha1,
87318         modules/version-etc, modules/yesno:
87319         Remove dependency on unlocked-io.
87320
87321 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87322
87323         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
87324
87325         * m4/unlocked-io.m4: Add copyright notice.
87326         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
87327
87328 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87329
87330         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
87331         * lib/xmalloc.c (xmemdup): Likewise.
87332         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
87333         XFREE): Remove these long-obsolescent macros.
87334         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
87335         * lib/xstrdup.c: Remove.
87336
87337         * lib/regex.c (re_comp): Cast gettext return value to char *,
87338         Problem reported by Martin Neitzel via Mark D. Baushke.
87339
87340 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87341
87342         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
87343         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
87344         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
87345         regex.c, sha1.c, version-etc.c, yesno.c:
87346         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
87347         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
87348         the includer's responsibility.
87349
87350         Sync from coreutils.
87351
87352         * lib/modechange.c (mode_compile): Don't decrement a pointer that
87353         points to the start of a string, as the C Standard says the
87354         resulting behavior is undefined.
87355
87356         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
87357         simple -> simple_backups, numbered_existing ->
87358         numbered_existing_backups, numbered -> numbered_backups
87359         to avoid shadowing problems.  All uses changed.
87360         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
87361         * lib/backupfile.c (check_extension, numbered_backup):
87362         Rename locals to avoid shadowing 'basename'.
87363         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
87364         once.
87365
87366         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
87367         * lib/.cvsignore: Add getopt.h.
87368
87369 2004-10-04  Bruno Haible  <bruno@clisp.org>
87370
87371         * modules/README: New file.
87372         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
87373         not a module.
87374
87375 2004-10-02  Jim Meyering  <jim@meyering.net>
87376
87377         * lib/dirfd.h, getpagesize.h: Add copyright notice.
87378
87379 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87380
87381         * modules/strsep: New file.
87382
87383 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87384
87385         * m4/strsep.m4: New file.
87386
87387 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87388
87389         * lib/strsep.h: New file.
87390         * lib/strsep.c: New file.
87391
87392 2004-10-01  Simon Josefsson  <jas@extundo.com>
87393
87394         * lib/snprintf.c (snprintf): Handle size==0.
87395
87396 2004-10-01  Simon Josefsson  <jas@extundo.com>
87397             Bruno Haible  <bruno@clisp.org>
87398
87399         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
87400         (snprintf): Declare 'args'.
87401
87402 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
87403
87404         * lib/snprintf.c: Remove comments as to why each header is needed.
87405
87406 2004-10-01  Bruno Haible  <bruno@clisp.org>
87407
87408         * MODULES.html.sh: Add strsep.
87409
87410 2004-09-30  Simon Josefsson  <jas@extundo.com>
87411
87412         * modules/snprintf: New file.
87413
87414 2004-09-30  Simon Josefsson  <jas@extundo.com>
87415
87416         * m4/snprintf.m4: New file.
87417
87418 2004-09-30  Simon Josefsson  <jas@extundo.com>
87419
87420         * lib/snprintf.h, lib/snprintf.c: New files.
87421
87422 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87423
87424         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
87425         (hol_entry_help): Never translate an empty string.
87426         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
87427         * lib/argp.h (OPTION_NO_TRANS): New option.
87428
87429 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
87430
87431         * modules/argp (Maintainer): Replace Simon Josefsson
87432         by Sergey Poznyakoff.
87433
87434 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
87435
87436         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
87437         changes merged back into glibc.
87438
87439 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
87440
87441         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
87442
87443 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
87444
87445         * lib/xvasprintf.c: Include xalloc.h.
87446         (xvasprintf): Use xalloc_die, not xmalloc_die.
87447
87448 2004-09-29  Bruno Haible  <bruno@clisp.org>
87449
87450         * modules/alloca-opt: New file, derived from modules/alloca.
87451         * modules/allocsa: Depend on alloca-opt instead of alloca.
87452         * modules/setenv: Likewise.
87453         * modules/vasnprintf: Likewise.
87454         * MODULES.html.sh: Add alloca-opt.
87455
87456 2004-09-28  Simon Josefsson  <jas@extundo.com>
87457
87458         * gnulib-tool: New parameter --lgpl, to asseert that modules are
87459         LGPL, and to replace license template from GPL to LGPL.
87460
87461 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
87462
87463         * modules/dummy: Change license to LGPL.
87464
87465 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
87466
87467         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
87468
87469 2004-09-24  Simon Josefsson  <jas@extundo.com>
87470
87471         * modules/minmax (License): Change from GPL to LGPL.
87472
87473 2004-09-23  Simon Josefsson  <jas@extundo.com>
87474
87475         * gnulib-tool (--import): Typo.
87476
87477 2004-09-23  Simon Josefsson  <jas@extundo.com>
87478
87479         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
87480
87481 2004-09-22  Bruno Haible  <bruno@clisp.org>
87482
87483         * modules/*: Add 'License' field.
87484         * gnulib-tool: Accept --extract-license option.
87485         (func_get_license): New function.
87486
87487 2004-09-21  Bruno Haible  <bruno@clisp.org>
87488
87489         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
87490         Reported by Simon Josefsson.
87491
87492 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
87493
87494         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
87495         gl_AC_TYPE_LONG_LONG.
87496
87497 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
87498
87499         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
87500
87501 2004-09-18  Simon Josefsson  <jas@extundo.com>
87502         and  Paul Eggert  <eggert@cs.ucla.edu>
87503
87504         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
87505         calls with autoreconf.  Define GL_LIB.
87506
87507 2004-09-14  Karl Berry  <karl@gnu.org>
87508
87509         * config/srclist.txt: unsync setenv.c, sigh.
87510
87511 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
87512
87513         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
87514         Problem reported by Bruno Haible in:
87515         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
87516
87517 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
87518
87519         * config/srclist.txt: Comment out argp-pvh.c.
87520
87521 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
87522
87523         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
87524         in case some system header has #define'd it.  Problem reported by
87525         Soeren D. Schulze in
87526         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
87527
87528 2004-09-09  Karl Berry  <karl@gnu.org>
87529
87530         * regex.[ch]: delete from the root.  These were supposed to be
87531                 synced with emacs cvs, but this has not happened for about
87532                 a year, and anyway nothing else uses emacs regex.[ch].
87533                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
87534                 lib/regex[.ch] is untouched.
87535
87536 2004-09-09  Bruno Haible  <bruno@clisp.org>
87537
87538         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
87539
87540 2004-09-09  Bruno Haible  <bruno@clisp.org>
87541
87542         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
87543         modifications.
87544         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
87545
87546 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87547
87548         * modules/xvasprintf: New file.
87549         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
87550
87551 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87552
87553         * lib/xvasprintf.h: New file.
87554         * lib/xvasprintf.c: New file.
87555         * lib/xasprintf.c: New file.
87556
87557 2004-09-08  Bruno Haible  <bruno@clisp.org>
87558
87559         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
87560
87561 2004-09-08  Bruno Haible  <bruno@clisp.org>
87562
87563         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
87564         length is > INT_MAX.
87565         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
87566         more.
87567
87568 2004-09-08  Bruno Haible  <bruno@clisp.org>
87569
87570         * lib/stdint_.h: New file, taken from GNU clisp.
87571
87572 2004-09-08  Bruno Haible  <bruno@clisp.org>
87573             Oskar Liljeblad  <oskar@osk.mine.nu>
87574
87575         * modules/stdint: New file.
87576         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
87577
87578 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87579
87580         Import from coreutils.
87581         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
87582         strings on unbounded length.  alloca's performance benefits aren't
87583         that important here.
87584         (V_STRDUP): Remove.
87585         (parse_with_separator): New function, with most of the internals
87586         of the old parse_user_spec.  Allow user to omit both user and group,
87587         for compatibility with FreeBSD.
87588         Clone only the user name, not the entire spec.
87589         Do not set *uid, *gid unless entirely successful.
87590         Avoid memory leak in some failing cases.
87591         Fix regression for USER.GROUP reported by Dmitry V. Levin in
87592         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
87593         (parse_user_spec): Rewrite to use parse_with_separator.
87594
87595 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87596
87597         * modules/userspec: Don't depend on alloca.
87598
87599 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87600
87601         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
87602
87603 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87604
87605         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
87606         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
87607         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
87608
87609 2004-08-16  Simon Josefsson  <jas@extundo.com>
87610
87611         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
87612         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
87613         Add --dry-run for --import.
87614         Let user provided command line parameters override configure.ac
87615         settings.
87616
87617 2004-08-12  Simon Josefsson  <jas@extundo.com>
87618
87619         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
87620         as discussed with Paul Eggert in threads rooted at
87621         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
87622         and
87623         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
87624         Before, the test was empty, and relied on ELIDE_CODE in source
87625         code.)
87626         (gl_PREREQ_GETOPT): New macro.
87627         (gl_GETOPT): Use them.
87628
87629 2004-08-12  Simon Josefsson  <jas@extundo.com>
87630
87631         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
87632         * lib/getopt_.h: Renamed from getopt.h.
87633
87634 2004-08-12  Simon Josefsson  <jas@extundo.com>
87635
87636         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
87637         Change default library name from libfoo to libgnu.
87638         Now, if you have a configure.ac that says:
87639                 gl_SOURCE_BASE(gl)
87640                 gl_M4_BASE(gl/m4)
87641                 gl_MODULES(error getopt etcetera)
87642                 gl_INIT
87643         you can import all you need by running:
87644                 ../gnulib/gnulib-tool --import
87645
87646         * modules/getopt (Files): Rename getopt.h to getopt_.h.
87647         (Makefile.am): Rewrite, use logic from argz.
87648         (Include): Use <getopt.h> instead of "getopt.h".
87649
87650 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87651
87652         * modules/argp (Files): Add m4/unlocked-io.m4.
87653         (Depends-on): Add extensions.
87654
87655 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87656
87657         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
87658         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
87659         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
87660         Check for program_invocation_name, program_invocation_short_name,
87661         flockfile, funlockfile, features.h, _getopt_long_only_r.
87662
87663 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87664
87665         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
87666         its complicated substitute.
87667         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
87668         and program_invocation_name.
87669         (__argp_basename) [!_LIBC]: Remove; the only use was
87670         replaced by its body.
87671         (__argp_short_program_name): Change condition from
87672         !defined __argp_short_program_name to
87673         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
87674         to match argp-namefrob.h.
87675         (__argp_failure): Don't assume strerror_r returns char *.
87676         * lib/argp-parse.c (N_): Define unconditionally.
87677         (argp_default_options): Fill out initializers with 0 to avoid
87678         gcc warnings.
87679
87680 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87681
87682         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
87683         getopt1.c.
87684
87685 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87686
87687         Merge from coreutils.
87688
87689         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
87690
87691         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
87692         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
87693
87694 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87695
87696         Merge from coreutils.
87697
87698         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
87699         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
87700         for Reliant Unix 5.43.
87701
87702         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
87703         (union fooround): Use uintmax_t, not long int.
87704         The rest is a merge from libc:
87705         [defined _LIBC]: Include <shlib-compat.h>.
87706         (_obstack) [defined _LIBC]: Remove after 2.3.4.
87707
87708         * lib/settime.c (settime): Recode to avoid warning with
87709         Sun Forte C 6U2.
87710
87711         * lib/strverscmp.c: Convert to UTF-8.
87712
87713 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87714
87715         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
87716         m4/uintmax_t.m4.
87717
87718 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87719
87720         * modules/xalloc-die: New file.
87721         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
87722
87723         * modules/md5 (Files): Add m4/uint32_t.m4.
87724         * modules/sha1: Renamed from modules/sha.
87725         (Files):
87726         Rename lib/sha.h to lib/sha1.h.
87727         Rename lib/sha.c to lib/sha1.c.
87728         Rename m4/sha.m4 to m4/sha1.m4.
87729         (lib_SOURCES): Likewise.
87730         (configure.ac): Rename gl_SHA to gl_SHA1.
87731         (Include): sha.h -> sha1.h.
87732
87733 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87734
87735         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
87736         * m4/sha1.m4: Renamed from sha.m4.
87737         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
87738
87739 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87740
87741         * lib/obstack.h (obstack_empty_p):
87742         Don't assume that chunk->contents is suitably aligned.
87743         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
87744         Likewise. Problem reported by Benno in
87745         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
87746
87747         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
87748         readable.  This could be improved further but it'd take some work.
87749
87750 2004-08-08  Simon Josefsson  <jas@extundo.com>
87751
87752         * modules/xgethostname (Depends-on): Remove exit and error (not
87753         used).
87754
87755         * modules/getpass-gnu: Add getpass.h.
87756         (Depends-on): Add stdbool.
87757         * modules/getpass: Add getpass.h.
87758
87759 2004-08-08  Simon Josefsson  <jas@extundo.com>
87760
87761         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
87762         Check getpass declaration.
87763
87764 2004-08-08  Simon Josefsson  <jas@extundo.com>
87765
87766         * lib/xgethostname.c: Don't include error.h (not used).
87767
87768         * lib/getpass.h: Add.
87769         * lib/getpass.c: Include getpass.h first.
87770
87771 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
87772
87773         * lib/xalloc-die.c: New file.
87774         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
87775         All uses removed.
87776         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
87777         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
87778         xalloc-die.c.
87779         (_, N_, xalloc_die): Move to xalloc-die.c.
87780         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
87781         so that we needn't mess with xalloc_msg_memory_exhausted.
87782
87783         * lib/sha1.h: Renamed from sha.h.
87784         (SHA1_H): Renamed from _SHA_H.
87785         (sha1_ctx): Renamed from sha_ctx.
87786         (sha1_init_ctx): Renamed from sha_init_ctx.
87787         (sha1_process_block): Renamed from sha_process_block.
87788         (sha1_process_bytes): Renamed from sha_process_bytes.
87789         (sha1_finish_ctx): Renamed from sha_finish_ctx.
87790         (sha1_read_ctx): Renamed from sha_read_ctx.
87791         (sha1_stream): Renamed from sha_stream.
87792         (sha1_buffer): Renamed from sha_buffer.
87793         * lib/sha1.c: Likewise; renamed from sha.c.
87794         Do not include <sys/types.h>.
87795         Include <stddef.h> rather than <stdlib.h>.
87796
87797 2004-08-08  Bruno Haible  <bruno@clisp.org>
87798
87799         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
87800         FILESYSTEM_PREFIX_LEN.
87801         * lib/progreloc.c: Likewise.
87802         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
87803
87804 2004-08-06  Simon Josefsson  <jas@extundo.com>
87805
87806         * modules/progname (Depends-on): Don't depend on stdbool.
87807
87808 2004-08-06  Simon Josefsson  <jas@extundo.com>
87809
87810         * modules/getsubopt: New file.
87811         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87812         getsubopt.
87813
87814 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87815
87816         More merge from coreutils.
87817
87818         * m4/utimens.m4, m4/utimecmp.m4: New files.
87819         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
87820         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
87821         prereq.m4, sha.m4: Import changes from coreutils.
87822
87823 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87824
87825         More merge from coreutils.
87826         * modules/raise, modules/readtokens0, modules/utimens:
87827         * modules/utimecmp, module/xnanosleep: New files.
87828         * modules/strftime: Add lib/strftime.h.
87829         Change include from <time.h> to "strftime.h".
87830         * modules/yesno: Add lib/yesno.h.
87831         * modules/backupfile: Remove lib/addext.c.
87832         * modules/euidaccess: Add stat-macros.h.
87833         * modules/canonicalize, modules/euidaccess,
87834         modules/filemode, modules/lchown, modules/makepath,
87835         modules/rmdir, modules/stat: Likewise.
87836
87837 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87838
87839         Merge from tar.
87840         * lib/argp-help.c (make_hol, hol_append): Don't assume that
87841         SIZE_MAX is a valid preprocessor constant.
87842         (__argp_basename): Change from "#ifndef _LIBC"
87843         to "#ifndef __argp_short_program_name", so that
87844         we don't compile these functions for tar.
87845
87846         More merges from coreutils.
87847         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
87848         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
87849         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
87850         * lib/addext.c: Remove; no longer needed.
87851         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
87852         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
87853         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
87854         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
87855         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
87856         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
87857         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
87858         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
87859         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
87860         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87861         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
87862         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
87863         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
87864         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
87865         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
87866         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
87867         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
87868         Import changes from coreutils.
87869
87870 2004-08-05  Simon Josefsson  <jas@extundo.com>
87871
87872         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
87873
87874 2004-08-05  Simon Josefsson  <jas@extundo.com>
87875
87876         * m4/getsubopt.m4: New file.
87877
87878 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87879
87880         Merge from coreutils.
87881
87882         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
87883         * m4/getcwd-path-max.m4: New files.
87884
87885         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
87886         FILESYSTEM_PREFIX_LEN ->
87887         FILE_SYSTEM_PREFIX_LEN.
87888         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
87889         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
87890         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
87891         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
87892
87893         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
87894         prerequisite modules now handle the DOS stuff.
87895         Don't check for unistd.h.
87896
87897 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87898
87899         Merge from coreutils.
87900
87901         * lib/.gdb-history: Remove; this doesn't belong here.
87902
87903         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
87904         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
87905         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
87906         * lib/getcwd.c: New files.
87907
87908         * lib/dirname.h: Include <stdbool.h>.
87909         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
87910         for consistency with POSIX terminology.  All uses changed.
87911         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
87912         (strip_trailing_slashes): Use bool for booleans.
87913         * lib/stripslash.c (strip_trailing_slashes): Likewise.
87914
87915         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
87916         sometimes returns a positive errno value even when it succeeds.
87917         (print_errno_message) [!LIBC]: Fall back on strerror if
87918         __strerror_r fails.
87919
87920         * lib/path-concat.c (mempcpy): Don't define if a system header defines
87921         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
87922         (longest_relative_suffix): New function.
87923         (path_concat): Use it.  Assume first argument is not NULL.
87924         Port to DOS.  Omit redundant separators.
87925         Report an error instead of returning NULL.
87926         Use mempcpy instead of memcpy.
87927         (xpath_concat): Remove: not declared or used.
87928
87929         * lib/same.h: Include <stdbool.h>
87930         (same_name): Return bool, not int.
87931         * lib/same.c (same_name): Likewise.
87932         (errno): Don't declare; we assume C89 or better now.
87933
87934         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
87935         if not already defined.
87936
87937         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
87938         * lib/dup-safer.c (errno): Likewise.
87939
87940 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87941
87942         Merge from coreutils.
87943         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87944         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87945         * modules/path-concat: Don't depend on strdup.
87946
87947 2004-08-03  Simon Josefsson  <jas@extundo.com>
87948
87949         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87950         * lib/progname.h: Don't include stdbool.h.
87951
87952 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87953
87954         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87955         * MODULES.html.sh (func_all_modules): Remove fatal.
87956
87957 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87958
87959         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87960
87961 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87962
87963         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87964         working.
87965
87966 2004-08-02  Simon Josefsson  <jas@extundo.com>
87967
87968         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87969         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87970         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87971
87972 2004-08-01  Simon Josefsson  <jas@extundo.com>
87973
87974         * lib/xgetdomainname.c: Include stdlib.h, for free().
87975
87976 2004-07-19  Bruno Haible  <bruno@clisp.org>
87977
87978         * MODULES.html.sh (func_all_modules): Add dummy.
87979
87980 2004-07-16  Simon Josefsson  <jas@extundo.com>
87981
87982         * modules/dummy: New file.
87983
87984 2004-07-16  Simon Josefsson  <jas@extundo.com>
87985
87986         * lib/dummy.c: New file.
87987
87988 2004-07-16  Bruno Haible  <bruno@clisp.org>
87989
87990         * lib/backupfile.h: Add extern "C" for C++.
87991         * lib/closeout.h: Likewise.
87992         * lib/copy-file.h: Likewise.
87993         * lib/findprog.h: Likewise.
87994         * lib/full-write.h: Likewise.
87995         * lib/pathname.h: Likewise.
87996         * lib/progname.h: Likewise.
87997         * lib/stpcpy.h: Likewise.
87998         * lib/stpncpy.h: Likewise.
87999         * lib/strcase.h: Likewise.
88000         * lib/strstr.h: Likewise.
88001         * lib/xalloc.h: Likewise.
88002
88003         * lib/mbswidth.h: Add extern "C" for C++.
88004         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
88005
88006 2004-07-13  Robert Millan  <robertmh@gnu.org>
88007
88008         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
88009
88010 2004-07-09  Simon Josefsson  <jas@extundo.com>
88011
88012         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
88013         failed without this.)
88014
88015 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88016
88017         * modules/chown (Files): Add lib/fchown-stub.c, since
88018         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
88019
88020 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88021
88022         * lib/fchown-stub.c: New file.
88023
88024 2004-06-24  Jim Meyering  <jim@meyering.net>
88025
88026         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
88027
88028 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88029
88030         * modules/argz: Omit "#include".
88031
88032         * MODULES.html.sh (func_all_modules): Add calloc, to match
88033         2004-06-01 addition of calloc module.
88034
88035 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88036
88037         * m4/argz.m4: New file, which is autoupdated from libtool.
88038
88039 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88040
88041         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
88042         libtool.
88043
88044 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88045
88046         * config/srclist-update: Don't insist on "USA." before the
88047         close-comment, as libtool omits the period and puts the */ on a
88048         separate line.
88049         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
88050         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
88051
88052 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
88053
88054         * modules/argz: New file.
88055         * MODULES.html.sh (func_all_modules): Add argz.
88056
88057 2004-06-12  Jim Meyering  <jim@meyering.net>
88058         and  Paul Eggert  <eggert@cs.ucla.edu>
88059
88060         * modules/hash (Files): Add lib/xalloc.h.
88061         * modules/pipe (Depends-on): Add wait-process.
88062         * modules/stat (Depends-on): Add xalloc.
88063         * modules/userspec (Files): Add lib/userspec.h.
88064         * modules/xstrto
88065
88066         Upgrade from gettext-0.13.
88067         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
88068         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
88069         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
88070
88071 2004-06-10  Jim Meyering  <jim@meyering.net>
88072
88073         * lib/calloc.c: New file.
88074
88075 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
88076
88077         * lib/getdate.y (yylex): Allow space between sign and number.
88078         Problem reported by Dan Jacobson.
88079
88080 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
88081
88082         Merge from coreutils CVS.
88083
88084         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
88085         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
88086         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
88087         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
88088         xstrtol.m4: Fix copyright date and/or serial number.
88089
88090         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
88091         See if we need an fchown replacement.
88092         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
88093         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
88094         and use the replacement function if we detect either defect.
88095
88096         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
88097         gl_UTIMECMP.
88098
88099 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
88100         and  Jim Meyering  <jim@meyering.net>
88101
88102         Merge from coreutils CVS.
88103
88104         * lib/stat-macros.h: New file, with contents from file-type.h
88105         and coreutils' system.h.
88106         * lib/file-type.c: Include "stat-macros.h".
88107         * lib/file-type.h (file_type): Move all macro definitions to new file,
88108         stat-macros.h.
88109
88110         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
88111         Wrap old code with this conditional.
88112         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
88113         function that does not dereference symlinks.
88114         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
88115
88116         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
88117         dependency problems.
88118         (xreadlink): Accept new arg SIZE, for efficiency.
88119         All decls and uses changed.
88120         * lib/xreadlink.h: Include <stddef.h>, for size_t.
88121
88122         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
88123         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
88124
88125         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
88126         sysexits.h.
88127
88128 2004-06-01  Jim Meyering  <jim@meyering.net>
88129
88130         * m4/calloc.m4: New file.
88131
88132 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
88133
88134         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
88135         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
88136         Also, fix a typo in a diagnostic.
88137
88138 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
88139
88140         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
88141         or AC_FUNC_REALLOC.
88142
88143 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
88144
88145         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
88146         macros to be defined.
88147         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
88148         the allocator returns NULL because the requested size is zero.
88149
88150 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
88151
88152         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
88153         var.  Add comment explaining why libc still defines it.  This
88154         merges the following patch from glibc:
88155         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
88156
88157 2004-05-20  Andreas Schwab  <schwab@suse.de>
88158
88159         * m4/free.m4: Replace free if it not known to work, not the other
88160         way round.
88161
88162 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
88163
88164         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
88165         present in glibc since revision 1.1 of this file.
88166         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
88167         obstack_alignment_mask, obstack_alloc, obstack_base,
88168         obstack_blank, obstack_blank_fast, obstack_chunk_size,
88169         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
88170         obstack_grow0, obstack_init, obstack_int_grow,
88171         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
88172         obstack_next_free, obstack_object_size, obstack_ptr_grow,
88173         obstack_ptr_grow_fast, obstack_room): Remove declarations of
88174         nonexistent functions.
88175
88176 2004-05-18  Karl Berry  <karl@gnu.org>
88177
88178         * config/srclist.txt: break link for vasnprintf.c.
88179
88180 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88181
88182         Port obstack to the AS/400, where pointers are 16 bytes wide and
88183         you cannot cast an integer to a valid pointer.  This patch is
88184         currently waiting to be integrated into glibc; see
88185         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
88186
88187         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
88188         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
88189         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
88190         (struct obstack): temp member is now a union of a pointer and
88191         an integer, instead of an integer.  All integer uses changed.
88192         This does not affect the physical layout of struct obstack,
88193         except on hosts (like the AS/400) where the size or alignment of
88194         void * is greater than that of ptrdiff_t.
88195         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
88196         __STDC__)]: Store temporary in pointer member of union, not
88197         integer member.
88198         * lib/obstack.c: Include <stddef.h>, for offsetof.
88199         (struct fooalign): Remove; it doesn't need a name.
88200         (union fooround): Change double to long double, and add void *.
88201         (DEFAULT_ALIGNMENT): Use offsetof to compute.
88202         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
88203         not a macro.  Hence the values are always int; so remove all
88204         casts-to-int in uses.
88205
88206 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88207
88208         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
88209         we can get this patch merged into glibc.
88210
88211 2004-05-17  Derek R. Price  <derek@ximbiot.com>
88212             Paul Eggert  <eggert@cs.ucla.edu>
88213
88214         * m4/argp: Depend on alloca.
88215
88216 2004-05-17  Derek R. Price  <derek@ximbiot.com>
88217             Paul Eggert  <eggert@cs.ucla.edu>
88218
88219         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
88220         freecoding.
88221
88222 2004-05-17  Bruno Haible  <bruno@clisp.org>
88223
88224         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
88225         precision that consists of a '.' followed by an empty digit string.
88226         Patch by Tor Lillqvist <tml@iki.fi>.
88227
88228 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88229
88230         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
88231         for backward compatibility with older code.  We need our own
88232         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
88233         it under some other name, and our alloca.h will define it.
88234
88235 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88236             Derek Price  <derek@ximbiot.com>
88237
88238         * lib/alloca.c: Include <alloca.h>, to get our interface.
88239         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
88240         include <alloca.h> first.  Use C89 prototype for alloca; this
88241         requires including <stddef.h> for size_t.  Use extern "C" if C++.
88242         Use #elif for simplicity, since we can assume C89 now.
88243         Don't try to source the system alloca.h since it will not be found
88244         and to prevent recursively including its replacement.
88245         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
88246         * lib/regex.c: Likewise.
88247
88248 2004-05-16  Derek Price  <derek@ximbiot.com>
88249             Paul Eggert  <eggert@cs.ucla.edu>
88250
88251         getline cleanup.  This changes the getndelim2 API: both order of
88252         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
88253         no delimiter).
88254
88255         * lib/getline.c: Don't include stddef.h or stdio.h, since our
88256         interface does that.
88257         (getline): Always use getdelim, so that we don't have two
88258         copies of this code.
88259         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
88260         if available.
88261         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
88262         (GETNDELIM2_MAXIMUM): New macro.
88263         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
88264         instead of the old practice of delim2==0.  All callers changed.
88265         Return -1 on overflow, instead of returning junk.
88266         Do not set *linesize unless allocation succeeds.
88267         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
88268         that we include sys/types.h.
88269         * lib/getnline.h: Likewise.
88270         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
88271         (getndelim2): Reorder arguments.
88272         * lib/getnline.c (getnline, getndelim):
88273         Don't discard the NMAX argument.
88274         (getnline): Invoke getndelim, to avoid code duplication.
88275         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
88276         of (size_t) -1 by callers of the getnline family.
88277
88278 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88279
88280         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
88281         Check for gettimeofday.
88282         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
88283         Check for settimeofday, stime.
88284
88285 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88286
88287         * lib/nanosleep.c (suspended): Change its type from int to
88288         sig_atomic_t volatile.
88289         (first_call): Make it private to rpl_nanosleep, and have it
88290         be zero initially as that's a bit faster.
88291         (my_usleep): Round up fractional times instead of truncating them,
88292         as this is the usual meaning for 'sleep'.
88293
88294         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
88295         doesn't work.
88296         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
88297         (ENOSYS): Define if not defined.
88298         (settime): Fall back on stime if it exists and settimeofday fails.
88299         But don't bother with fallbacks if a method fails with errno == EPERM.
88300
88301 2004-05-11  Jim Meyering  <jim@meyering.net>
88302
88303         Prior to this change, the save_cwd caller required read access to the
88304         current directory on most systems (ones with the fchdir function).
88305
88306         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
88307         fails, try write-only, and finally, resort to using xgetcwd.
88308
88309 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
88310
88311         * lib/obstack.c, obstack.h: Import changes from libc.
88312
88313 2004-04-28  Bruno Haible  <bruno@clisp.org>
88314
88315         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
88316         also implicitly appends .exe to executables.
88317         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
88318         accepts Windows pathnames.
88319         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
88320         Treat Cygwin like Windows, since it now accepts Windows pathnames.
88321         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
88322         Treat Cygwin like Windows, since it now accepts Windows pathnames.
88323         Reported by Derek Robert Price <derek@ximbiot.com>.
88324
88325 2004-04-21  Karl Berry  <karl@gnu.org>
88326
88327         * config/srclist.txt (localcharset.c): break sync.
88328
88329 2004-04-20  Paul Eggert  <eggert@twinsun.com>
88330
88331         * m4/host-os.m4: Add a copyright notice.
88332
88333 2004-04-20  Jim Meyering  <jim@meyering.net>
88334
88335         Change UTILS_ to gl_ in AC_DEFINE'd names.
88336         Change utils_- and jm_-prefixed variables, too.
88337         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
88338         UTILS_FUNC_MKDIR_TRAILING_SLASH.
88339         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
88340
88341         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
88342         Don't emit trailing blanks.
88343         Also rename jm_-prefixed variables to have gl_ prefix.
88344
88345         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
88346         Also rename jm_-prefixed variables to have gl_ prefix.
88347
88348         * m4/jm-macros.m4: Reflect the renamings.
88349         * m4/prereq.m4: Likewise.
88350
88351 2004-04-20  Jim Meyering  <jim@meyering.net>
88352
88353         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
88354         memory.
88355
88356 2004-04-20  Jim Meyering  <jim@meyering.net>
88357             Bruno Haible  <bruno@clisp.org>
88358
88359         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
88360         memory when realloc fails.
88361
88362 2004-04-19  Jim Meyering  <jim@meyering.net>
88363
88364         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
88365         now that readutmp.c may call `free (0)'.
88366
88367 2004-04-19  Bruno Haible  <bruno@clisp.org>
88368
88369         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
88370         * m4/inttypes_h.m4: Likewise.
88371         * m4/stdint_h.m4: Likewise.
88372         * m4/intmax_t.m4: Likewise.
88373         * m4/uintmax_t.m4: Likewise.
88374
88375 2004-04-18  Jim Meyering  <jim@meyering.net>
88376
88377         * m4/prereq.m4: Don't forbid jm_ prefix.
88378
88379         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
88380         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
88381         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
88382         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
88383         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
88384         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
88385         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
88386         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
88387         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
88388         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
88389         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
88390         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
88391         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
88392         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
88393         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
88394         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
88395         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
88396         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
88397         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
88398
88399 2004-04-18  Jim Meyering  <jim@meyering.net>
88400
88401         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
88402         failure, don't leak memory and do call END_UTMP_ENT.
88403
88404 2004-04-16  Jim Meyering  <jim@meyering.net>
88405
88406         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
88407         coreutils' stat program.
88408         (gl_PREREQ): Don't require jm_PREREQ_STAT.
88409
88410 2004-04-11  Paul Eggert  <eggert@twinsun.com>
88411
88412         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
88413         C89.
88414         (CHAR_BIT): Remove, since we assume C89.
88415         Include <stdint.h> if available, as per current Autoconf CVS advice.
88416
88417 2004-03-31  Jim Meyering  <jim@meyering.net>
88418
88419         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
88420         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
88421         * m4/xalloc.m4: Likewise.
88422
88423 2004-03-30  Paul Eggert  <eggert@twinsun.com>
88424
88425         Merge from coreutils.
88426
88427         * m4/inttostr.m4: New file.
88428         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
88429         Require AM_STDBOOL_H and gl_TIMESPEC instead.
88430         Require gl_CLOCK_TIME.
88431         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
88432
88433 2004-03-30  Paul Eggert  <eggert@twinsun.com>
88434
88435         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
88436         not bool, to be more consistent with Unix conventions.
88437         Suggested by Bruno Haible.
88438
88439         Merge from coreutils.
88440
88441         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
88442         * lib/umaxtostr.c: New files.
88443
88444         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
88445         the usual <time.h> dance.
88446         (get_date): Change signature to support fractional time stamps.
88447         All callers changed.
88448         * lib/getdate.y: Include "getdate.h" first, as we can now
88449         assume C89 and don't need to worry about 'const'.
88450         Similarly, include "unlocked-io.h" near start, not in middle.
88451         Include <limits.h>.
88452         (textint.value): Use long int rather than int.
88453         (textint.digits): Use size_t rather than int.
88454         (BILLION, LOG10_BILLION): New constants.
88455         (parser_control): New member rel_ns.  Members day_ordinal,
88456         time_zone, month, day, hour, minutes, rel_year, rel_month,
88457         rel_day, rel_hour, rel_minutes, rel_seconds
88458         are now long int, not int.  Member seconds is now struct timespec,
88459         not int.  New member timespec_seen.  Members dates_seen, days_seen,
88460         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
88461         not int.
88462         (%union.intval): Now long int, not int.
88463         New member timespec.
88464         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
88465         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
88466         (spec): Now is a timespec or an item list.
88467         (timespec, items): New nonterminals.
88468         (time, rel, relunit, number, get_date):
88469         Add support for fractional seconds.
88470         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
88471         (gmtime, localtime, mktime): Remove decls; not needed with C89.
88472         (to_hour): First arg is now long int, not int.
88473         (to_year): Returns long int, not int.
88474         Don't treat year -70 like 70.
88475         (tm_diff): Returns long int, not int.
88476         (lookup_word): Use bool instead of int when appropriate.
88477         (yylex): Use size_t for count, not int.
88478         Detect overflow when parsing large integer constants.
88479         Add support for fractions.
88480         (get_date): Make pointers 'const' if possible.
88481         Use more-portable code to detect integer overflow.
88482         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
88483         Don't use ctime; it's not reliable if the year has >4 digits.
88484
88485         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
88486         This is for compatibility with BSD.
88487
88488         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
88489         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
88490         From coreutils' system.h.
88491
88492         * lib/userspec.c: Don't include "posixver.h".
88493         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
88494         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
88495         compatible extension.  Simplify code by removing a boolean int
88496         that was always nonzero if a string was nonnull.
88497
88498 2004-03-30  Jim Meyering  <jim@meyering.net>
88499
88500         Merge from coreutils.
88501
88502         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
88503         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
88504         on some systems one must include <grp.h> before it.
88505         Reported by Christian Krackowizer.
88506
88507 2004-03-30  Jim Meyering  <jim@meyering.net>
88508
88509         Merge from coreutils.
88510
88511         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
88512
88513         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
88514         an empty input stream.
88515
88516         * lib/readtokens.c: Include <stdbool.h>.
88517         (readtoken): Use `size_t' rather than int/long.
88518         All callers adjusted.
88519         Use `bool' rather than `int' where appropriate.
88520         Use memset rather than an explicit loop.
88521         Use x2nrealloc rather than xrealloc.
88522         Allow the use of `\0' as a delimiter.
88523         (readtokens): Likewise.
88524         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
88525
88526 2004-03-30  Jim Meyering  <jim@meyering.net>
88527
88528         * m4/realloc.m4: Remove file, since now it does no more than
88529         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
88530         the `configure.ac' section of module/realloc.
88531         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
88532
88533 2004-03-30  Bruno Haible  <bruno@clisp.org>
88534
88535         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
88536         nonnull.
88537
88538 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88539
88540         Merge changes to getloadavg.c from coreutils and Emacs.
88541
88542         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
88543         Define to an expression, not to the empty string.
88544         Include cloexec.h and xalloc.h.
88545         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
88546         Use set_cloexec_flag rather than rolling our own.
88547         * lib/cloexec.c, lib/cloexec.h: New files.
88548
88549 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88550
88551         * m4/cloexec.m4: New file.
88552
88553 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88554
88555         * lib/getopt.h: Sync with libc CVS.
88556
88557 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88558             Bruno Haible  <bruno@clisp.org>
88559
88560         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
88561         mbswidth.
88562
88563 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88564             Bruno Haible  <bruno@clisp.org>
88565
88566         * lib/mbswidth.h: Include <wchar.h> only if
88567         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
88568         <wchar.h>.
88569         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
88570
88571 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88572
88573         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
88574         Sync with libc CVS.
88575         * lib/getopt_int.h: New file, also synced from libc.
88576
88577 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88578
88579         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
88580         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
88581         Bring back getopt.c, getopt.h, getopt1.c.
88582
88583 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88584
88585         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
88586         All uses changed.  Check for sa_sigaction member; this fixes
88587         a bug first reported by Jason Andrade in
88588         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88589
88590 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88591
88592         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
88593         '#if' expressions.  Unlike the code it replaces, it does not
88594         depend on (defined _SC_PAGESIZE).  However, it does depend on
88595         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
88596         first reported by Jason Andrade in
88597         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88598
88599 2004-02-25  Simon Josefsson  <jas@extundo.com>
88600
88601         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
88602
88603 2004-02-25  Simon Josefsson  <jas@extundo.com>
88604
88605         * lib/strdup.h: New file.
88606         * lib/strdup.c: Include it.
88607         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
88608         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
88609
88610 2004-02-23  Karl Berry  <karl@gnu.org>
88611
88612         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
88613         (from fencepost.gnu.org:/gd/gnuorg).
88614
88615 2004-02-23  Karl Berry  <karl@gnu.org>
88616
88617         * config/srclistvars.sh (GNUORG) [karl]: redefine.
88618         * config/srclist.txt: add maintain/standards documents.
88619
88620 2004-02-18  Bruno Haible  <bruno@clisp.org>
88621
88622         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
88623         Reported by Derek Robert Price <derek@ximbiot.com>.
88624
88625 2004-02-16  Karl Berry  <karl@gnu.org>
88626
88627         * config/mkinstalldirs, install-sh: update from automake.
88628
88629 2004-02-06  Karl Berry  <karl@gnu.org>
88630
88631         * m4/po.m4: update from gettext 0.14.1.
88632
88633 2004-02-06  Karl Berry  <karl@gnu.org>
88634
88635         * lib/config.charset: update from gettext 0.14.1.
88636
88637 2004-02-05  Paul Eggert  <eggert@twinsun.com>
88638
88639         Add comments and code, prompted by suggestions from Bruno Haible
88640         for sh-quote.
88641         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
88642         describing the enum quoting_style values.
88643         * lib/quotearg.c (quotearg_alloc): New function.
88644         (quotearg_buffer_restyled): Treat lone { and } as special.
88645         Treat = as special.  Work around bug with older shells
88646         that "see" a '\' that is really the 2nd byte of a multibyte char.
88647         Quote empty string with shell_quoting_style.
88648
88649 2004-02-03  Bruno Haible  <bruno@clisp.org>
88650
88651         * m4/pipe.m4: New file, from GNU gettext.
88652
88653 2004-02-03  Bruno Haible  <bruno@clisp.org>
88654
88655         * lib/pipe.h: New file, from GNU gettext.
88656         * lib/pipe.c: New file, from GNU gettext.
88657
88658 2004-01-27  Bruno Haible  <bruno@clisp.org>
88659
88660         * m4/execute.m4: New file, from GNU gettext.
88661
88662 2004-01-27  Bruno Haible  <bruno@clisp.org>
88663
88664         * lib/execute.h: New file, from GNU gettext.
88665         * lib/execute.c: New file, from GNU gettext.
88666         * lib/w32spawn.h: New file, from GNU gettext.
88667
88668 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88669
88670         Merge from diffutils.
88671
88672         * lib/file-type.c (file_type): Add typed memory objects.
88673         * lib/file-type.h (S_TYPEISTMO): New macro.
88674
88675         * lib/c-stack.h (c_stack_action): Remove argv argument.
88676         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
88677         (die): Don't calculate message unless segv_action returns.
88678         (get_stack_location, min_address_from_argv, max_address_from_argv,
88679         volatile stack_base, volatile_stack_size): Remove.
88680         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
88681         that every segmentation violation is a stack overflow.  (Ouch!)
88682         See Debian bug 136249 (still outstanding) for more info about why
88683         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
88684
88685 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88686
88687         Exit-status fix from coreutils.
88688
88689         Use exit_failure consistently in place of EXIT_FAILURE,
88690         so that program exit statuses are consistent on failure.
88691
88692         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
88693         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
88694         * lib/argmatch.h: Comment fix to match the above.
88695         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
88696         Now a macro referring to exit_failure, instead of a separate
88697         variable.  Include "exitfail.h" to get it.
88698         * lib/xstrtol.h: Include "exitfail.h".
88699         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
88700
88701         * lib/long-options.c (parse_long_options): Use prototype
88702         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
88703         for clarity.
88704
88705 2004-01-21  Jim Meyering  <jim@meyering.net>
88706
88707         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
88708         so as not to conflict with a different-sized __mktime_internal
88709         function in GNU libc.
88710         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
88711         Problem building statically-linked `ls' reported by Michael Brunnbauer.
88712
88713 2004-01-20  Karl Berry  <karl@gnu.org>
88714
88715         * config/config.guess: update from config.
88716
88717         * config/srclistvars.sh: GNUWWWLICENSES for karl.
88718
88719 2004-01-20  Bruno Haible  <bruno@clisp.org>
88720
88721         Safer stack allocation.
88722         * lib/setenv.c: Include allocsa.h.
88723         (alloca): Remove fallback definition.
88724         (freea): Remove macro.
88725         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
88726         instead of freea.
88727
88728 2004-01-20  Bruno Haible  <bruno@clisp.org>
88729
88730         * m4/eealloc.m4: New file, from GNU gettext.
88731
88732 2004-01-20  Bruno Haible  <bruno@clisp.org>
88733
88734         * m4/allocsa.m4: New file, from GNU gettext.
88735
88736 2004-01-20  Bruno Haible  <bruno@clisp.org>
88737
88738         * lib/xallocsa.h: New file, from GNU gettext.
88739         * lib/xallocsa.c: New file, from GNU gettext.
88740
88741 2004-01-20  Bruno Haible  <bruno@clisp.org>
88742
88743         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
88744
88745 2004-01-20  Bruno Haible  <bruno@clisp.org>
88746
88747         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
88748         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
88749         specially.
88750
88751 2004-01-20  Bruno Haible  <bruno@clisp.org>
88752
88753         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
88754         patch.
88755
88756 2004-01-20  Bruno Haible  <bruno@clisp.org>
88757
88758         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
88759
88760 2004-01-20  Bruno Haible  <bruno@clisp.org>
88761
88762         * lib/eealloc.h: New file.
88763
88764 2004-01-20  Bruno Haible  <bruno@clisp.org>
88765
88766         * lib/binary-io.h: Avoid warnings on Cygwin.
88767
88768 2004-01-20  Bruno Haible  <bruno@clisp.org>
88769
88770         * lib/allocsa.h: New file, from GNU gettext.
88771         * lib/allocsa.c: New file, from GNU gettext.
88772
88773 2004-01-18  Karl Berry  <karl@gnu.org>
88774
88775         * doc/gpl.texi, doc/lgpl.texi: new files.
88776
88777 2004-01-18  Karl Berry  <karl@gnu.org>
88778
88779         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
88780         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
88781
88782 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88783
88784         Merge from coreutils.
88785
88786         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
88787         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
88788         (gl_DEFAULT_POSIX2_VERSION): Move
88789         the documentation from 'configure' into 'config.hin',
88790         so that 'configure --help' isn't burdened by it and
88791         we don't have to worry about its formatting there.
88792         Reword the documentation so that it's more succinct
88793         and can be run together into a single paragraph.
88794         * m4/same.m4 (gl_SAME): Check for pathconf.
88795
88796 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88797
88798         Merge from coreutils.
88799
88800         * lib/posixver.c: Include posixver.h.
88801
88802         * lib/same.c: Include <stdbool.h>, <limits.h>.
88803         (_POSIX_NAME_MAX): Define if not defined.
88804         (MIN): New macro.
88805         (same_name): If file names are silently truncated, report
88806         that the file names are the same if they are the same after
88807         the silent truncation.
88808
88809         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
88810         conversion function.
88811         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
88812         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
88813         longer needed.
88814
88815 2004-01-15  Jim Meyering  <jim@meyering.net>
88816
88817         Merge from coreutils.
88818
88819         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
88820         if no library is required.
88821         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
88822         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
88823         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
88824         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
88825         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
88826         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
88827         value, $ac_cv_search_crypt, if it's "none required".
88828         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
88829         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
88830         not gl_FUNC_GETLOADAVG.
88831         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
88832         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
88833
88834 2004-01-15  Jim Meyering  <jim@meyering.net>
88835
88836         Merge from coreutils.
88837
88838         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
88839         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
88840         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
88841
88842         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
88843         optional configure-time default.
88844
88845         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88846
88847         * lib/xreadlink.c (xreadlink): Correct outdated comment.
88848
88849 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
88850
88851         Merge from coreutils.
88852
88853         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
88854         value, $ac_cv_search_nanosleep, if it's "none required".
88855
88856 2004-01-14  Paul Eggert  <eggert@twinsun.com>
88857
88858         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
88859         with like-named macro in fnmatch.c.
88860         (EXT): Use an internal constant instead.
88861
88862         Merge fnmatch patches from glibc.
88863         * lib/fnmatch.c (mbsinit): Remove define.
88864         Add libc_hidden_ver (__fnmatch, fnmatch).
88865         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
88866         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
88867
88868 2004-01-14  Karl Berry  <karl@gnu.org>
88869
88870         * config/install-sh: update from automake.
88871
88872 2004-01-13  Karl Berry  <karl@gnu.org>
88873
88874         * config/install-sh: update from automake.
88875
88876 2004-01-09  Karl Berry  <karl@gnu.org>
88877
88878         * config/install-sh: update from automake.
88879
88880 2004-01-05  Karl Berry  <karl@gnu.org>
88881
88882         * config/config.{sub,guess}: update from config.
88883
88884 2003-12-31  Karl Berry  <karl@gnu.org>
88885
88886         * config/depcomp: update from automake.
88887
88888 2003-12-14  Karl Berry  <karl@gnu.org>
88889
88890         * lib/config.charset: update from gettext-runtime.
88891
88892 2003-12-03  Paul Eggert  <eggert@twinsun.com>
88893
88894         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
88895         Bug reported by Alfred M. Szmidt.
88896
88897 2003-12-03  Bruno Haible  <bruno@clisp.org>
88898
88899         * m4/gettext.m4: Upgrade from gettext-0.13.
88900         * m4/po.m4: Upgrade from gettext-0.13.
88901         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
88902         * m4/intmax.m4: New file, from gettext-0.13.
88903         * m4/printf-posix.m4: New file, from gettext-0.13.
88904
88905 2003-11-29  Karl Berry  <karl@gnu.org>
88906
88907         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
88908
88909 2003-11-25  Paul Eggert  <eggert@twinsun.com>
88910             Bruno Haible  <bruno@clisp.org>
88911
88912         * lib/printf-parse.h: Don't include sys/types.h.
88913         (ARG_NONE): New macro.
88914         (char_directive): Change type of *arg_index fields to size_t.
88915         * lib/printf-parse.c: Don't include sys/types.h.
88916         (SSIZE_MAX): Remove macro.
88917         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
88918         Remove unnecessary overflow check.
88919         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
88920         fields.
88921
88922 2003-11-25  Bruno Haible  <bruno@clisp.org>
88923
88924         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
88925
88926 2003-11-25  Bruno Haible  <bruno@clisp.org>
88927
88928         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
88929         gt_TYPE_SSIZE_T.
88930
88931 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88932
88933         * modules/alloca: Remove dependency on xalloc.
88934
88935 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88936
88937         * lib/alloca.c: Remove dependency on xalloc module.
88938         (xalloc_die): Remove.
88939         (memory_full) [!defined emacs]: New macro.
88940         [!defined emacs]: Don't include xalloc.h.
88941         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
88942         address arithmetic overflows.  Change datatypes a bit to avoid
88943         unnecessary casts.
88944
88945 2003-11-22  Jim Meyering  <jim@meyering.net>
88946
88947         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88948         s/size/size_t/.
88949
88950 2003-11-21  Karl Berry  <karl@gnu.org>
88951
88952         * config/config.{sub,guess}: update from config.
88953
88954 2003-11-18  Karl Berry  <karl@gnu.org>
88955
88956         * config/config.{sub,guess}: update from config.
88957
88958         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88959
88960 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88961
88962         * README: Mention that S+T cannot overflow if S is the size of
88963         an existing object and T is sufficiently small.
88964
88965 2003-11-17  Jim Meyering  <jim@meyering.net>
88966
88967         On systems without utime and without a utimes function capable of
88968         dealing with a NULL struct utimbuf* argument, this utime replacement
88969         could -- in unusual circumstances -- leak a file descriptor.
88970         * lib/utime.c: Include <unistd.h> and <errno.h>.
88971         (utime_null): Be sure to close `fd' and to preserve errno.
88972         Reported by Geoff Collyer via Arnold Robbins.
88973
88974 2003-11-17  Bruno Haible  <bruno@clisp.org>
88975
88976         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88977         (Depends-on): Add xsize.
88978
88979 2003-11-17  Bruno Haible  <bruno@clisp.org>
88980
88981         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88982
88983 2003-11-17  Bruno Haible  <bruno@clisp.org>
88984
88985         * lib/vasnprintf.c (alloca): Remove fallback definition.
88986         (freea): Remove definition.
88987         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88988         Reported by Paul Eggert.
88989
88990 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88991             Bruno Haible  <bruno@clisp.org>
88992
88993         Protect against address arithmetic overflow.
88994         * lib/printf-args.h: Include stddef.h.
88995         (arguments): Change type of field 'count' to size_t.
88996         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88997         'unsigned int' where appropriate.
88998         * lib/printf-parse.h: Include sys/types.h.
88999         (char_directive): Change type of *arg_index fields to ssize_t.
89000         (char_directives): Change type of fields 'count', max_*_length to
89001         size_t.
89002         * lib/printf-parse.c: Include sys/types.h and xsize.h.
89003         (SSIZE_MAX): Define fallback value.
89004         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
89005         instead of 'int' where appropriate. Check a_allocated, d_allocated
89006         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
89007         * lib/vasnprintf.c: Include xsize.h.
89008         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
89009         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
89010         overflow. Avoid wraparound when converting a width or precision from
89011         decimal to binary.
89012
89013 2003-11-16  Bruno Haible  <bruno@clisp.org>
89014
89015         Update from GNU gettext.
89016         * lib/printf-parse.c: Generalize to it can be compiled for wide
89017         strings.
89018         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
89019         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
89020         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
89021         SNPRINTF): New macros.
89022         Don't include <alloca.h> if the file is used inside libintl.
89023         (local_wcslen): New function, for Solaris 2.5.1.
89024         (VASNPRINTF): Use it instead of wcslen.
89025
89026 2003-11-16  Bruno Haible  <bruno@clisp.org>
89027
89028         * lib/xsize.h (xmax): New function.
89029         (xsum, xsum3, xsum4): Declare as "pure" functions.
89030
89031 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89032
89033         * modules/xalloc (Files): Undo latest change, since xalloc.h
89034         no longer needs SIZE_MAX or PTRDIFF_MAX.
89035
89036 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89037
89038         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
89039         gl_PTRDIFF_MAX.
89040
89041 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89042
89043         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
89044         "return", to pacify some unknown compiler.  Problem reported
89045         by Joerg Schilling.
89046
89047 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89048
89049         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
89050         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
89051         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
89052         heuristic is just as accurate as far as we know, and it removes a
89053         dependency on size_max.m4 and ptrdiff_max.m4.
89054
89055 2003-11-11  Bruno Haible  <bruno@clisp.org>
89056
89057         * modules/xsize (Files): Add m4/size_max.m4.
89058         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
89059
89060 2003-11-11  Bruno Haible  <bruno@clisp.org>
89061
89062         * m4/size_max.m4: New file.
89063         * m4/ptrdiff_max.m4: New file.
89064         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
89065         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
89066         (gl_XALLOC): Invoke it.
89067
89068 2003-11-11  Bruno Haible  <bruno@clisp.org>
89069
89070         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
89071         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
89072         defined.
89073
89074 2003-11-10  Paul Eggert  <eggert@twinsun.com>
89075
89076         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
89077         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
89078         rejected some allocations of exactly SIZE_MAX - 2 bytes.
89079         From Bruno Haible.
89080         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
89081         not (size_t) -1, since it's defined here.
89082
89083 2003-11-09  Karl Berry  <karl@gnu.org>
89084
89085         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
89086
89087 2003-11-06  Paul Eggert  <eggert@twinsun.com>
89088
89089         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
89090         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
89091         Reject sizes of exactly SIZE_MAX bytes.
89092         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
89093         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
89094
89095 2003-11-05  Bruno Haible  <bruno@clisp.org>
89096
89097         * lib/xsize.h: Include limits.h, to avoid a possible collision with
89098         SIZE_MAX defined in <limits.h> on Solaris.
89099
89100 2003-11-04  Jim Meyering  <jim@meyering.net>
89101
89102         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
89103         variable names, rather than @VAR@.
89104         * modules/poll: Likewise.
89105
89106 2003-11-04  Bruno Haible  <bruno@clisp.org>
89107
89108         * modules/xsize: New file.
89109         * modules/linebreak: Depend on xsize.
89110         * MODULES.html.sh (func_all_modules): Add xsize.
89111
89112 2003-11-04  Bruno Haible  <bruno@clisp.org>
89113
89114         * m4/xsize.m4: New file.
89115
89116 2003-11-04  Bruno Haible  <bruno@clisp.org>
89117
89118         * lib/xsize.h: New file.
89119         * lib/linebreak.c: Include xsize.h.
89120         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
89121         argument for overflow.
89122         Suggested by Paul Eggert.
89123
89124 2003-11-03  Karl Berry  <karl@gnu.org>
89125
89126         * config/config.{guess,sub}: update from config.
89127
89128 2003-11-03  Jim Meyering  <jim@meyering.net>
89129
89130         * modules/userspec (lib_SOURCES): Add userspec.h.
89131         (Include): Add "userspec.h".
89132         Improve description.
89133
89134 2003-11-03  Jim Meyering  <jim@meyering.net>
89135
89136         * lib/userspec.c: Include "userspec.h".
89137         * lib/userspec.h: New file.
89138
89139 2003-11-03  Bruno Haible  <bruno@clisp.org>
89140
89141         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
89142
89143 2003-11-03  Bruno Haible  <bruno@clisp.org>
89144
89145         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
89146         available, to avoid (extremely rare) race condition.
89147         Suggested by Paul Eggert.
89148
89149 2003-11-02  Karl Berry  <karl@gnu.org>
89150
89151         * config/srclist.txt (vasprintf.c): sync broken, sigh.
89152
89153 2003-10-31  Paul Eggert  <eggert@twinsun.com>
89154
89155         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
89156         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
89157         (read_filesystem_list): Set and use me_type_malloced.
89158         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
89159         whatever the type happens to be), for brevity and consistency.
89160         Check for size calculation overflow on Alphas running OSF/1.
89161
89162 2003-10-31  Jim Meyering  <jim@meyering.net>
89163
89164         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
89165
89166         * lib/linebuffer.c: Include <string.h> for declaration of memset.
89167
89168 2003-10-30  Paul Eggert  <eggert@twinsun.com>
89169             Bruno Haible  <bruno@clisp.org>
89170
89171         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
89172         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
89173
89174 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
89175
89176         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
89177         netbsd*-gnu*.  Suggested by Robert Millan.
89178
89179 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89180
89181         * modules/group-member: Depend on stdbool.
89182
89183 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89184
89185         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
89186
89187 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89188
89189         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
89190         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
89191         after the 'gnu' in these cases.  This fixes some bugs in the
89192         previous change, and is based on suggestions by Robert Millan.
89193
89194 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89195
89196         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
89197         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
89198         no longer needed.
89199         * lib/quotearg.c (quotearg_n_options): Use it.
89200         * lib/group-member.c: Include <stdbool.h>.
89201         (free_group_info): Arg is now const *; don't free arg.
89202         (get_group_info): Now returns bool and accepts struct group_info *,
89203         rather than returning a malloc'ed struct group_info *.
89204         All uses changed.  Check for overflow in internal size calculation.
89205
89206         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
89207         rather than xmalloc/xrealloc.
89208         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
89209         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
89210         conformance bug: the old code used a pointer after freeing the
89211         storage that it addressed.
89212         * lib/hash.c (hash_initialize): Simplify the code by using
89213         xalloc_oversized rather than doing it by hand.
89214         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
89215         the buffer preserved.  Use free and xmalloc instead.
89216         * lib/quotearg.c (quotearg_n_options): Likewise.
89217         Use a simpler test for size overflow.  Don't use xalloc_oversized
89218         because unsigned int might be wider than size_t (!); this suggests
89219         that we should switch from unsigned int to size_t for slot numbers.
89220
89221 2003-10-28  Paul Eggert  <eggert@twinsun.com>
89222
89223         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
89224         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
89225         NetBSD kernels.  Requested by Richard Stallman.
89226
89227 2003-10-27  Paul Eggert  <eggert@twinsun.com>
89228
89229         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
89230         to allocate the returned structure.  Do not allocate a subarray,
89231         as x2nrealloc will do that.
89232         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
89233         instead of xnrealloc.
89234         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
89235
89236 2003-10-27  Bruno Haible  <bruno@clisp.org>
89237
89238         * lib/stdbool_.h: Better support for BeOS.
89239
89240 2003-10-26  Paul Eggert  <eggert@twinsun.com>
89241
89242         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
89243         now uses inline.
89244
89245 2003-10-26  Paul Eggert  <eggert@twinsun.com>
89246
89247         * lib/xalloc.h (xalloc_oversized): New static inline function, for
89248         callers that want to do their own size-overflow checking.  Include
89249         <stdbool.h>, since xalloc_oversized returns bool.
89250         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
89251         to use xalloc_oversized.
89252
89253         Add two functions x2realloc, x2nrealloc, for programs that grow
89254         arrays dynamically by doubling their sizes.
89255         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
89256         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
89257         New functions.
89258
89259         Port to C99 semantics for 'inline' of external functions.
89260         Bug reported by Bruno Haible.
89261         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
89262         with the old contents of xnmalloc.
89263         (xnmalloc, xmalloc): Use it.
89264         (xnrealloc_inline): New static inline function,
89265         with the old contents of xnrealloc.
89266         (xnrealloc, xrealloc): Use it.
89267
89268         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
89269         that.
89270
89271 2003-10-26  Karl Berry  <karl@gnu.org>
89272
89273         * config/srclist.txt (COPYING.DOC): no longer available from
89274         /gd/gnuorg; don't know where the ultimate source is.
89275
89276 2003-10-25  Paul Eggert  <eggert@twinsun.com>
89277
89278         Fix several address-calculation bugs in the hash modules,
89279         plus some minor code cleanup.
89280
89281         * lib/hash.h: Include <stdbool.h>, for bool.
89282         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
89283         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
89284         hash_get_n_entries, hash_get_max_bucket_length,
89285         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
89286         hash_rehash): Use size_t rather than unsigned.
89287         * lib/hash.c (struct hash_table, hash_get_n_buckets,
89288         hash_get_n_buckets_used, hash_get_n_entries,
89289         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
89290         hash_get_entries, hash_do_for_each, hash_string, is_prime,
89291         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
89292         Likewise.
89293         (SIZE_MAX): Define if not defined.
89294         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
89295         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
89296         hash_print):
89297         Use const * when possible.
89298         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
89299         (check_tuning): Fix bug: if tuning parameters were very close to
89300         0 or 1, rounding errors could have caused subscript violations.
89301         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
89302         (hash_initialize): Add 'fail:' label
89303         to free table and return NULL, and use it to simplify code.
89304         Use calloc rather than clearing the storage ourself.
89305         (hash_initialize, hash_rehash): Check for arithmetic overflow in
89306         buffer size calculations.
89307         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
89308         Include <stddef.h>, for size_t.
89309         * lib/hash-pjw.c (hash_pjw): Likewise.
89310         Switch to method described by Bruno Haible.
89311         Include <limits.h>, for CHAR_BIT.
89312         (SIZE_BITS): New macro.
89313
89314 2003-10-23  Paul Eggert  <eggert@twinsun.com>
89315
89316         * m4/getline.m4 (AM_FUNC_GETLINE):
89317         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
89318         hosts.  Problem reported by Derek Robert Price in
89319         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
89320         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
89321         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
89322
89323 2003-10-21  Paul Eggert  <eggert@twinsun.com>
89324
89325         * lib/getndelim2.c (getndelim2): When size calculation overflows,
89326         ceiling the allocation at NMAX bytes rather than silently
89327         discarding input bytes before NMAX is reached.  This makes
89328         a difference only if NMAX exceeds SIZE_MAX / 2.
89329
89330         * lib/obstack.c: Merge from glibc.
89331         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
89332         Add libc_hidden_def (_obstack_newchunk).
89333         (_obstack_free) [! defined _LIBC]: Remove.
89334         [defined _LIBC]: Make a strong alias from obstack_free, rather than
89335         a clone of the function body.
89336         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
89337         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
89338
89339         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
89340         glibc.
89341         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
89342         arg to memcpy.
89343
89344         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
89345         (obstack_ptr_grow_fast, obstack_int_grow_fast):
89346         Don't use lvalue casts, as GCC plans to remove support for them
89347         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
89348         was also present in the non-GCC version, indicating that this
89349         code had always been buggy and had never been widely used.
89350         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
89351         Use the fast variant of each macro, rather than copying the
89352         definiens of the fast variant; that way, we'll be more likely to
89353         catch future bugs in the fast variants.
89354
89355 2003-10-20  Bruno Haible  <bruno@clisp.org>
89356
89357         * modules/wait-process: New file.
89358         * MODULES.html.sh (func_all_modules): Add wait-process.
89359
89360 2003-10-20  Bruno Haible  <bruno@clisp.org>
89361
89362         * m4/wait-process.m4: New file.
89363
89364 2003-10-20  Bruno Haible  <bruno@clisp.org>
89365
89366         * lib/wait-process.h: New file, from GNU gettext.
89367         * lib/wait-process.c: New file, from GNU gettext.
89368
89369 2003-10-19  Jim Meyering  <jim@meyering.net>
89370
89371         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
89372         HPUX 10.20.
89373
89374 2003-10-18  Karl Berry  <karl@gnu.org>
89375
89376         * config/config.guess: update from config.
89377
89378 2003-10-16  Paul Eggert  <eggert@twinsun.com>
89379
89380         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
89381         (getgroups): First arg is int, not size_t.
89382         Don't let 'free' mangle errno.
89383
89384 2003-10-16  Paul Eggert  <eggert@twinsun.com>
89385
89386         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
89387
89388 2003-10-16  Karl Berry  <karl@gnu.org>
89389
89390         * config/config.{guess,sub}: update from config.
89391
89392 2003-10-16  Jim Meyering  <jim@meyering.net>
89393
89394         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
89395         memcpy.
89396
89397 2003-10-15  Paul Eggert  <eggert@twinsun.com>
89398
89399         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
89400         (SIZE_MAX): Remove.
89401         (new_exclude, add_exclude_file): Initial size no longer needs to
89402         be a power of 2.
89403         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
89404         our own address arithmetic overflow checking.
89405
89406         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
89407         (fnmatch): Do not alloca more than 2000 wide characters;
89408         instead, use malloc for large buffers.
89409         Check for address arithmetic overflow, and return -1
89410         with errno set to ENOMEM in that case.
89411         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
89412         (NEW_PATTERN): Do not alloca more than 8000 bytes;
89413         instead, return -1.  Check for address arithmetic overflow.
89414
89415 2003-10-14  Paul Eggert  <eggert@twinsun.com>
89416
89417         Handle invalid suffixes and overflow independently, so that
89418         callers can treat them independently as needed.  Fix some bugs in
89419         suffix handling, e.g., "100k@" was not diagnosed as an invalid
89420         suffix for a human-readable blocksize.  The major caller-visible
89421         change is the addition of a new
89422         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
89423         that both overflow and suffix chars were found.
89424
89425         * lib/human.c (humblock): Don't check separately for invalid suffix
89426         char; that is xstrtoumax's job (now that its bug is fixed).
89427         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
89428         INTMAX_MAX]: New macros.
89429         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
89430         TYPE_MAXIMUM): New macros.
89431         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
89432         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
89433         if overflow occurs, as it's what __strtol does and it's more useful
89434         in practice.
89435         (__xstrtol): If __strtol reports some error other than ERANGE,
89436         reflect it to the caller as LONGINT_INVALID.  If it reports
89437         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
89438         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
89439         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
89440         value.
89441         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
89442         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
89443         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
89444         [defined UINTMAX_MAX]: New macros.
89445
89446 2003-10-14  Bruno Haible  <bruno@clisp.org>
89447
89448         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
89449
89450 2003-10-14  Bruno Haible  <bruno@clisp.org>
89451
89452         * m4/sig_atomic_t: New file, from GNU gettext.
89453         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
89454
89455 2003-10-14  Bruno Haible  <bruno@clisp.org>
89456
89457         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
89458         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
89459         Also use volatile where needed.
89460
89461 2003-10-12  Paul Eggert  <eggert@twinsun.com>
89462
89463         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
89464         Change maintainer from Bruno Haible to 'all'.
89465
89466 2003-10-12  Paul Eggert  <eggert@twinsun.com>
89467
89468         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
89469
89470 2003-10-12  Paul Eggert  <eggert@twinsun.com>
89471
89472         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
89473         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
89474         and define in terms of the other primitives.
89475         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
89476         (SIZE_MAX): Define if not already defined.
89477         (array_size_overflow): New function.
89478         (xalloc_die): Abort instead of exiting if 'error' returns.
89479         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
89480         (xmalloc, xrealloc): Use them.
89481         (xcalloc): Check for address arithmetic overflow.
89482         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
89483         a bit faster than strcpy.
89484
89485 2003-10-10  Simon Josefsson  <jas@extundo.com>
89486
89487         * modules/argp (Depends-on): Add restrict and strcase.
89488
89489 2003-10-10  Simon Josefsson  <jas@extundo.com>
89490
89491         * m4/argp.m4: Add AC_C_INLINE.
89492
89493 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89494
89495         Merge getpass from libc, plus a few fixes.
89496
89497         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
89498         Include <stdbool.h>.
89499         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
89500         __fsetlocking to empty.
89501         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
89502         do include <bits/libc-lock.h>.
89503         Do not include <fcntl.h>; not needed.
89504         [_LIBC]: Include <wchar.h>.
89505         (NOTCANCEL_MODE): New macro.
89506         (flockfile, funlockfile) [_LIBC]: New macros.
89507         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
89508         [!_LIBC]: New macros.
89509         (call_fclose): New function.
89510         (getpass): Use it.  Save tty stream separately; this simplifies the
89511         code and makes it more reliable if stdin happens to equal stdout.
89512         Invoke __fsetlocking on tty.
89513         Handle thread cancellation if needed.
89514         Namespace cleanup (use __tcgetattr, __getline).
89515         Use bool for Booleans.
89516         [USE_IN_LIBIO]: Handle wide streams.
89517         [!_LIBC]: Unconditionally do the fseek, since we don't know what
89518         stream might go where.
89519
89520         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
89521         doesn't have to include <stdio.h> before us.
89522         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
89523         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
89524         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
89525         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
89526         if not declared, so that we can use getpass.c code from libc without
89527         rewriting it.
89528         (flockfile, ftrylockfile, funlockfile): New macros.
89529
89530 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89531
89532         * modules/getpass: Depend on stdbool.
89533
89534 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89535
89536         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
89537
89538 2003-10-07  Karl Berry  <karl@gnu.org>
89539
89540         * config/config.{guess,sub}: update from config.
89541
89542 2003-10-06  Jim Meyering  <jim@meyering.net>
89543             Bruno Haible  <bruno@clisp.org>
89544
89545         This lets translators provide better translations for the
89546         "Written by ..." part of --version output.
89547         * lib/version-etc.h: Include stdarg.h.
89548         (version_etc_copyright): Declare as readonly.
89549         (version_etc): Make this function variadic with a NULL-terminated list
89550         of author name strings.
89551         (version_etc_va): New declaration.
89552         * lib/version-etc.c: Include stdarg.h, stdlib.h.
89553         (version_etc_copyright): Declare as readonly.
89554         (version_etc_va): New function. Provide a different translatable string
89555         for each possible number of authors < 10. Abbreviate when there are 10
89556         authors or more.
89557         (version_etc): Make this function variadic. Call version_etc_va.
89558         Suggestion from Gary V. Vaughan.
89559
89560         * lib/long-options.h (parse_long_options): Change prototype: the
89561         authors string is moved to the end and becomes variadic.
89562         * lib/long-options.c: Include stdarg.h.
89563         (parse_long_options): Make this function variadic, too.
89564         Call version_etc_va, not version_etc.
89565
89566 2003-10-06  Bruno Haible  <bruno@clisp.org>
89567
89568         * modules/version-etc-2: Remove file.
89569         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
89570
89571 2003-10-06  Bruno Haible  <bruno@clisp.org>
89572
89573         * modules/fatal-signal: New file.
89574         * MODULES.html.sh (func_all_modules): Add fatal-signal.
89575
89576 2003-10-06  Bruno Haible  <bruno@clisp.org>
89577
89578         * m4/fatal-signal.m4: New file.
89579         * m4/signalblocking.m4: New file, from GNU gettext.
89580
89581 2003-10-06  Bruno Haible  <bruno@clisp.org>
89582
89583         * lib/version-etc-2.h: Remove file.
89584         * lib/version-etc-2.c: Remove file.
89585
89586 2003-10-06  Bruno Haible  <bruno@clisp.org>
89587
89588         * lib/fatal-signal.h: New file, from GNU gettext.
89589         * lib/fatal-signal.c: New file, from GNU gettext.
89590
89591 2003-10-05  Paul Eggert  <eggert@twinsun.com>
89592
89593         * README: Rework advice for preventing empty .o files.
89594         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
89595         not <sys/types.h>.
89596
89597 2003-10-04  Karl Berry  <karl@gnu.org>
89598
89599         * lib/argp*: update from libc.
89600
89601 2003-10-04  Karl Berry  <karl@gnu.org>
89602
89603         * config/config.{guess,sub}: update from config.
89604
89605 2003-10-02  Bruno Haible  <bruno@clisp.org>
89606
89607         * modules/lchown (Include): Add lchown.h.
89608         * modules/time_r (Include): Use "..." syntax.
89609         * modules/xgetdomainname (Include): Add xgetdomainname.h.
89610
89611 2003-10-01  Simon Josefsson  <jas@extundo.com>
89612
89613         * MODULES.html.sh (func_all_modules): Move gethostname from section
89614         'based on' to section 'lacking' POSIX:2001.
89615
89616 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
89617
89618         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
89619         to output mode on the same stream.
89620
89621 2003-09-29  Paul Eggert  <eggert@twinsun.com>
89622
89623         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
89624         Fix arg typo in previous patch.
89625
89626 2003-09-28  Jim Meyering  <jim@meyering.net>
89627
89628         * lib/error.c: Correct cpp indentation.
89629
89630 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89631
89632         * modules/free: New file.
89633
89634 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89635
89636         * m4/free.m4: New file.
89637
89638 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89639
89640         * lib/minmax.h (MIN, MAX)
89641         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
89642         Omit the special code that used __typeof__, since we worry that
89643         it could be more trouble than it's worth.  See:
89644         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
89645         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
89646
89647         * lib/free.c: New file.
89648
89649 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
89650
89651         Trivial fixes to Makefile.am parts of module listings.
89652         * modules/strstr: Append strstr.h to lib_SOURCES.
89653         * modules/strcase: Likewise, for strcase.h.
89654
89655 2003-09-27  Karl Berry  <karl@gnu.org>
89656
89657         * config/mkinstalldirs: update from automake.
89658
89659 2003-09-26  Paul Eggert  <eggert@twinsun.com>
89660
89661         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
89662         (error_tail): Do not loop, reallocating temporary buffer, since
89663         the output cannot contain more wide characters than the input
89664         contains bytes, the size must be big enough already.  This avoids
89665         one potential size overflow calculation.  Check for size overflow
89666         when calculating temporary buffer size.  Free temporary buffer
89667         when done, if it was allocated with malloc; this plugs a memory
89668         leak.  Remove casts from void * to pointers, that are no longer
89669         needed now that we're assuming C89 or better.
89670
89671         Merge error changes from glibc.
89672
89673         * lib/error.c, error.h: Update copyright notice header to match glibc.
89674         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
89675         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
89676         Disable cancellation while printing error.
89677         * lib/error.h: Prepend __ to parameter names.
89678
89679 2003-09-26  Jim Meyering  <jim@meyering.net>
89680
89681         * lib/error.c (error_tail): Move some declarations
89682         into inner scope where the local variables are used.
89683
89684 2003-09-26  Bruno Haible  <bruno@clisp.org>
89685
89686         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
89687         stpncpy().
89688         Don't define stpncpy through config.h; it's now done through stpncpy.h.
89689
89690 2003-09-26  Bruno Haible  <bruno@clisp.org>
89691
89692         * lib/stpncpy.h (gnu_stpncpy): New declaration.
89693         (stpncpy): Define as alias for gnu_stpncpy.
89694         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
89695
89696 2003-09-25  Simon Josefsson  <jas@extundo.com>
89697
89698         * lib/xgetdomainname.h: New file.
89699         * lib/xgetdomainname.c: New file.
89700
89701 2003-09-25  Simon Josefsson  <jas@extundo.com>
89702             Bruno Haible  <bruno@clisp.org>
89703
89704         * modules/getdomainname: New file.
89705         * modules/xgetdomainname: New file.
89706         * MODULES.html.sh (func_all_modules): Add getdomainname,
89707         xgetdomainname.
89708
89709 2003-09-25  Simon Josefsson  <jas@extundo.com>
89710             Bruno Haible  <bruno@clisp.org>
89711
89712         * m4/getdomainname.m4: New file.
89713
89714 2003-09-25  Simon Josefsson  <jas@extundo.com>
89715             Bruno Haible  <bruno@clisp.org>
89716
89717         * lib/getdomainname.h: New file.
89718         * lib/getdomainname.c: New file.
89719
89720 2003-09-25  Karl Berry  <karl@gnu.org>
89721
89722         * lib/argp-fmtstream.c, argp-help.c: update from libc.
89723
89724 2003-09-25  Karl Berry  <karl@gnu.org>
89725
89726         * config/install-sh: update from automake.
89727
89728 2003-09-25  Bruno Haible  <bruno@clisp.org>
89729
89730         * modules/version-etc-2: New file, from modules/version-etc with
89731         modifications.
89732         * MODULES.html.sh (func_all_modules): Add version-etc-2.
89733
89734 2003-09-25  Bruno Haible  <bruno@clisp.org>
89735
89736         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
89737         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
89738
89739 2003-09-24  Simon Josefsson  <jas@extundo.com>
89740
89741         * modules/xgethostname: Add xgethostname.h.
89742
89743 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89744
89745         * lib/linebuffer.c (freebuffer): Don't free the argument, just
89746         the buffer associated with the argument.  Bug reported by
89747         Simon Josefsson.
89748
89749 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89750
89751         * README: Document assumptions that 'int' is at least 32 bits
89752         wide, that integer arithmetic is 2's complement without overflow,
89753         that there are no holes in integer values, that adding sizes of
89754         two nonoverlapping objects can't overflow, and that all-bits-zero
89755         yields scalar zero.  Fix spelling and capitalization typos.
89756
89757 2003-09-19  Karl Berry  <karl@gnu.org>
89758
89759         * lib/argp.h: update from libc.
89760
89761 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89762
89763         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
89764         to avoid spurious warnings like "AC_RUN_IFELSE was called before
89765         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
89766
89767 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89768
89769         * gnulib-tool: Use "test -h", not "test -L", for portability
89770         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
89771         (tags_regexp): Remove, since \| doesn't conform to POSIX.
89772         (sed_extract_prog): Issue s commands one-by-one, rather than
89773         using \| in one s command.
89774
89775 2003-09-16  Paul Eggert  <eggert@twinsun.com>
89776
89777         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
89778         input error, instead of returning NULL the next time we are called
89779         (and therefore losing track of errno).
89780
89781 2003-09-16  Bruno Haible  <bruno@clisp.org>
89782
89783         * gnulib-tool (func_create_testdir): Warn about duplicated
89784         dependencies.
89785
89786 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89787
89788         * modules/argmatch, modules/fatal, modules/obstack,
89789         modules/xalloc, modules/xgethostname: Sort dependencies by
89790         importance, not alphabetically.
89791
89792 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89793
89794         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
89795         fails, so that the caller gets the proper errno.
89796
89797         * lib/readutmp.c (read_utmp): Likewise.
89798         Check for fstat error.  Close stream and free storage
89799         when failing.
89800
89801 2003-09-14  Karl Berry  <karl@gnu.org>
89802
89803         * config/srclist.txt (strdup.c): disable for c89 changes.
89804
89805 2003-09-14  Jim Meyering  <jim@meyering.net>
89806
89807         * lib/getloadavg.c: Correct cpp indentation.
89808         * lib/strdup.c: Likewise.
89809         * lib/vasnprintf.c: Likewise.
89810
89811 2003-09-14  Bruno Haible  <bruno@clisp.org>
89812
89813         * modules/fwriteerror: New file.
89814         * MODULES.html.sh (func_all_modules): Add fwriteerror.
89815
89816 2003-09-14  Bruno Haible  <bruno@clisp.org>
89817
89818         * lib/fwriteerror.h: New file.
89819         * lib/fwriteerror.c: New file.
89820
89821 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89822
89823         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
89824         modules/xgethostname, modules/xalloc: Depend on exit.
89825
89826 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89827
89828         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
89829
89830         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
89831         and AC_MINIX, too, so that their extensions are available.
89832
89833         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
89834         This macro has been superseded by gl_BACKUPFILE.
89835
89836         More patches to assume C89 or better.
89837
89838         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
89839
89840         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
89841         unconditionally.
89842         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
89843         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
89844         Include <string.h>, <stdlib.h> unconditionally.
89845         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
89846         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
89847         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
89848         headers or for string.h.
89849         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
89850         or strtoul.
89851
89852         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
89853         headers.
89854         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
89855         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89856         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
89857         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
89858         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89859         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
89860         memcpy, memset.
89861         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
89862         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
89863         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
89864         strtol.
89865         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
89866         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
89867         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
89868         strtoul.
89869
89870 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89871
89872         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
89873         * lib/obstack.c [!defined _LIBC]: Likewise.
89874         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
89875         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
89876         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
89877
89878         More changes to assume C89 or better.
89879
89880         * lib/error.c (error_tail): Assume vprintf.
89881
89882         * lib/argmatch.c (getenv): Remove decl.
89883         * lib/progreloc.c (get_full_program_name): Define via prototype.
89884         * lib/setenv.c (clearenv): Likewise.
89885         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
89886         needed.
89887         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
89888         (malloc, memcpy): Remove decls.
89889         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
89890         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
89891         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89892         (memcpy): Remove macro.
89893         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
89894         (__P): Remove.  All uses removed.
89895         (PTR): Remove.  All uses changed to void *.
89896         (CHAR_BIT, NULL): Remove.
89897         (spaces, zeros, memset_space, memset_zero)
89898         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
89899         Remove.
89900         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
89901         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
89902         Define with prototype.
89903         Remove now-unnecessary prototype decl.
89904         (extra_args_spec): Assume ANSI C.  All uses changed.
89905         (extra_args_spec_iso): Remove.
89906         (my_strftime, emacs_strftimeu): Define via prototype.
89907         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
89908         unconditionally.
89909         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
89910         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
89911         (strtoul, strtol): Remove decls.
89912         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
89913         LONG_MAX): Remove.
89914         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89915         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
89916         (LOCALE_PARAM_PROTO): New macro.
89917         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
89918         (INTERNAL (strtol), strtol): Define with a prototype.
89919         (PARAMS): Remove.  All uses removed.
89920         * lib/tempname.c: Include <string.h> unconditionally.
89921         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
89922         * lib/xgethostname.c (main): Define with a prototype.
89923         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
89924         Include <stdlib.h> unconditionally.
89925         (calloc, malloc, realloc, free): Remove decls.
89926         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
89927         Include <stdlib.h> unconditionally.  Sort include file names.
89928         (strtod): Remove.
89929         (xstrtod): Define with a prototype.
89930         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
89931         (strtol, strtoul): Remove decls.
89932
89933 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89934
89935         More patches to assume C89 or better.
89936         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
89937         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
89938         string.h, memchr, STDC_HEADERS.
89939
89940 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89941
89942         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89943         Include <stdlib.h>, <string.h> unconditionally.
89944         Remove now-unnecessary cast to char *.
89945         * lib/strnlen.c: Include <string.h> unconditionally.
89946         * lib/yesno.c (yesno): Define with a prototype.
89947
89948 2003-09-11  Bruno Haible  <bruno@clisp.org>
89949
89950         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89951
89952 2003-09-10  Jim Meyering  <jim@meyering.net>
89953
89954         * lib/error.c: Correct indentation of cpp directives.
89955
89956 2003-09-10  Bruno Haible  <bruno@clisp.org>
89957
89958         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89959         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89960         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89961         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89962         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89963         <stdlib.h> and <string.h> checks.
89964         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89965         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89966
89967 2003-09-10  Bruno Haible  <bruno@clisp.org>
89968
89969         * lib/strcspn.c: Include <string.h> unconditionally.
89970         * lib/strpbrk.c: Include <string.h> unconditionally.
89971         * lib/strstr.c: Include <string.h> unconditionally.
89972         * lib/unicodeio.c: Include <string.h> unconditionally.
89973         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89974         * lib/unsetenv.c: Likewise.
89975         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89976         * lib/yesno.c: Include <stdlib.h> unconditionally.
89977         (rpmatch): Add prototype.
89978
89979 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89980
89981         More patches to assume C89 or better.
89982         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89983         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89984         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89985         or for string.h.
89986         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89987         stdlib.h.
89988         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89989         C headers.
89990         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89991         string.h.
89992         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89993         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89994         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89995         or for string.h.
89996         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89997         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89998         C headers.
89999         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
90000         memcpy.
90001         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
90002         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
90003         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
90004         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
90005         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
90006         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
90007         string.h, free.
90008         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
90009         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
90010         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
90011         C headers, or for string.h.
90012         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
90013         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
90014         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
90015         headers, memory.h, stdlib.h, string.h, strings.h.
90016         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
90017         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
90018         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
90019         strchr.
90020         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
90021         headers, memory.h, string.h.
90022         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
90023         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
90024         free.
90025         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
90026         headers.
90027         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
90028         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
90029         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
90030         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
90031         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
90032
90033 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90034
90035         More K&R removal.
90036
90037         * lib/acosl.c (main): Use a prototype.
90038         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
90039         tanl.c: Likewise.
90040
90041         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
90042
90043         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
90044         (getopt, etopt_long, getopt_long_only, _getopt_internal)
90045         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
90046         with a prototype.
90047         * lib/getopt.c (const): Remove macro.
90048         Include <string.h> unconditionally.
90049         (my_index): Remove; all uses changed to strchr.
90050         (strlen): Remove decl.
90051         (exchange): Remove forward decl; no longer needed.
90052         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
90053         Define with prototype.
90054         * lib/getopt1.c (const): Remove macro.
90055         (getopt_long, getopt_long_only, main): Define with prototype.
90056
90057         * lib/getugroups.c: Include <string.h> unconditionally.
90058
90059         * lib/getusershell.c: Include <stdlib.h> unconditionally.
90060         (getusershell, setusershell, endusershell, readname, main):
90061         Define with prototypes.
90062
90063         * lib/group-member.c: Include group-member.h first.
90064         Include <stdlib.h> unconditionally.
90065
90066         * lib/hard-locale.c: Include hard-locale.h first.
90067         Include <stdlib.h>, <string.h> unconditionally.
90068
90069         * lib/hash.c (free, malloc): Remove decls.
90070         Include <stdlib.h> unconditionally.
90071
90072         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
90073         (getenv): Do not declare.
90074
90075         * lib/idcache.c: Include <string.h> unconditionally.
90076
90077         * lib/long-options.c: Include long-options.h first, to test interface.
90078         Include <stdlib.h> unconditionally.
90079
90080         * lib/makepath.c: Include makepath.h first, to test interface.
90081         Include <stdlib.h> and <string.h> unconditionally.
90082
90083         * lib/linebuffer.c: Include <stdlib.h>.
90084         (free): Remove decl.
90085
90086         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
90087         stddef.h. rpl_malloc returns void *, not char *.
90088         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
90089         prototype.
90090
90091         * lib/md5.h: Include <limits.h> unconditionally.
90092         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
90093         (__P): Remove; all uses removed.
90094         * lib/md5.c: Include "md5.h" first.
90095         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
90096         md5_buffer, md5_process_bytes, md5_process_block):
90097         Define with prototypes.
90098         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
90099         * lib/sha.c: Include "sha.h" first.
90100         Include <stdlib.h>, <string.h> unconditionally.
90101
90102         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
90103         * lib/memcmp.c (__ptr_t): Likewise.
90104         * lib/memrchr.c (__ptr_t): Likewise.
90105         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
90106         Include <string.h> unconditionally.
90107         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
90108         * lib/memchr.c: Include <stdlib.h> unconditionally.
90109         * lib/memchr.c (LONG_MAX): Remove.
90110         * lib/memrchr.c (LONG_MAX): Likewise.
90111         * lib/memchr.c (__memchr): Define via a prototype.
90112         * lib/memrchr.c (__memrchr): Likewise.
90113         * lib/memcmp.c (__P): Remove, and remove all uses.
90114         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
90115         Remove forward decls; no longer needed.
90116         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
90117         Use types required by C89 in prototype.
90118
90119         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
90120         * lib/savedir.c: Likewise.
90121         * lib/mkdir.c (free): Remove decl.
90122         * lib/rmdir.c (rmdir): Define with a prototype.
90123         * lib/savedir.c: Include savedir.h first, to test interface.
90124
90125         * lib/mktime.c (STDC_HEADERS): Remove.
90126         Include <stdlib.h>, <string.h> unconditionally.
90127
90128         * lib/modechange.c: Include <stdlib.h> unconditionally.
90129         (malloc): Remove decl.
90130
90131         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
90132         (free): Remove decl.
90133
90134         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
90135         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
90136         (This type really should be intptr_t, but that's a C99ism.)
90137         (_obstack_memcpy): Remove: all uses changed to memcpy.
90138         Include <string.h> unconditionally.
90139         (struct obstack): Assume __STDC__ for types of members
90140         chunkfun, freefun, extra_arg.
90141         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
90142         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
90143         obstack_begin, obstack_specify_allocation,
90144         obstack_specify_allocation_with_arg, obstack_chunkfun,
90145         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
90146         Remove unprototyped decls and the macros that use them.
90147         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
90148         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
90149         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
90150         (defined __STDC__ && __STDC__)]:
90151         Remove nonprototyped code.
90152         Include <stdlib.h> unconditionally.
90153         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
90154         _obstack_allocated_p, _obstack_free, obstack_free,
90155         _obstack_memory_used, print_and_abort):
90156         Define using prototypes.
90157         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
90158         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
90159         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
90160         obstack_next_free, obstack_object_size, obstack_room) [0]:
90161         Remove unused, unprototyped code.
90162
90163         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
90164
90165         * lib/physmem.c (physmem_total, physmem_available, main): Define
90166         with prototypes.
90167
90168         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
90169         (main): Define with a prototype.
90170
90171         * lib/posixver.c (getenv): Remove decl.
90172
90173         * lib/putenv.c (malloc): Returns void *, not char *.
90174         Include <string.h> unconditionally.
90175         (strchr, memcpy, NULL): Do not define.
90176
90177         * lib/readtokens.c: Include readtokens.h first, to test interface.
90178         Include <stdlib.h>, <string.h> unconditionally.
90179         (init_tokenbuffer): Define with a prototype.
90180
90181         * lib/regex.c (PARAMS): Remove.  All uses removed.
90182         All uses of _RE_ARGS removed, too.
90183         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
90184         unconditionally.
90185         (bzero): Assume memset exists.
90186         (memcmp, memcpy, NULL): Remove.
90187         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
90188         char, or assignments to local vars of type signed char.
90189         (init_syntax_once, PREFIX(extract_number_and_incr),
90190         PREFIX(print_partial_compiled_pattern),
90191         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
90192         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
90193         PREFIX(regex_grow_registers), PREFIX(regex_compile),
90194         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
90195         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
90196         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
90197         wcs_compile_range, byte_compile_range, truncate_wchar,
90198         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
90199         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
90200         count_mbs_length, wcs_re_match_2_internal,
90201         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
90202         PREFIX(alt_match_null_string_p),
90203         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
90204         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
90205         regfree, PREFIX(extract_number)): Define with prototype.  Remove
90206         now-unnecessary declaration, if any.
90207         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
90208         regcomp, regexec):
90209         Remove now-unnecessary casts among pointer types.
90210         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
90211
90212         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
90213         (free): Remove decl.
90214
90215         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
90216
90217         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
90218         (free): Remove decl.
90219
90220         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
90221         * lib/xgetcwd.c: Likewise.
90222
90223         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
90224         (free): Remove decl.
90225
90226         * lib/strchrnul.c (strchrnul): Define with a prototype.
90227         Fix bug: c_in was not converted to char before searching.
90228
90229         The following changes are not K&R related:
90230
90231         * lib/group-member.h: Include <sys/types.h>, so that this file is
90232         self-contained.
90233         * lib/makepath.h: Likewise.
90234
90235         * lib/getusershell.c (readname, default_index, line_size, readname):
90236         Use size_t, not int, for sizes.
90237         (readname): If the size overflows, report an error instead of
90238         looping forever.
90239
90240 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90241
90242         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
90243         libc.
90244
90245 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90246
90247         * README: New section: portability guidelines.
90248
90249 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
90250
90251         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
90252         C89 spec.
90253
90254 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
90255
90256         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
90257
90258 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90259
90260         Assume C89 or better; remove K&R cruft.
90261         A few of these changes were first proposed by Derek Robert Price
90262         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
90263
90264         * lib/addext.c: Include <string.h> unconditionally.
90265         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
90266         Don't declare getenv or malloc.
90267
90268         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
90269         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
90270         (NULL): Remove.
90271         (find_stack_direction, alloca): Use prototypes.
90272
90273         * lib/atexit.c (atexit): Define using a prototype.
90274
90275         * lib/basename.c, dirname.c, stripslash.c:
90276         Include <string.h> unconditionally.
90277
90278         * lib/bcopy.c: Include <stddef.h>.
90279         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
90280
90281         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
90282
90283         * lib/error.h (error, error_at_line, error_print_progname)
90284         [! (defined (__STDC__) && __STDC__)]: Remove decls.
90285         * lib/error.c: Include error.h first, to check interface.
90286         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
90287         (VA_START): Remove; all uses changeed to va_start.
90288         (exit, strerror): Remove decls.
90289         (error_print_progname): Prototype uncondionally.
90290         Don't include <errno.h>; no longer needed.
90291         (private_strerror): Remove.
90292         (error_tail): Always define.
90293         (error, error_at_line): Assume C89 or better; always use prototypes.
90294         * lib/fatal.c: Include "fatal.h" first, to test interface.
90295         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
90296         (VA_START): Remove; all uses changed to va_start.
90297         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
90298         this case.
90299         (exit): Remove decl.
90300         (fatal): Prototype unconditionally.  Assume va_start works.
90301         Abort at end, to pacify gcc.
90302
90303         * lib/euidaccess.c (main): Define with a prototype.
90304
90305         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
90306
90307         * lib/exitfail.c: Include <stdlib.h> unconditionally.
90308
90309         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
90310         prototypes.
90311         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
90312         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
90313         (getenv): Remove decl.
90314         (fnmatch): Define using a prototype.
90315         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
90316         (FCT): Define using a prototype.
90317
90318         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
90319
90320         * lib/gethostname.c: Include <stddef.h>.
90321         (gethostname): Define with prototype.  Length is size_t, not int.
90322
90323 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90324
90325         Assume C89 or better; remove K&R cruft.
90326         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
90327         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
90328         string.h, getenv, malloc.
90329         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
90330         headers.
90331         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
90332         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
90333         do not check for strerror.
90334         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
90335         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
90336         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
90337         do not check for doprnt or vprintf.
90338         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
90339         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
90340
90341 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90342
90343         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
90344         getversion.c should have been removed then, but was accidentally
90345         preserved.
90346
90347         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
90348         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
90349
90350 2003-09-08  Karl Berry  <karl@gnu.org>
90351
90352         * config/config.sub, config.guess, srclistvars.sh: update from savannah
90353                 config, forget about prep.
90354
90355         * config/depcomp, missing: update from automake.
90356
90357 2003-09-07  Paul Eggert  <eggert@twinsun.com>
90358
90359         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
90360         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
90361
90362 2003-09-07  Paul Eggert  <eggert@twinsun.com>
90363
90364         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
90365         copy_tm_result.  Bug reported by Simon Josefsson in
90366         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
90367
90368 2003-09-06  Paul Eggert  <eggert@twinsun.com>
90369
90370         * m4/time_r.m4: New file.
90371         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
90372         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
90373         is. Check for timegm declaration.
90374         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
90375         Do not check for gmtime_r.
90376         Replace mktime if __mktime_internal does not exist and if mktime
90377         hasn't been replaced already.
90378
90379 2003-09-06  Paul Eggert  <eggert@twinsun.com>
90380
90381         * lib/time_r.c, lib/time_r.h: New files.
90382
90383         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
90384         __localtime_r.
90385         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
90386         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
90387
90388         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
90389         __gmtime_r.
90390         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
90391         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
90392         Include <time_r.h>.
90393
90394         * lib/timegm.c: Switch to glibc implementation, with the following
90395         changes:
90396         [defined HAVE_CONFIG_H]: Include <config.h>.
90397         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
90398         (__mktime_internal) [!defined _LIBC]: New decl.
90399         (__gmtime_r) [!defined _LIBC]: New macro and function.
90400         (timegm): Use a prototype, since gnulib assumes C89.
90401         Do not bother declaring tmp to be const, as it's not really usefu.
90402         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
90403         (timegm): Declare only if HAVE_DECL_TIMEGM.
90404
90405 2003-09-06  Paul Eggert  <eggert@twinsun.com>
90406
90407         * MODULES.html.sh (func_all_modules): Add time_r.
90408         * modules/time_r: New file.
90409         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
90410         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
90411
90412 2003-09-03  Paul Eggert  <eggert@twinsun.com>
90413
90414         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
90415         Bug reported by Lute Kamstra in
90416         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
90417
90418         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
90419         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
90420         course with correspondingly smaller numbers for tomorrow and
90421         yesterday.  From Tadayoshi Funaba.  Originally installed into
90422         sh-utils on 1999-08-07, but the patch got lost (I guess during the
90423         coreutils merge?).
90424
90425 2003-08-31  Simon Josefsson  <jas@extundo.com>
90426
90427         * modules/timegm: New file.
90428         * MODULES.html.sh (func_all_modules): Add timegm.
90429
90430 2003-08-31  Simon Josefsson  <jas@extundo.com>
90431
90432         * m4/timegm.m4: New file.
90433
90434 2003-08-31  Simon Josefsson  <jas@extundo.com>
90435
90436         * lib/timegm.h: New file.
90437         * lib/timegm.c: New file.  Based on
90438         wget-1.8.2/src/http.c:mktime_from_utc.
90439
90440 2003-08-31  Karl Berry  <karl@gnu.org>
90441
90442         * lib/argp.h: update from libc.
90443
90444 2003-08-28  Bruno Haible  <bruno@clisp.org>
90445
90446         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
90447         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
90448         followed by '#define fnmatch fnmatch_posix' gives an error.
90449
90450 2003-08-28  Bruno Haible  <bruno@clisp.org>
90451
90452         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
90453         warning on QNX, which defines O_BINARY to 000000.
90454
90455 2003-08-27  Jim Meyering  <jim@meyering.net>
90456
90457         * m4/mkstemp.m4: Require that the system mkstemp be able to create
90458         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
90459         would fail after 32.  Reported by Danny Levinson.  Details here:
90460         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
90461
90462 2003-08-24  Bruno Haible  <bruno@clisp.org>
90463
90464         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
90465         MSVC7 <stdio.h> is included later.
90466
90467 2003-08-22  Simon Josefsson  <jas@extundo.com>
90468
90469         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
90470
90471 2003-08-20  Karl Berry  <karl@gnu.org>
90472
90473         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
90474
90475 2003-08-20  Bruno Haible  <bruno@clisp.org>
90476
90477         * modules/progname: New file.
90478         * MODULES.html.sh (func_all_modules): Add progname.
90479
90480 2003-08-20  Bruno Haible  <bruno@clisp.org>
90481
90482         * lib/progname.h: New file, from GNU gettext.
90483         * lib/progname.c: New file, from GNU gettext.
90484         * lib/progreloc.c: New file, from GNU gettext.
90485
90486 2003-08-19  Jim Meyering  <jim@meyering.net>
90487
90488         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
90489         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
90490
90491 2003-08-19  Bruno Haible  <bruno@clisp.org>
90492
90493         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
90494         more.
90495
90496 2003-08-19  Bruno Haible  <bruno@clisp.org>
90497
90498         * lib/xstrdup.c: Assume <string.h> exists.
90499
90500 2003-08-18  Paul Eggert  <eggert@twinsun.com>
90501
90502         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
90503         in makefile rules.
90504
90505 2003-08-18  Jim Meyering  <jim@meyering.net>
90506
90507         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
90508         * m4/lib-ld.m4: Likewise.
90509
90510 2003-08-18  Jim Meyering  <jim@meyering.net>
90511
90512         * lib/setenv.h: Indent nested cpp directive.
90513         * lib/vasnprintf.c: Remove trailing blanks.
90514
90515 2003-08-17  Simon Josefsson  <jas@extundo.com>
90516
90517         * modules/xstrndup: New file.
90518         * MODULES.html.sh (func_all_modules): Add xstrndup.
90519
90520 2003-08-17  Simon Josefsson  <jas@extundo.com>
90521
90522         * modules/argp: Fix autoconf macro name. Add more dependencies.
90523
90524 2003-08-17  Simon Josefsson  <jas@extundo.com>
90525
90526         * m4/xstrndup.m4: New file.
90527
90528 2003-08-17  Simon Josefsson  <jas@extundo.com>
90529
90530         * m4/argp.m4: New file.
90531
90532 2003-08-17  Simon Josefsson  <jas@extundo.com>
90533             Bruno Haible  <bruno@clisp.org>
90534
90535         * lib/xstrndup.h: New file.
90536         * lib/xstrndup.c: New file.
90537
90538 2003-08-17  Bruno Haible  <bruno@clisp.org>
90539
90540         * modules/strndup (Files, Include): Add lib/strndup.h.
90541
90542 2003-08-17  Bruno Haible  <bruno@clisp.org>
90543
90544         * modules/euidaccess (Files): Add lib/euidaccess.h.
90545
90546 2003-08-17  Bruno Haible  <bruno@clisp.org>
90547
90548         * lib/strndup.h: New file.
90549
90550 2003-08-17  Bruno Haible  <bruno@clisp.org>
90551
90552         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
90553         like AC_GNU_SOURCE.
90554         * modules/extensions (configure.ac): Comment out the invocation of
90555         gl_USE_SYSTEM_EXTENSIONS.
90556
90557 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90558
90559         Merges from coreutils, etc.
90560         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
90561         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
90562         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
90563         fixing a typo.
90564         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
90565         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
90566
90567 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90568
90569         Document merge from coreutils.
90570         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
90571         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
90572         * modules/utime: Add m4/utimes-null.m4.
90573
90574 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90575
90576         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
90577         space, undoing this 2003-08-12 change:
90578         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90579
90580 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90581
90582         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
90583         strtoul.c from libc, undoing this 2003-08-12 change:
90584         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90585
90586 2003-08-16  Jim Meyering  <jim@meyering.net>
90587
90588         Merges from coreutils.
90589         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
90590         prefix.  Adjust cache variables similarly.  Create 500 rather than
90591         just 300 files, to exercise bug on Darwin6.5, too.
90592         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
90593         $missing_dir.
90594         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
90595         AM_SYS_POSIX_TERMIOS.
90596         Reported by mkc@mathdogs.com.
90597         Also change use of $am_cv_sys_posix_termios
90598         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
90599         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
90600         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
90601         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
90602         in /proc/mounts until it finds one with matching device number.  This
90603         is unnecessary when the FILE argument *is* a mount point.  No stat call
90604         is necessary in that case.  So, disable the statvfs-testing code on
90605         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
90606         as RedHat bug# 84846.
90607         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90608         to 1MB, so as not to render systems with no stack size limit (e.g.,
90609         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90610         Include <unistd.h>.  On some systems,
90611         it is required for the definition of _SC_PAGESIZE.
90612
90613 2003-08-16  Jim Meyering  <jim@meyering.net>
90614
90615         Merge from coreutils.
90616         * lib/xstrtoimax.c: #else #if -> #elif.
90617         * lib/xstrtoumax.c: Likewise.
90618
90619 2003-08-16  Jim Meyering  <jim@meyering.net>
90620
90621         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
90622         * m4/utimes.m4: Removed.
90623         * m4/utimes-null.m4: Renamed from utimes.m4.
90624
90625         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90626         to 1MB, so as not to render systems with no stack size limit (e.g.,
90627         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90628         Include <unistd.h>.  On some systems,
90629         it is required for the definition of _SC_PAGESIZE.
90630
90631 2003-08-16  Jim Meyering  <jim@meyering.net>
90632         and Paul Eggert  <eggert@cs.ucla.edu>
90633
90634         Merges from coreutils, etc.
90635
90636         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
90637         using the latest version from cvs.  This avoids problems with #line
90638         directives using a vendor (Sun) compiler.
90639         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
90640         Don't set GETGROUPS_LIB here; now it's
90641         done via getgroups.m4's wrapper function.
90642         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
90643         rather than just in sh-util/configure.in, so that the
90644         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
90645         same.
90646         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
90647         AC_FUNC_GETLOADAVG where to find getloadavg.c.
90648         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
90649         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
90650         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
90651         Remove code that is now done by the newly-required macros.
90652         Append $(EXEEXT) to DF_PROG.
90653         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
90654         Do not invoke or require the following here,
90655         since prereq.m4 or some gnulib .m4 now does this for us:
90656         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
90657         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
90658         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
90659         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
90660         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
90661         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
90662         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
90663         AC_FUNC_OBSTACK.
90664         Do not replace the following functions, as this is now the job
90665         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
90666         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
90667         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
90668         atexit getpass, strdup, getpagesize.
90669         Replace 'raise'.
90670         Do not check for the following functions, as this is now the job
90671         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
90672         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
90673         setregid.
90674         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
90675         Check for sys/sysctl.h.
90676         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
90677         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
90678         of checking for ssize_t ourselves.
90679
90680         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
90681         Require every macro that gnulib/modules/* suggests for us.
90682         (jm_PREREQ_ADDEXT): New macro.
90683         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
90684         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
90685
90686         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
90687         (gl_PHYSMEM): Use it.
90688         Also check for `table' function.
90689         Check for new headers and functions.
90690         Add check for sys/sysmp.h.
90691         With suggestions from Kaveh Ghazi.
90692         Ignore headers that are present but cannot be compiled.  This
90693         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
90694         C 5.4.
90695
90696 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90697
90698         Document merge from coreutils.
90699         * modules/userspec: Depend on posixver.
90700         * modules/strftime: Depend on tzset.
90701
90702 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90703
90704         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
90705         rather than tab, after '#' in shell-script copyright notices.
90706         Suggested by Bruno Haible.
90707
90708 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90709
90710         * config/srclist-update: Use three spaces, rather than tab, after '#'
90711         in shell-script copyright notices.  Suggested by Bruno Haible.
90712         Remove unnecessary parenthesization in regular expression.
90713
90714 2003-08-15  Jim Meyering  <jim@meyering.net>
90715
90716         Merge from coreutils.
90717         * lib/xgethostname.c: Include <stdlib.h>.
90718         (xghostname): Don't exit for anything other than memory-related
90719         failure; just return NULL.
90720         * lib/userspec.c: Include "posixver.h".
90721         (parse_user_spec): Accept `.' as a separator only
90722         in pre-POSIX-200112 mode.
90723         * lib/strtoimax.c: Use #elif rather than #else #if.
90724         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
90725         Remove function, now that we can rely on a working tzset function.
90726         [!_LIBC]: Ensure that the required autoconf test has been run.
90727         [!defined _NL_CURRENT && HAVE_STRFTIME]:
90728         Use underlying_strftime for %r.
90729         * lib/sha.c: Merge in some clean-up and optimization changes from
90730         glibc.
90731         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
90732         Ensure that it is a multiple of 64.
90733         Rearrange loop exit tests so as to avoid performing an
90734         additional fread after encountering an error or EOF.
90735         * lib/realloc.c: Update copyright date.
90736
90737 2003-08-15  Jim Meyering  <jim@meyering.net>
90738         and Paul Eggert  <eggert@twinsun.com>
90739
90740         Merge from coreutils.
90741         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
90742         member but strut utmpx does not.  Needed for AIX 4.3.3.
90743         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
90744
90745 2003-08-15  Jim Meyering  <jim@meyering.net>
90746         and Paul Eggert  <eggert@cs.ucla.edu>
90747
90748         Merges from coreutils, etc.
90749         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
90750         Require gl_FUNC_TZSET_CLOBBER.
90751         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
90752         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
90753         members.
90754
90755 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90756
90757         Help the merge from coreutils.
90758         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
90759         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
90760         * m4/tzset.m4: Use it too.
90761
90762 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90763
90764         * modules/tzset: New file.
90765
90766 2003-08-14  Jim Meyering  <jim@meyering.net>
90767
90768         Merges from coreutils.
90769         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
90770         variable names, rather than @FNMATCH_H@.
90771         * modules/alloca: Likewise for $(ALLOCA_H).
90772
90773         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
90774         the three copies of the literal target, `fnmatch.h'.
90775         * modules/alloca (alloca.h): Likewise.
90776
90777 2003-08-14  Jim Meyering  <jim@meyering.net>
90778
90779         Merge from coreutils.
90780         * m4/tzset.m4: New file.
90781         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
90782         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
90783         otherwise, AIX 5.1 systems would end up using the latter.
90784         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
90785         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
90786         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
90787         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
90788
90789 2003-08-14  Jim Meyering  <jim@meyering.net>
90790
90791         Merge from coreutils.
90792         * lib/obstack.h: Whitespace changes.
90793         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
90794         and xcalloc return values.
90795         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
90796         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
90797         hang on OSF/1 5.1 for DIR on both local and remote file systems.
90798         Reported by (and fix confirmed by) Nelson H. F. Beebe.
90799         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90800         error from mntctl.
90801         Use mntctl's return value to drive the entry-processing loop, since
90802         we can't rely on the value of the vmt_length member in the last
90803         entry.  On some systems doing so could result in exhausting
90804         virtual memory.  Based in part on a patch from Mike Jetzer.
90805
90806 2003-08-14  Jim Meyering  <jim@meyering.net>
90807         and Paul Eggert  <eggert@twinsun.com>
90808
90809         Merges from coreutils, plus other fixes.
90810         * lib/physmem.c: Merge in portability changes from gcc/libiberty
90811         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
90812         for credits and details.  Thanks to Kaveh Ghazi for helping
90813         to keep these files in sync.
90814         (ARRAY_SIZE): Define it.
90815         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
90816         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
90817         (memcasecmp): Don't assume size_t fits in unsigned int.
90818         Remove casts and duplicate code.
90819         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
90820         (memcpy): Remove definition.
90821         Merge in some clean-up and optimization changes from glibc.
90822         [BLOCKSIZE]: Move definition to top of file.
90823         Ensure that it is a multiple of 64.
90824         Rearrange loop exit tests so as to avoid performing an
90825         additional fread after encountering an error or EOF.
90826         * lib/md5.h (md5_uintptr): Define.
90827         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
90828         return to the initial working directory.  Preserve errno
90829         for caller.
90830         * lib/idcache.c: Include "xalloc.h".
90831         (xmalloc, xrealloc): Remove decls.
90832         (getuser): Remove casts no longer required in C89.
90833         * lib/human.c: Include stdio.h, for sprintf.
90834         * lib/group-member.c: Include "xalloc.h".
90835         (xmalloc, xrealloc): Remove decls.
90836         (get_group_info): Remove casts no longer required in C89.
90837         * lib/getusershell.c (readname): Remove casts no longer required in
90838         C89.
90839         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
90840         * lib/getline.c: Whitespace fix, from coreutils.
90841
90842 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90843
90844         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
90845         Check for isascii.
90846
90847         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90848         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90849         Undo previous (whitespace-only) change.
90850
90851 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90852
90853         * lib/exclude.c: Include <ctype.h>
90854         (IN_CTYPE_DOMAIN): New macro.
90855         (is_space): New fn.
90856         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
90857         and empty lines.
90858
90859         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90860         Undo previous (whitespace-only) change.
90861
90862 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90863
90864         * config/srclist-update: Change update back to the old behavior,
90865         leaving whitespace alone.  Use one 'sed' command rather than a
90866         pipeline.
90867         (fixlicense): Now a variable, not a function.
90868         (remove_trailing_blanks): Remove.
90869         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
90870         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90871         Undo previous (whitespace-only) change.
90872
90873 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90874
90875         Merge from coreutils.
90876         * modules/euidaccess: Add lib_SOURCES, include for new
90877         file euidaccess.h
90878
90879 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90880
90881         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90882         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90883         Normalize leading white space and remove trailing white space.
90884
90885         Merge from coreutils
90886         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
90887
90888         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
90889         0.12.1.  These files are now being upgraded automatically by
90890         ../config/srclist-update.
90891
90892 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90893
90894         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90895         Normalize leading white space and remove trailing white space.
90896         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
90897         notice, as per ../config/srclist-update.
90898
90899         Merge from coreutils.
90900         * lib/euidaccess.h: New file.
90901         * lib/euidaccess.c: Include it.
90902         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
90903         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
90904         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
90905
90906 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90907
90908         * config/srclist-update: Add copyright notice.
90909         (remove_id_lines, remove_trailing_blanks): New constants.
90910         (fixfile): Use them to normalize spacing a bit in copied files.
90911         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90912         Normalize leading white space and remove trailing white space.
90913
90914         * config/texinfo.tex: Sync with texinfo.
90915
90916         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
90917         strtoul.c from libc, to merge coreutils whitespace changes.
90918
90919         * config/srclist.txt: Get the following m4 files from gettext:
90920         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
90921         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
90922         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
90923         wint_t.m4.
90924
90925 2003-08-12  Karl Berry  <karl@gnu.org>
90926
90927         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
90928         been made.
90929
90930 2003-08-11  Paul Eggert  <eggert@twinsun.com>
90931
90932         * modules/gnu-source, m4/gnu-source.m4:
90933         Remove; we're assuming Autoconf 2.54 or later now.
90934         Suggested by Bruno Haible.
90935         * MODULES.html.sh (func_all_modules): Remove gnu-source.
90936
90937 2003-08-11  Bruno Haible  <bruno@clisp.org>
90938
90939         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
90940
90941 2003-08-11  Bruno Haible  <bruno@clisp.org>
90942
90943         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90944         (vasnprintf): Use it instead of wcslen.
90945
90946 2003-08-11  Bruno Haible  <bruno@clisp.org>
90947
90948         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90949         value to ensure that _Bool promotes to int. Use #define for _Bool when
90950         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90951
90952 2003-08-10  Karl Berry  <karl@gnu.org>
90953
90954         * lib/regex.h: update from libc (whitespace fix).
90955
90956 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90957
90958         Merge some files from coreutils.  These changes were
90959         originally made by Jim Meyering.
90960         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90961         many older Unixes require this.
90962         * lib/alloca.c (alloca): Remove cast to argument of free;
90963         no longer needed in C89.
90964         * lib/alloca_.h, regex.h: Fix white space to match
90965         what GNU indent does.
90966
90967 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90968
90969         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90970         apparently Emacs's Unicode mode got confused before my 2003-08-05
90971         checkin.
90972
90973 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90974
90975         * m4/extensions.m4: New file.
90976         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90977         Require gl_USE_SYSTEM_EXTENSIONS.
90978         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90979         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90980
90981 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90982
90983         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90984         * modules/extensions, modules/gnu-source: New files.
90985         * modules/timespec, modules/unlocked-io: Depend on extensions.
90986
90987 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90988
90989         * modules/restrict: New file.
90990         * MODULES.html.sh (func_all_modules): Add restrict.
90991         * modules/regex: Depend on restrict.
90992
90993 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90994
90995         * m4/restrict.m4: New file.
90996         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90997
90998 2003-08-07  Bruno Haible  <bruno@clisp.org>
90999
91000         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
91001         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
91002
91003 2003-08-07  Bruno Haible  <bruno@clisp.org>
91004
91005         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
91006         makes the module 'getndelim2' compatible with the module 'getline'.
91007
91008 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91009
91010         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
91011         byte with "\201" to avoid glitches when editing that source file
91012         with multi-gnome-terminal.
91013
91014 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91015
91016         * lib/bumpalloc.h: Remove.
91017
91018 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91019
91020         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
91021         * modules/bumpalloc: Remove.
91022
91023 2003-08-04  Paul Eggert  <eggert@twinsun.com>
91024
91025         * lib/getloadavg.c: Change copyright notice and spacing to conform to
91026         GNU coding style.
91027
91028         Merge from coreutils.
91029         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
91030         1. From glibc.
91031         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
91032         from Karl Berry, implemented by Jim Meyering.
91033         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
91034         from Dmitry V. Levin.
91035         Remove anachronistic cast of xrealloc.
91036         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
91037         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
91038         type. Otherwise, it wouldn't compile with at least /bin/cc on
91039         ymp-cray-unicos9.0.2.X.
91040         Combine two mostly-identical uses of alloca into one.
91041         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
91042
91043 2003-08-04  Dave Love  <d.love@dl.ac.uk>
91044
91045         [From Emacs.]
91046
91047         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
91048         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
91049         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
91050         obsolete NLIST_NAME_UNION.
91051         [__GNU__]: Undef BSD and FSCALE.
91052         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
91053
91054 2003-08-03  Paul Eggert  <eggert@twinsun.com>
91055
91056         * lib/stdbool_.h (_Bool): Make it signed char, instead of
91057         an enum type, so that it's guaranteed to promote to int.  See:
91058         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
91059
91060 2003-08-03  Karl Berry  <karl@gnu.org>
91061
91062         * config/depcomp: update from automake.
91063
91064 2003-07-31  Paul Eggert  <eggert@twinsun.com>
91065
91066         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
91067         (strerror): Don't assume that a printable int fits in 14 bytes.
91068
91069 2003-07-31  Bruno Haible  <bruno@clisp.org>
91070
91071         * modules/getpass-gnu: New file.
91072         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
91073
91074 2003-07-31  Bruno Haible  <bruno@clisp.org>
91075
91076         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
91077
91078 2003-07-24  Karl Berry  <karl@gnu.org>
91079
91080         * config/missing: update from automake.
91081
91082 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
91083             Bruno Haible  <bruno@clisp.org>
91084
91085         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
91086         * lib/getline.c (getline, getdelim): Likewise.
91087         Remove _GNU_SOURCE define; now it's defined in config.h through
91088         m4/getline.m4.
91089
91090 2003-07-23  Karl Berry  <karl@gnu.org>
91091
91092         * config/config.sub: update from prep.
91093
91094 2003-07-22  Paul Eggert  <eggert@twinsun.com>
91095
91096         * modules/xalloc (Depends-on): Add exitfail.
91097         * modules/xmemcoll: Likewise.
91098
91099 2003-07-22  Paul Eggert  <eggert@twinsun.com>
91100
91101         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
91102         over-parenthesization in macros.
91103
91104         Sync with coreutils.
91105
91106         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
91107         required by C99.
91108
91109         Use `exit_failure' for xalloc and xmemcoll instead of their own
91110         private exit-failure variables.
91111         * lib/xalloc.h (xalloc_exit_failure): Remove.
91112         * lib/xmalloc.c: Likewise.  Include exitfail.h.
91113         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
91114         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
91115         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
91116         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
91117
91118 2003-07-20  Jim Meyering  <jim@meyering.net>
91119
91120         * modules/closeout (Depends-on): Add exitfail.
91121         Suggestion from Bruno Haible.
91122
91123 2003-07-19  Karl Berry  <karl@gnu.org>
91124
91125         * config/config.sub: update from prep.
91126
91127 2003-07-18  Paul Eggert  <eggert@twinsun.com>
91128
91129         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
91130         Remove.
91131         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
91132         to test that it can stand by itself.  Include "exitfail.h".
91133         Clients should set exit_failure instead.
91134         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
91135
91136 2003-07-18  Bruno Haible  <bruno@clisp.org>
91137
91138         * modules/getndelim2: New file.
91139         * modules/getline: Share files with module getndelim2.
91140         * modules/getnline: Depend on getndelim2 instead of sharing files with
91141         it. Add getnline.c to lib_SOURCES.
91142         * MODULES.html.sh (func_all_modules): Add getndelim2.
91143
91144 2003-07-18  Bruno Haible  <bruno@clisp.org>
91145
91146         * m4/getndelim2.m4: New file.
91147         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
91148         invoke gl_PREREQ_GETNDELIM2.
91149         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
91150         gl_PREREQ_GETNDELIM2.
91151         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
91152         gl_GETNDELIM2.
91153
91154 2003-07-18  Bruno Haible  <bruno@clisp.org>
91155
91156         * lib/getndelim2.h: New file.
91157         * lib/getndelim2.c: Make into a module of its own. Include config.h,
91158         getndelim2.h.
91159         (getndelim2): Make non-static. Change return type to ssize_t.
91160         * lib/getline.h: Change argument names.
91161         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
91162         * lib/getnline.c: Include getndelim2.h.
91163
91164 2003-07-18  Andreas Schwab  <schwab@suse.de>
91165
91166         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
91167
91168 2003-07-17  Karl Berry  <karl@gnu.org>
91169
91170         * config/config.sub: update from prep.
91171
91172 2003-07-17  Bruno Haible  <bruno@clisp.org>
91173
91174         * modules/getnline: New file.
91175         * modules/getline: Add lib/getndelim2.c to source file list.
91176         * MODULES.html.sh (func_all_modules): Add getnline.
91177
91178 2003-07-17  Bruno Haible  <bruno@clisp.org>
91179
91180         * m4/getnline.m4: New file.
91181
91182 2003-07-17  Bruno Haible  <bruno@clisp.org>
91183
91184         * m4/Makefile.am.in: Remove file.
91185         * m4/Makefile.am: Remove file.
91186         * m4/Makefile.in: Remove file.
91187
91188 2003-07-17  Bruno Haible  <bruno@clisp.org>
91189
91190         * lib/getnline.h: New file.
91191         * lib/getnline.c: New file.
91192         * lib/getndelim2.c: New file, extracted from getline.c.
91193         (getndelim2): Renamed from getdelim2, with added nmax argument.
91194         * lib/getline.c: Include getndelim2.c.
91195         (getdelim2): Moved out to getndelim2.c.
91196         (getline, getdelim): Update.
91197
91198 2003-07-17  Bruno Haible  <bruno@clisp.org>
91199
91200         * lib/Makefile.am: Remove file.
91201         * lib/Makefile.in: Remove file.
91202
91203 2003-07-17  Bruno Haible  <bruno@clisp.org>
91204
91205         * configure.in: Remove file.
91206         * Makefile.in: Remove file.
91207
91208 2003-07-17  Bruno Haible  <bruno@clisp.org>
91209
91210         * MODULES.html.sh: Put the </BODY> right before </HTML>.
91211
91212 2003-07-16  Karl Berry  <karl@gnu.org>
91213
91214         * config/srclist-update: was running fixlicense twice, which caused
91215                 texinfo.tex to be nullified for some reason.  Simplify,
91216                 $gplsrc is no longer needed as far as I can see?
91217
91218 2003-07-16  Jim Meyering  <jim@meyering.net>
91219
91220         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
91221
91222 2003-07-15  Paul Eggert  <eggert@twinsun.com>
91223
91224         * config/srclist.txt: Get the following files from gettext-runtime/intl
91225         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
91226         ref-del.sin.  From Bruno Haible.
91227         * config/srclist-update (fixfile): Change grep pattern again, since the
91228         previous fix didn't work (there was another trailing $).  Use
91229         '[$]' to escape the $s.
91230
91231 2003-07-15  Karl Berry  <karl@gnu.org>
91232
91233         * lib/vasnprintf.c: update from gettext.
91234
91235 2003-07-15  Karl Berry  <karl@gnu.org>
91236
91237         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
91238         gets expanded when surrounded by '$'.
91239
91240 2003-07-15  Jim Meyering  <jim@meyering.net>
91241
91242         * modules/save-cwd: Don't depend on error.  From Derek Price.
91243
91244 2003-07-15  Jim Meyering  <jim@meyering.net>
91245
91246         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
91247
91248 2003-07-14  Simon Josefsson  <jas@extundo.com>
91249
91250         * modules/mempcpy: New file.
91251         * MODULES.html.sh (func_all_modules): Add mempcpy.
91252
91253 2003-07-14  Simon Josefsson  <jas@extundo.com>
91254
91255         * m4/mempcpy.m4: New file.
91256
91257 2003-07-14  Simon Josefsson  <jas@extundo.com>
91258
91259         * lib/mempcpy.h: New file.
91260         * lib/mempcpy.c: New file.
91261
91262 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91263
91264         * modules/getdate, modules/posixtm: Depend on mktime.
91265
91266 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91267
91268         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
91269         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
91270         unicodeio.c, unicodeio.h, unlocked-io.h:
91271         Switch from LGPL to GPL.
91272
91273 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91274
91275         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
91276         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
91277         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
91278         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
91279         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
91280         updated automatically by ../config/srclist-update.  This changes
91281         their license from LPGL to GPL.
91282
91283 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91284
91285         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
91286         assumed to refer to the root of the most recent stable gettext version.
91287         * config/srclistvars.sh: Add defaults for eggert.
91288         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
91289         Match "This program" as well as "The program".  This is needed
91290         for gettext.
91291
91292 2003-07-14  Jim Meyering  <jim@meyering.net>
91293
91294         Don't emit diagnostics.  Let callers do that.
91295         * lib/save-cwd.c: Don't include "error.h".
91296         (save_cwd): Don't call error.  Ensure that errno is valid
91297         when returning nonzero.
91298
91299         * lib/save-cwd.h (restore_cwd): Update prototype.
91300         * lib/save-cwd.c (restore_cwd): Remove two parameters.
91301         Simplify.  Don't call error upon failure.  Let callers do that.
91302         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
91303         when auditing is enabled.  But don't bother updating the #if.
91304
91305 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
91306
91307         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
91308         it breaks C++ compilation.
91309         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
91310
91311 2003-07-10  Simon Josefsson  <jas@extundo.com>
91312
91313         * modules/strchrnul (Makefile.am): Add strchrnul.h.
91314
91315 2003-07-10  Jim Meyering  <jim@meyering.net>
91316
91317         * m4/clock_time.m4: Remove trailing blank.
91318         * m4/intmax_t.m4: Likewise.
91319
91320 2003-07-10  Jim Meyering  <jim@meyering.net>
91321
91322         * lib/vasnprintf.c: Remove trailing blanks.
91323         Make cpp indentation consistent.
91324
91325 2003-07-09  Paul Eggert  <eggert@twinsun.com>
91326
91327         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
91328         posixver.c, strftime.c, strnlen.c, strverscmp.c:
91329         Switch from LGPL to GPL.
91330
91331 2003-07-09  Paul Eggert  <eggert@twinsun.com>
91332
91333         * config/srclist.txt: Sort sublists.  Add
91334         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
91335         that differ from gnulib for one reason or another; we'd like this list
91336         to be smaller but for now let's document what we have.
91337
91338 2003-07-08  Paul Eggert  <eggert@twinsun.com>
91339
91340         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
91341         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
91342         and sweeter "eval x=$x".
91343         * config/srclist.txt: Get lib/argp* from glibc.
91344
91345 2003-07-07  Paul Eggert  <eggert@twinsun.com>
91346
91347         * lib/mktime.c: Fix some boundary cases and remove need for floating
91348         point.
91349
91350         Issue a compile-time diagnostic if time_t is floating point, or if
91351         two's complement arithmetic is not in effect, or if arithmetic
91352         right shift does not propagate the sign.  These assumptions were
91353         all in the original code but they weren't checked.
91354
91355         (TIME_T_MIDPOINT, verify): New macros.
91356         (__isleap): Remove; it has integer overflow problems.
91357         (leapyear): New function, without those problems.
91358         (ydhms_tm_diff): Remove; splitting into two parts.
91359         (ydhms_diff): New function, containing the arithmetic part of
91360         the old ydhms_tm_diff function.  Issue a compile-time
91361         diagnostic if we are not using C99 integer division.
91362         Avoid casts when possible.
91363         (guess_time_tm): New function, containing the checking part of
91364         the old ydhms_tm_diff function.  Return the new value, rather than
91365         the difference between it and the old.  Accept a new argument T
91366         so that *T specifies the old value.  Check for overflow in the result.
91367
91368         (__mktime_internal): Use a time_t offset, not a long int offset.
91369         This undoes the 2003-06-04 change, which is no longer needed now
91370         that we have better overflow checking.
91371         (localtime_offset): Likewise.
91372
91373         (__mktime_internal): Avoid harmful overflow on hosts where time_t
91374         and long are 64-bit but int is only 32-bit.
91375         (ydhms_diff): Use long int to store year1 and yday1.
91376         Issue a compile-time diagnostic if long int is not wide enough.
91377
91378         (__mktime_internal): Use long int to store adjusted year and yday.
91379         Use plain C rather than preprocessor commands, if that doesn't
91380         affect efficiency.
91381         Check for overflow (and try to repair) after each probe
91382         rather than checking only at the very end.  This avoids some bugs
91383         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
91384         does not equal GMT offset at maximum time).
91385         Use integer to check for overflow rather than floating point; this
91386         is more portable to non-IEEE hosts, and is a tad faster.
91387         When we detect that we are oscillating between two values,
91388         don't check whether tm_isdst has the requested value, since
91389         we already know the answer.  When tm_isdst has the wrong value,
91390         use a different heuristic to find the right one, based on the
91391         extreme values actually observed in practice in tz2003a,
91392         rather than the (overly optimistic) "previous 3 calendar quarters".
91393
91394         (not_equal_tm, print_tm, check_result): Use "const T" rather than
91395         "T const" to accommodate glibc style.
91396         (check_result): Use less-confusing report format.  "long" -> "long int.
91397         (main): Likewise.
91398         Don't loop if the iteration overflows time_t.
91399         Allow a negative step in the iteration.
91400
91401 2003-07-06  Karl Berry  <karl@gnu.org>
91402
91403         * config/depcomp: update from automake.
91404         * config/config.sub: update from prep.
91405
91406 2003-07-03  Karl Berry  <karl@gnu.org>
91407
91408         * config/config.guess: update from prep.
91409
91410 2003-07-01  Paul Eggert  <eggert@twinsun.com>
91411
91412         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
91413         xreadlink.c now includes it unconditionally.
91414
91415 2003-07-01  Paul Eggert  <eggert@twinsun.com>
91416
91417         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
91418         having it depend on HAVE_SYS_TYPES_H.
91419
91420 2003-07-01  Bruno Haible  <bruno@clisp.org>
91421
91422         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
91423         <sys/types.h> should be sufficient.
91424         Reported by Paul Eggert.
91425
91426 2003-06-26  Karl Berry  <karl@gnu.org>
91427
91428         * config/depcomp: update from automake.
91429
91430 2003-06-26  Bruno Haible  <bruno@clisp.org>
91431
91432         * modules/human: Depend on module stdbool.
91433
91434 2003-06-25  Bruno Haible  <bruno@clisp.org>
91435
91436         * modules/readlink: New file.
91437         * modules/xreadlink: Depend on it.
91438         * MODULES.html.sh (func_all_modules): Add readlink.
91439
91440 2003-06-25  Bruno Haible  <bruno@clisp.org>
91441
91442         * m4/readlink.m4: New file.
91443
91444 2003-06-25  Bruno Haible  <bruno@clisp.org>
91445
91446         * lib/readlink.c: New file.
91447
91448 2003-06-22  Karl Berry  <karl@gnu.org>
91449
91450         * config/srclist.txt: update mkinstalldirs from automake.
91451         * config/mkinstalldirs: update.
91452
91453 2003-06-22  Bruno Haible  <bruno@clisp.org>
91454
91455         Portability to mingw32.
91456         * m4/ssize_t.m4: New file, from GNU gettext.
91457         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
91458         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
91459
91460 2003-06-22  Bruno Haible  <bruno@clisp.org>
91461
91462         * modules/safe-read: Add m4/ssize_t.m4.
91463         * modules/xreadlink: Add m4/ssize_t.m4.
91464
91465 2003-06-20  Bruno Haible  <bruno@clisp.org>
91466
91467         Assume C89, so PARAMS isn't needed.
91468         * lib/unicodeio.h (PARAMS): Remove.
91469         * lib/unicodeio.c: Don't use PARAMS.
91470
91471 2003-06-18  Karl Berry  <karl@gnu.org>
91472
91473         * config/config.{guess,sub}: update from prep.
91474
91475 2003-06-18  Jim Meyering  <jim@meyering.net>
91476
91477         Merge changes from coreutils.
91478         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
91479         Remove explicit declarations of xmalloc and realloc.
91480         Include xalloc.h.
91481         (read_utmp): Remove anachronistic cast of xmalloc.
91482
91483 2003-06-17  Paul Eggert  <eggert@twinsun.com>
91484
91485         Assume C89, so PARAMS isn't needed.
91486         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
91487         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
91488         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
91489         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
91490         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
91491         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
91492         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
91493         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
91494         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
91495         lib/xstrtod.h, lib/xstrtol.h: Likewise.
91496         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
91497         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
91498         no longer needed. Anyway, config.h should always be included before any
91499         other file.
91500
91501 2003-06-11  Simon Josefsson  <jas@extundo.com>
91502
91503         * modules/sysexits: New file.
91504         * MODULES.html.sh (func_all_modules): Add sysexits.
91505
91506 2003-06-11  Simon Josefsson  <jas@extundo.com>
91507
91508         * lib/sysexit_.h: New file.
91509
91510 2003-06-11  Derek Price  <derek@ximbiot.com>
91511
91512         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
91513         necessary.
91514
91515 2003-06-11  Bruno Haible  <bruno@clisp.org>
91516
91517         * m4/sysexits.m4: New file.
91518
91519 2003-06-10  Simon Josefsson  <jas@extundo.com>
91520
91521         * lib/argp.h: New file, from glibc.
91522         * lib/argp-ba.c: New file, from glibc.
91523         * lib/argp-eexst.c: New file, from glibc.
91524         * lib/argp-fmtstream.c: New file, from glibc.
91525         * lib/argp-fmtstream.h: New file, from glibc.
91526         * lib/argp-fs-xinl.c: New file, from glibc.
91527         * lib/argp-help.c: New file, from glibc.
91528         * lib/argp-namefrob.h: New file, from glibc.
91529         * lib/argp-parse.c: New file, from glibc.
91530         * lib/argp-pv.c: New file, from glibc.
91531         * lib/argp-pvh.c: New file, from glibc.
91532         * lib/argp-xinl.c: New file, from glibc.
91533
91534 2003-06-10  Simon Josefsson  <jas@extundo.com>
91535
91536         * modules/strchrnul: New file.
91537
91538 2003-06-10  Simon Josefsson  <jas@extundo.com>
91539
91540         * modules/argp: New file.
91541
91542 2003-06-10  Simon Josefsson  <jas@extundo.com>
91543
91544         * m4/strchrnul.m4: New file.
91545
91546 2003-06-10  Simon Josefsson  <jas@extundo.com>
91547
91548         * lib/strchrnul.h: New file.
91549         * lib/strchrnul.c: New file.
91550
91551 2003-06-10  Bruno Haible  <bruno@clisp.org>
91552
91553         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
91554
91555 2003-06-07  Karl Berry  <karl@gnu.org>
91556
91557         * config/config.{guess,sub}: update from prep.
91558
91559 2003-06-07  Jim Meyering  <jim@meyering.net>
91560
91561         * modules/strtod: Use $(...) notation, not @...@ for
91562         AC_REPLACE'd variables.
91563         * modules/localcharset: Likewise.
91564
91565 2003-06-07  Jim Meyering  <jim@meyering.net>
91566
91567         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
91568         in place of my name in the copyright comment.
91569         Remove definition and uses of __P.
91570
91571         From coreutils.
91572         * lib/stat.c: Don't declare xmalloc explicitly.
91573         Instead, include "xalloc.h".
91574         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
91575         xrealloc, and xcalloc return values.
91576         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
91577         Improve comment.
91578         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
91579
91580 2003-06-07  Bruno Haible  <bruno@clisp.org>
91581
91582         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
91583         avoid AC_CONFIG_LINKS.
91584         * modules/fnmatch (Makefile.am): Use explicit creation rule for
91585         fnmatch.h, to avoid AC_CONFIG_LINKS.
91586         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
91587
91588 2003-06-07  Bruno Haible  <bruno@clisp.org>
91589
91590         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
91591         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
91592         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91593         directory.
91594         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
91595         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91596         directory.
91597
91598 2003-06-06  Jim Meyering  <jim@meyering.net>
91599
91600         Merge from coreutils.
91601         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
91602         Consolidate declarations and initializations of *_base* locals.
91603
91604         Merge from coreutils.
91605         This avoids a core dump on systems without GNU putenv,
91606         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
91607         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
91608         (unsetenv): New static function, from GNU libc.
91609         (rpl_putenv): Use it.
91610
91611         * lib/modechange.c: Remove trailing blanks.
91612
91613         Merge from coreutils.
91614         * lib/fsusage.c: Remove declaration of statfs.
91615         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
91616
91617         * lib/posixtm.c: Include <stdbool.h> unconditionally.
91618
91619 2003-06-06  Jim Meyering  <jim@meyering.net>
91620
91621         * lib/stdbool_.h: Renamed from stdbool.h.in.
91622
91623 2003-06-06  Jim Meyering  <jim@meyering.net>
91624             Bruno Haible  <bruno@clisp.org>
91625
91626         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
91627         Adjust Makefile.am snippet not to redirect directly to target.
91628         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
91629
91630 2003-06-05  Paul Eggert  <eggert@twinsun.com>
91631
91632         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
91633         mismatch, look in future quarters as well as past.  This fixes a
91634         bug when processing fall-backwards gaps immediately after a long
91635         period of daylight-saving time.
91636
91637         * lib/mktime.c: Assume freestanding C89 or better.
91638         (HAVE_LIMITS_H): Remove.  Assume it's 1.
91639         (__P): Remove; not used.
91640         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
91641         (mktime, not_equal_tm, print_tm, check_result,
91642         main): Use prototypes.  Use const * where appropriate.
91643         (main): Fix typo in testing code that uncovered by above changes.
91644         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
91645
91646 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91647
91648         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
91649         locale.h, localeconv.  This merges changes from coreutils.
91650
91651         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
91652         It can be removed after the next Autoconf is released.
91653         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
91654         needed.
91655
91656 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91657
91658         * lib/mktime.c: Fix Debian bug 177940
91659         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
91660         (localtime_offset): Now long int, not time_t, because we want it
91661         to be guaranteed to be signed.  All uses changed.
91662         (__mktime_internal): If overflow would occur when adding offset,
91663         don't add it.
91664
91665         Merge 'human' changes from coreutils.  Rewrite to support
91666         locale-specific notations like thousands separators.
91667         * lib/human.c: Simplify authorship notice.
91668         Include human.h immediately after config.h.
91669         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
91670         <limits.h>: Do not include, since human.h does.
91671         (SIZE_MAX, UINTMAX_MAX): New macros.
91672         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
91673         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
91674         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
91675         (power_letter): Renamed from suffixes.
91676         (generate_suffix_backwards): Remove.
91677         (adjust_value): Now takes int style (because of human.h changes)
91678         and long double value (for greater precision on some platforms).
91679         (group_number): New function.
91680         (human_readable): Use it.  Use integer options, not enum.
91681         Put the options before the sizes in the arg list.
91682         Support all the new options.
91683         The old human_readable function has been removed;
91684         use inttostr.h instead.
91685         (human_readable, default_block_size, humblock):
91686         Use uintmax_t, not int, for block sizes.
91687         (human_readable_inexact, block_size_types): Remove.
91688         (block_size_opts): New constant.
91689         (human_options): Renamed from human_block_size, with new signature
91690         that allows block sizes up to UINTMAX_MAX.  All callers changed.
91691         * lib/human.h: Add copyright and authorship notice.
91692         Include <limits.h> and <stdbool.h> unconditionally.
91693         (PARAMS): Remove.  All uses removed.
91694         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
91695         (enum human_inexact_style): Remove tag; now a nameless enum.
91696         (human_floor, human_ceiling, human_round_to_even): Now have
91697         values 2, 0, 1 rather than -1, 1, 0.
91698         (human_group_digits, human_suppress_point_zero, human_autoscale,
91699         human_base_1024, human_SI, human_B): New constants.
91700         (human_readable_inexact, human_block_size): Remove.
91701         (human_readable): Size args are now uintmax_t, not int.
91702         (human_options): New decl.
91703
91704         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
91705         unnecessary now that we assume C89 or better.  This change
91706         imported from coreutils.
91707
91708         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91709         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
91710         in the 2003-05-30 sync from glibc.
91711
91712         .h files should stand alone, but we shouldn't include <sys/types.h>
91713         if we can get away with just <stddef.h>.
91714
91715         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
91716         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
91717         rather than <sys/types.h>, as we merely need size_t.
91718         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
91719         to get size_t.
91720         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
91721         Include <stdio.h>, to get FILE.
91722         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
91723         memcasecmp.h has included <stddef.h> and all we need is size_t.
91724         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
91725         our interface, instead of including <sys/types.h>
91726
91727 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91728
91729         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
91730         now, as glibc mktime is buggy on non-glibc systems.
91731
91732 2003-06-03  Karl Berry  <karl@gnu.org>
91733
91734         * config/config.sub: update from prep.
91735
91736 2003-06-02  Paul Eggert  <eggert@twinsun.com>
91737
91738         [from coreutils]
91739         Fix some minor time-related bugs with POSIX time arguments.
91740         Some valid time stamps were being rejected (notably -1, and
91741         time stamps before 1900 on 64-bit hosts).  And some invalid
91742         time stamps were being accepted, e.g. September 31.
91743
91744         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
91745         that we can return (time_t) -1 successfully.
91746         * lib/posixtm.c: Likewise.
91747         [HAVE_STDBOOL_H]: Include <stdbool.h>.
91748         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
91749         (t): Remove static var.
91750         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
91751         of static var.  All uses changed.
91752         (year): Do not reject years before 1900; they can occur with
91753         64-bit time_t.
91754         (posix_time_parse): Do not check for out-of-range components;
91755         that is now the caller's responsibility, since our checks were
91756         only approximations.
91757         (posixtime): Use mktime to check for out-of-range components,
91758         since it knows them exactly.
91759         If mktime returns (time_t) -1, check whether an error actually occurred
91760         by invoking localtime on -1.
91761         (main) [TEST_POSIXTIME]: Check for input data errors, and report
91762         posixtime failures better.
91763         Improve the test data (in comments only).
91764
91765 2003-06-02  Karl Berry  <karl@gnu.org>
91766
91767         * config/mkinstalldirs (version): new variable.
91768         (--version): new option.
91769         (usage): improve message.
91770
91771 2003-05-30  Karl Berry  <karl@gnu.org>
91772
91773         * lib/mktime.c: update from libc.
91774
91775 2003-05-30  Bruno Haible  <bruno@clisp.org>
91776
91777         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
91778         * config/config.rpath: Upgrade to gettext-0.12.1.
91779
91780 2003-05-30  Bruno Haible  <bruno@clisp.org>
91781
91782         * m4/gettext.m4: Upgrade to gettext-0.12.1.
91783         * m4/nls.m4: New file, from gettext-0.12.1.
91784         * m4/po.m4: New file, from gettext-0.12.1.
91785         * m4/progtest.m4: Upgrade to gettext-0.12.1.
91786
91787 2003-05-30  Bruno Haible  <bruno@clisp.org>
91788
91789         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
91790         * lib/localcharset.h: Likewise.
91791         * lib/localcharset.c: Likewise.
91792
91793 2003-05-29  Karl Berry  <karl@gnu.org>
91794
91795         * config/config.rpath: update from gettext.
91796
91797 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91798
91799         Assume the headers required for C89 freestanding compilers.
91800         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
91801         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
91802         * m4/human.m4 (gl_HUMAN): Likewise.
91803         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
91804         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
91805         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91806         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
91807         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91808         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
91809
91810 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91811
91812         Assume the headers required for C89 freestanding compilers.
91813         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
91814         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
91815         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
91816         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
91817         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
91818         define, since <limits.h> is guaranteed to do that.
91819         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
91820         * lib/exclude.c: Include <stdbool.h> unconditionally.
91821         * lib/tempname.c: Include <stddef.h> unconditionally.
91822         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
91823         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
91824         <stddef.h> does that.
91825         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
91826         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
91827         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
91828         needed.
91829         * lib/xstrtol.c: Likewise.
91830         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
91831         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
91832
91833         * lib/addext.c (addext): Use assignment rather than cast, to avoid
91834         warnings on some platforms.
91835
91836         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91837         arbitrarily.
91838
91839 2003-05-26  Jim Meyering  <jim@meyering.net>
91840
91841         Merge in a change from coreutils:
91842         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
91843         that is guaranteed to be `no'.  Use `no_such_member' to indicate
91844         that condition, rather than `-1' which is slightly misleading.
91845         Change the name of the cache variable to have the gl_ prefix.
91846         Prompted by a patch from Richard Dawe for DJGPP.
91847
91848 2003-05-24  Karl Berry  <karl@gnu.org>
91849
91850         * config/config.guess: update from prep.
91851
91852 2003-05-22  Karl Berry  <karl@gnu.org>
91853
91854         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
91855
91856 2003-05-20  Karl Berry  <karl@gnu.org>
91857
91858         * config/config.guess: update from prep.
91859
91860 2003-05-18  Karl Berry  <karl@gnu.org>
91861
91862         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
91863         might actually be set by the user.
91864
91865         * config/depcomp, install-sh, mdate-sh: update from automake.
91866
91867 2003-05-17  Bruno Haible  <bruno@clisp.org>
91868
91869         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
91870         invalid expansion for AC_EGREP_CPP.
91871         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
91872         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
91873         Suggested by Akim Demaille <akim@epita.fr> in
91874         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
91875
91876 2003-05-12  Jim Meyering  <jim@meyering.net>
91877
91878         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
91879         the space-padded-by-default conversion specifiers, %e, %k, %l.
91880
91881 2003-05-12  Bruno Haible  <bruno@clisp.org>
91882
91883         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
91884         the string is longer than 4 KB.
91885
91886 2003-05-11  Karl Berry  <karl@gnu.org>
91887
91888         * config/config.{guess,sub}: update from prep.
91889
91890 2003-05-09  Bruno Haible  <bruno@clisp.org>
91891
91892         * modules/error: Add m4/strerror_r.m4 to file list.
91893
91894 2003-05-03  Bruno Haible  <bruno@clisp.org>
91895
91896         Upgrade to Unicode-4.0.
91897         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
91898         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
91899         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
91900         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
91901         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
91902         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
91903         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
91904         Change width of U+E0100..U+E01EF from 1 to 0.
91905
91906 2003-04-25  Jim Meyering  <jim@meyering.net>
91907
91908         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
91909         of type size_t, not int.
91910
91911 2003-04-25  Bruno Haible  <bruno@clisp.org>
91912
91913         * lib/copy-file.c: Include <stddef.h>, for size_t.
91914
91915 2003-04-21  Paul Eggert  <eggert@twinsun.com>
91916
91917         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
91918         code which expansion is under static control.  Patch imported from
91919         Akim Demaille's patch to Bison; see
91920         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
91921
91922 2003-04-14  Bruno Haible  <bruno@clisp.org>
91923
91924         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
91925
91926 2003-04-11  Jim Meyering  <jim@meyering.net>
91927
91928         Merge changes from Coreutils.
91929
91930         2003-03-22  Jim Meyering  <jim@meyering.net>
91931
91932         * lib/strftime.c (widen): Cast alloca return value to proper type.
91933
91934         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
91935
91936         From GNU libc.
91937         * lib/strftime.c (my_strftime): Handle very large width
91938         specifications for numeric values correctly.  Improve checks for
91939         overflow.
91940
91941         2003-01-19  Jim Meyering  <jim@meyering.net>
91942
91943         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91944         definitions.
91945         (nl_get_alt_digit) [! defined my_strftime]: Define.
91946         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91947         _nl_get_alt_digit and _nl_get_walt_digit.
91948
91949         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91950         libc. These changes have no effect outside of _LIBC.
91951
91952 2003-04-10  Bruno Haible  <bruno@clisp.org>
91953
91954         * modules/findprog: New file.
91955         * MODULES.html.sh (func_all_modules): Add it.
91956
91957 2003-04-10  Bruno Haible  <bruno@clisp.org>
91958
91959         * m4/findprog.m4: New file.
91960         * m4/eaccess.m4: New file.
91961
91962 2003-04-10  Bruno Haible  <bruno@clisp.org>
91963
91964         * lib/findprog.h: New file, from GNU gettext.
91965         * lib/findprog.c: New file, from GNU gettext.
91966
91967 2003-04-05  Jim Meyering  <jim@meyering.net>
91968
91969         Merge changes from Coreutils.
91970
91971         * lib/exclude.h (PARAMS): Remove definition and uses.
91972         * lib/exclude.c: Remove uses of `PARAMS'.
91973
91974         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91975         Add test-cases for DOS filenames. Declare program_name.
91976         (main): Set up program_name.  Patch by Rich Dawe.
91977
91978         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91979         error from mntctl.
91980         Use mntctl's return value to drive the entry-processing loop, since
91981         we can't rely on the value of the vmt_length member in the last
91982         entry.  On some systems doing so could result in exhausting
91983         virtual memory.  Based in part on a patch from Mike Jetzer.
91984
91985 2003-04-04  Bruno Haible  <bruno@clisp.org>
91986
91987         * modules/linebreak: New file.
91988         * MODULES.html.sh (func_all_modules): Add it.
91989
91990 2003-04-04  Bruno Haible  <bruno@clisp.org>
91991
91992         * m4/linebreak.m4: New file.
91993
91994 2003-04-04  Bruno Haible  <bruno@clisp.org>
91995
91996         * lib/linebreak.h: New file, from GNU gettext.
91997         * lib/linebreak.c: New file, from GNU gettext with slight
91998         modifications.
91999         * lib/lbrkprop.h: New file, from GNU gettext.
92000
92001 2003-04-03  Bruno Haible  <bruno@clisp.org>
92002
92003         * modules/utf8-ucs4: New file.
92004         * modules/utf16-ucs4: New file.
92005         * modules/ucs4-utf8: New file.
92006         * modules/ucs4-utf16: New file.
92007         * MODULES.html.sh (func_all_modules): Add them.
92008
92009 2003-04-03  Bruno Haible  <bruno@clisp.org>
92010
92011         * m4/utf-ucs4.m4: New file.
92012         * m4/ucs4-utf.m4: New file.
92013
92014 2003-04-03  Bruno Haible  <bruno@clisp.org>
92015
92016         * lib/utf8-ucs4.h: New file, from GNU gettext.
92017         * lib/utf16-ucs4.h: New file, from GNU gettext.
92018         * lib/ucs4-utf8.h: New file, from GNU gettext.
92019         * lib/ucs4-utf16.h: New file, from GNU gettext.
92020
92021 2003-04-02  Bruno Haible  <bruno@clisp.org>
92022
92023         * modules/binary-io: New file.
92024         * MODULES.html.sh (func_all_modules): Add it.
92025
92026 2003-04-02  Bruno Haible  <bruno@clisp.org>
92027
92028         * lib/binary-io.h: New file, from GNU gettext.
92029
92030 2003-04-01  Bruno Haible  <bruno@clisp.org>
92031
92032         * modules/pathname: New file.
92033         * MODULES.html.sh (func_all_modules): Add it.
92034
92035 2003-04-01  Bruno Haible  <bruno@clisp.org>
92036
92037         * lib/pathname.h: New file, from GNU gettext.
92038         * lib/concatpath.c: New file, from GNU gettext.
92039
92040 2003-03-30  Bruno Haible  <bruno@clisp.org>
92041
92042         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
92043
92044 2003-03-30  Bruno Haible  <bruno@clisp.org>
92045
92046         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
92047         function chown() doesn't exist.
92048
92049 2003-03-28  Bruno Haible  <bruno@clisp.org>
92050
92051         * modules/copy-file: New file.
92052         * MODULES.html.sh (func_all_modules): Add it.
92053
92054 2003-03-28  Bruno Haible  <bruno@clisp.org>
92055
92056         * m4/copy-file.m4: New file.
92057
92058 2003-03-28  Bruno Haible  <bruno@clisp.org>
92059
92060         * lib/copy-file.h: New file, from GNU gettext.
92061         * lib/copy-file.c: New file, from GNU gettext.
92062
92063 2003-03-18  Jim Meyering  <jim@meyering.net>
92064
92065         * lib/quote.c (quote_n): Fix typo in comment.
92066
92067 2003-03-18  Bruno Haible  <bruno@clisp.org>
92068
92069         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
92070         checking.
92071         * m4/onceonly_2_57.m4: Likewise.
92072
92073 2003-03-17  Bruno Haible  <bruno@clisp.org>
92074
92075         * m4/onceonly.m4: Require autoconf 2.54 or newer.
92076         (m4_quote): Remove macro.
92077         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
92078
92079 2003-03-14  Jim Meyering  <jim@meyering.net>
92080
92081         Merge changes from Coreutils.
92082         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
92083         to be const, in order to avoid warnings.
92084         (obstack_room): Likewise.
92085         (obstack_empty_p): Likewise.
92086
92087 2003-03-14  Bruno Haible  <bruno@clisp.org>
92088
92089         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
92090         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
92091
92092 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92093
92094         Merge changes from Bison.
92095         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
92096         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
92097         when compiling Bison 1.875's `bitset bset = obstack_alloc
92098         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
92099         * lib/hash.c: Include <stdbool.h> unconditionally.
92100
92101 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92102
92103         * m4/onceonly.m4 (m4_quote): New macro.
92104         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
92105         Quote AC_FOREACH variable-expansions properly.
92106
92107 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92108
92109         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
92110
92111 2003-03-09  Paul Eggert  <eggert@twinsun.com>
92112
92113         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
92114         Reported by Bruce Becker; see:
92115         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
92116
92117 2003-03-03  Paul Eggert  <eggert@twinsun.com>
92118             Bruno Haible  <bruno@clisp.org>
92119
92120         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
92121         Reported by John Hughes, see
92122         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
92123
92124 2003-02-20  Bruno Haible  <bruno@clisp.org>
92125
92126         * MODULES.html.sh (func_all_modules): Add poll.
92127
92128 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92129
92130         * modules/poll: New file.
92131
92132 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92133
92134         * lib/poll_.h: New file.
92135         * lib/poll.c: New file.
92136
92137 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92138
92139         * m4/poll.m4: New file.
92140
92141 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92142
92143         * modules/mathl: New file.
92144
92145 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92146
92147         * lib/mathl.h: New file.
92148         * lib/acosl.c: New file.
92149         * lib/asinl.c: New file.
92150         * lib/atanl.c: New file.
92151         * lib/ceill.c: New file.
92152         * lib/cosl.c: New file.
92153         * lib/expl.c: New file.
92154         * lib/floorl.c: New file.
92155         * lib/frexpl.c: New file.
92156         * lib/ldexpl.c: New file.
92157         * lib/logl.c: New file.
92158         * lib/sincosl.c: New file.
92159         * lib/sinl.c: New file.
92160         * lib/sqrtl.c: New file.
92161         * lib/tanl.c: New file.
92162         * lib/trigl.c: New file.
92163         * lib/trigl.h: New file.
92164
92165 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92166
92167         * m4/mathl.m4: New file.
92168
92169 2003-02-18  Bruno Haible  <bruno@clisp.org>
92170
92171         * MODULES.html.sh (func_all_modules): Add mathl.
92172
92173 2003-02-17  Bruno Haible  <bruno@clisp.org>
92174
92175         * modules/mkdtemp: New module.
92176         * MODULES.html.sh (func_all_modules): Add it.
92177
92178 2003-02-17  Bruno Haible  <bruno@clisp.org>
92179
92180         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
92181
92182 2003-02-17  Bruno Haible  <bruno@clisp.org>
92183
92184         * lib/mkdtemp.h: New file, from GNU gettext.
92185         * lib/mkdtemp.c: New file, from GNU gettext.
92186
92187 2003-02-02  Jim Meyering  <jim@meyering.net>
92188
92189         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
92190         e.g. glibc-2.2.93.
92191
92192 2003-01-31  Bruno Haible  <bruno@clisp.org>
92193
92194         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
92195         'rpl_rename'.
92196         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
92197         'rpl_strnlen'.
92198         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
92199         'rpl_strtod'.
92200         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
92201         'rpl_utime'.
92202
92203 2003-01-31  Bruno Haible  <bruno@clisp.org>
92204
92205         * lib/rename.c: #undef rename before defining rpl_rename.
92206         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
92207
92208 2003-01-30  Bruno Haible  <bruno@clisp.org>
92209
92210         * modules/vasnprintf, modules/vasprintf: New modules.
92211         * MODULES.html.sh (func_all_modules): Add them.
92212
92213 2003-01-30  Bruno Haible  <bruno@clisp.org>
92214
92215         * m4/signed.m4: New file, from GNU gettext.
92216         * m4/longdouble.m4: New file, from GNU gettext.
92217         * m4/wchar_t.m4: New file, from GNU gettext.
92218         * m4/wint_t.m4: New file, from GNU gettext.
92219         * m4/vasnprintf.m4: New file.
92220         * m4/vasprintf.m4: New file.
92221
92222 2003-01-30  Bruno Haible  <bruno@clisp.org>
92223
92224         * lib/printf-args.h: New file, from GNU gettext.
92225         * lib/printf-args.c: New file, from GNU gettext.
92226         * lib/printf-parse.h: New file, from GNU gettext.
92227         * lib/printf-parse.c: New file, from GNU gettext.
92228         * lib/vasnprintf.h: New file, from GNU gettext.
92229         * lib/vasnprintf.c: New file, from GNU gettext.
92230         * lib/asnprintf.c: New file, from GNU gettext.
92231         * lib/vasprintf.h: New file, from GNU gettext with modifications.
92232         * lib/vasprintf.c: New file, from GNU gettext.
92233         * lib/asprintf.c: New file, from GNU gettext.
92234
92235 2003-01-29  Bruno Haible  <bruno@clisp.org>
92236
92237         * modules/stpncpy: New module.
92238         * MODULES.html.sh (func_all_modules): Add it.
92239
92240 2003-01-29  Bruno Haible  <bruno@clisp.org>
92241
92242         * m4/stpncpy.m4: New file.
92243
92244 2003-01-29  Bruno Haible  <bruno@clisp.org>
92245
92246         * lib/stpncpy.h: New file, from GNU gettext with modifications.
92247         * lib/stpncpy.c: New file, from GNU gettext with modifications.
92248
92249 2003-01-28  Bruno Haible  <bruno@clisp.org>
92250
92251         * modules/c-ctype: New module.
92252         * MODULES.html.sh (func_all_modules): Add it.
92253
92254 2003-01-28  Bruno Haible  <bruno@clisp.org>
92255
92256         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
92257         Paul Eggert.
92258         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
92259         Paul Eggert.
92260
92261 2003-01-27  Bruno Haible  <bruno@clisp.org>
92262
92263         * modules/xsetenv: New module.
92264         * MODULES.html.sh (func_all_modules): Add it.
92265
92266 2003-01-27  Bruno Haible  <bruno@clisp.org>
92267
92268         * lib/xsetenv.h: New file, from GNU gettext.
92269         * lib/xsetenv.c: New file, from GNU gettext.
92270
92271 2003-01-23  Jim Meyering  <jim@meyering.net>
92272
92273         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
92274         from working on systems without dirfd (at least Irix and OSF1/Tru64).
92275
92276 2003-01-23  Bruno Haible  <bruno@clisp.org>
92277
92278         * modules/minmax: New module.
92279         * MODULES.html.sh (func_all_modules): Add it.
92280
92281 2003-01-23  Bruno Haible  <bruno@clisp.org>
92282
92283         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
92284         Eggert.
92285
92286 2003-01-22  Bruno Haible  <bruno@clisp.org>
92287
92288         * modules/exit: New module.
92289         * MODULES.html.sh (func_all_modules): Add it.
92290
92291 2003-01-22  Bruno Haible  <bruno@clisp.org>
92292
92293         * lib/exit.h: New file, from GNU gettext.
92294
92295 2003-01-19  Bruno Haible  <bruno@clisp.org>
92296
92297         * gnulib-tool: Recognize option --extract-maintainer.
92298         (func_get_maintainer): New function.
92299         * modules/*: Add Maintainer entry.
92300
92301 2003-01-16  Jim Meyering  <jim@meyering.net>
92302
92303         * m4/regex.m4: The `regex' struct is both input and output.
92304         Initialize it before each use.  Patch by Tim Waugh.
92305
92306 2003-01-16  Bruno Haible  <bruno@clisp.org>
92307
92308         * MODULES.html.sh: Add a table of contents. Add the module name as
92309         leftmost column. Add hyperlinks.
92310
92311 2003-01-15  Bruno Haible  <bruno@clisp.org>
92312
92313         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
92314
92315 2003-01-15  Bruno Haible  <bruno@clisp.org>
92316
92317         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
92318         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
92319         suffix.
92320
92321 2003-01-15  Bruno Haible  <bruno@clisp.org>
92322
92323         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
92324
92325 2003-01-15  Bruno Haible  <bruno@clisp.org>
92326
92327         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
92328         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
92329
92330 2003-01-14  Jim Meyering  <jim@meyering.net>
92331
92332         * lib/same.c (same_name): Tweak a comment.
92333
92334 2003-01-14  Bruno Haible  <bruno@clisp.org>
92335
92336         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
92337         when a string comparison is sufficient.
92338
92339 2003-01-14  Bruno Haible  <bruno@clisp.org>
92340
92341         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
92342         'unsigned int'.
92343
92344 2003-01-14  Bruno Haible  <bruno@clisp.org>
92345
92346         * lib/hash-pjw.c: Add comment about low quality of this function.
92347
92348 2003-01-13  Bruno Haible  <bruno@clisp.org>
92349
92350         * modules/stpcpy: Distribute lib/stpcpy.h.
92351         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
92352
92353 2003-01-13  Bruno Haible  <bruno@clisp.org>
92354
92355         * modules/*: Add a description.
92356         * modules/strpbrk: Fix Makefile.am snippet.
92357         * modules/strtoimax: Fix dependencies.
92358         * modules/strtoumax: Likewise.
92359
92360 2003-01-13  Bruno Haible  <bruno@clisp.org>
92361
92362         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
92363         * modules/alloca (Makefile.am): All object files depend on alloca.h.
92364         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
92365
92366 2003-01-13  Bruno Haible  <bruno@clisp.org>
92367
92368         * gnulib-tool (func_create_testdir): Store config/* files in the main
92369         directory.
92370         * config.rpath: Move to ...
92371         * config/config.rpath: ... here.
92372         * modules/gettext: Contains config/config.rpath, not config.rpath.
92373         * modules/iconv: Likewise.
92374
92375 2003-01-12  Paul Eggert  <eggert@twinsun.com>
92376
92377         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
92378         to avoid collisions with libcurses and libreadline.
92379
92380         * m4/getstr.m4: Remove.
92381         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
92382
92383 2003-01-12  Paul Eggert  <eggert@twinsun.com>
92384
92385         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
92386         to avoid collisions with libcurses and libreadline.
92387
92388         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
92389         * lib/getstr.h, getstr.c: Remove.
92390         * lib/getline.c: Include "getline.h", to check interface.
92391         Move body of old getstr.c here: this defines MIN_CHUNK and
92392         declares getdelim2, which is renamed from getstr.
92393         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
92394
92395         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
92396         All uses changed.
92397         * lib/linebuffer.h: Likewise.
92398         (readline): Remove backward-compatibility macro.
92399
92400 2003-01-12  Paul Eggert  <eggert@twinsun.com>
92401
92402         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
92403         to avoid collisions with libcurses and libreadline.
92404         * getstr: Remove.
92405         * MODULES.html.sh: Remove getstr.
92406         * modules/getline: Depend on unlocked-io, not getstr.
92407
92408 2003-01-12  Jim Meyering  <jim@meyering.net>
92409
92410         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
92411
92412 2003-01-10  Bruno Haible  <bruno@clisp.org>
92413
92414         * modules/alloca: Change Makefile.am requirements. Simplify Include
92415         requirements. Add lib/alloca_.h to file list.
92416
92417 2003-01-10  Bruno Haible  <bruno@clisp.org>
92418
92419         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
92420
92421 2003-01-10  Bruno Haible  <bruno@clisp.org>
92422
92423         * lib/alloca_.h: New file.
92424         * lib/getdate.y: Unconditionally include alloca.h.
92425         * lib/makepath.c: Likewise.
92426         * lib/setenv.c: Likewise.
92427         * lib/userspec.c: Likewise.
92428
92429 2003-01-09  Karl Berry  <karl@gnu.org>
92430
92431         * MODULES.html.sh: include `dirname $0` in PATH, to find
92432         gnulib-tool.
92433
92434 2003-01-09  Bruno Haible  <bruno@clisp.org>
92435
92436         * modules/stdbool: Change configure.ac, Makefile.am requirements.
92437         Simplify Include requirements. Add lib/stdbool.h.in to file list.
92438
92439 2003-01-09  Bruno Haible  <bruno@clisp.org>
92440
92441         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
92442
92443 2003-01-09  Bruno Haible  <bruno@clisp.org>
92444
92445         * lib/stdbool.h.in: New file.
92446
92447 2003-01-09  Bruno Haible  <bruno@clisp.org>
92448
92449         * gnulib-tool (func_all_modules): Ignore files ending in ~.
92450         * MODULES.html.sh: Likewise.
92451
92452 2003-01-08  Jim Meyering  <jim@meyering.net>
92453
92454         * lib/full-write.c: Undefine and define-away `const' after inclusion
92455         of errno.h, not before.  Suggestion from Bruno Haible.
92456
92457 2003-01-08  Bruno Haible  <bruno@clisp.org>
92458
92459         * modules/full-read: Depend on full-write.
92460
92461 2003-01-08  Bruno Haible  <bruno@clisp.org>
92462
92463         * lib/safe-read.c: Include specification header first, to ensure its
92464         selfcontainedness.
92465         * lib/full-write.c: Likewise.
92466
92467 2003-01-07  Jim Meyering  <jim@meyering.net>
92468
92469         * lib/full-write.c: Rework so that it may serve to define full_read,
92470         too.
92471         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
92472
92473 2003-01-07  Bruno Haible  <bruno@clisp.org>
92474
92475         * lib/strtoimax.c: Include <stdint.h> as an alternative to
92476         <inttypes.h>.
92477         * lib/xstrtol.h: Likewise.
92478         * lib/xstrtoimax.c: Likewise.
92479         * lib/xstrtoumax.c: Likewise.
92480         * lib/human.h: Likewise.
92481
92482         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
92483         on systems that have <inttypes.h> but not <stdint.h>.
92484
92485 2003-01-07  Bruno Haible  <bruno@clisp.org>
92486
92487         * MODULES.html.sh: Add copyright notice.
92488         (missed_files): Omit CVS directory entries.
92489         (func_module): Make it work with sed-3.02.
92490         * MODULES.txt: Remove file.
92491
92492 2003-01-06  Jim Meyering  <jim@meyering.net>
92493
92494         * lib/version-etc.c: Update year in translatable copyright string.
92495
92496 2003-01-03  Karl Berry  <karl@gnu.org>
92497
92498         * config/config.{guess,sub}: update from prep.
92499
92500 2003-01-02  Karl Berry  <karl@gnu.org>
92501
92502         * doc/COPYING.DOC: belatedly updated to 1.2.
92503
92504 2003-01-01  Karl Berry  <karl@gnu.org>
92505
92506         * gnulib-tool (func_verify_module): report module name $module in
92507         error message, not $1.
92508         * gnulib-tool (create-testdir): don't complain if destdir couldn't
92509         be created, only if it doesn't exist.
92510         * gnulib-tool (last_checkin_date): don't expand the $Date here.
92511
92512 2002-12-31  Paul Eggert  <eggert@twinsun.com>
92513
92514         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
92515
92516 2002-12-31  Paul Eggert  <eggert@twinsun.com>
92517
92518         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
92519         memcmp if strcoll doesn't work.
92520
92521 2002-12-31  Bruno Haible  <bruno@clisp.org>
92522
92523         * lib/utime.c (utime_null): No need to call ftruncate if the file was
92524         nonempty.
92525
92526 2002-12-31  Bruno Haible  <bruno@clisp.org>
92527
92528         * lib/memcoll.c (STRCOLL): New macro.
92529         (memcoll): Use it.
92530
92531 2002-12-31  Bruno Haible  <bruno@clisp.org>
92532
92533         * lib/localcharset.h: New file.
92534         * lib/localcharset.c: Include it.
92535         * lib/unicodeio.c: Likewise.
92536
92537 2002-12-31  Bruno Haible  <bruno@clisp.org>
92538
92539         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
92540         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
92541
92542 2002-12-31  Bruno Haible  <bruno@clisp.org>
92543
92544         * lib/getline.h: Include <stddef.h>, for size_t.
92545
92546         * lib/unicodeio.h: Include <stddef.h>, for size_t.
92547         * lib/unicodeio.c: Don't include <stddef.h>.
92548
92549 2002-12-31  Bruno Haible  <bruno@clisp.org>
92550
92551         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
92552         HAVE_TM_ZONE.
92553
92554 2002-12-24  Karl Berry  <karl@gnu.org>
92555
92556         * config/config.guess: update from prep.
92557
92558 2002-12-24  Bruno Haible  <bruno@clisp.org>
92559
92560         General infrasructure.
92561         * m4/README: Rewritten.
92562         * m4/onceonly.m4: New file.
92563         * m4/onceonly_2_57.m4: New file.
92564
92565         Module atexit.
92566         * m4/atexit.m4: New file.
92567
92568         Module strtod.
92569         * m4/strtod.m4: New file.
92570
92571         Module strtol.
92572         * m4/strtol.m4: New file.
92573
92574         Module strtoul.
92575         * m4/strtoul.m4: New file.
92576
92577         Module memchr.
92578         * m4/memchr.m4: New file.
92579
92580         Module memcmp.
92581         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
92582         (jm_FUNC_MEMCMP): Invoke it.
92583
92584         Module memcpy.
92585         * m4/memcpy.m4: New file.
92586
92587         Module memmove.
92588         * m4/memmove.m4: New file.
92589
92590         Module memset.
92591         * m4/memset.m4: New file.
92592
92593         Module strcspn.
92594         * m4/strcspn.m4: New file.
92595
92596         Module strpbrk.
92597         * m4/strpbrk.m4: New file.
92598
92599         Module strstr.
92600         * m4/strstr.m4: New file.
92601
92602         Module strerror.
92603         * m4/strerror.m4: New file.
92604
92605         Module mktime.
92606         * m4/mktime.m4: Renamed from jm-mktime.m4.
92607         (gl_PREREQ_MKTIME): New macro.
92608         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
92609
92610         Module malloc.
92611         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
92612         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
92613         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
92614
92615         Module realloc.
92616         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
92617         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
92618         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
92619
92620         Module strftime.
92621         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
92622         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
92623         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
92624         gl_TM_GMTOFF.
92625         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
92626
92627         Module xalloc.
92628         * m4/xalloc.m4: New file.
92629
92630         Module alloca.
92631         * m4/alloca.m4: New file.
92632
92633         Module putenv.
92634         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
92635         (jm_FUNC_PUTENV): Invoke it.
92636
92637         Module setenv.
92638         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
92639         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
92640         when invoked twice.
92641         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
92642         gt_FUNC_SETENV.
92643
92644         Module memrchr.
92645         * m4/memrchr.m4: New file.
92646
92647         Module stpcpy.
92648         * m4/stpcpy.m4: New file.
92649
92650         Module strcase.
92651         * m4/strcase.m4: New file.
92652
92653         Module strdup.
92654         * m4/strdup.m4: New file.
92655
92656         Module strnlen.
92657         * m4/strnlen.m4: New file.
92658
92659         Module strndup.
92660         * m4/strndup.m4: New file.
92661
92662         Module xstrtod.
92663         * m4/xstrtod.m4: New file.
92664
92665         Module xstrtol.
92666         * m4/xstrtol.m4: New file.
92667
92668         Module getdate.
92669         * m4/getdate.m4: New file.
92670
92671         Module unlocked-io.
92672         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
92673         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
92674         * m4/jm-glibc-io.m4n: Remove file.
92675
92676         Module long-options.
92677         * m4/long-options.m4: New file.
92678
92679         Module md5.
92680         * m4/md5.m4: New file.
92681
92682         Module sha.
92683         * m4/sha.m4: New file.
92684
92685         Module getstr.
92686         * m4/getstr.m4: New file.
92687
92688         Module getline.
92689         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
92690         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
92691         <sys/types.h>, for size_t. Use the function name gnu_getline, not
92692         simply getline. Infoke gl_PREREQ_GETLINE.
92693
92694         Module obstack.
92695         * m4/obstack.m4: New file.
92696
92697         Module hash.
92698         * m4/hash.m4: New file.
92699
92700         Module readtokens.
92701         * m4/readtokens.m4: New file.
92702
92703         Module strverscmp.
92704         * m4/strverscmp.m4: New file.
92705
92706         Module stdbool.
92707         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
92708         OSF/1.
92709
92710         Module strtoll.
92711         * m4/strtoll.m4: New file.
92712
92713         Module strtoull.
92714         * m4/strtoull.m4: New file.
92715
92716         Module strtoimax.
92717         * m4/strtoimax.m4: New file.
92718
92719         Module strtoumax.
92720         * m4/strtoumax.m4: New file.
92721
92722         Module xstrtoimax.
92723         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
92724         jm_AC_PREREQ_XSTRTOIMAX.
92725         Moved the strtol prerequisites to strtol.m4.
92726         Moved the strtoll prerequisites to strtoll.m4.
92727         Moved the strtoimax prerequisites to strtoimax.m4.
92728
92729         Module xstrtoumax.
92730         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
92731         jm_AC_PREREQ_XSTRTOUMAX.
92732         Moved the strtoul prerequisites to strtoul.m4.
92733         Moved the strtoull prerequisites to strtoull.m4.
92734         Moved the strtoumax prerequisites to strtoumax.m4.
92735
92736         Module chown.
92737         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
92738         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
92739
92740         Module dup2.
92741         * m4/dup2.m4: New file.
92742
92743         Module ftruncate.
92744         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
92745         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
92746
92747         Module getgroups.
92748         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
92749         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
92750
92751         Module gettimeofday.
92752         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
92753         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
92754         gl_PREREQ_GETTIMEOFDAY.
92755
92756         Module mkdir.
92757         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
92758         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
92759
92760         Module mkstemp.
92761         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
92762         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
92763         jm_AC_TYPE_UINTMAX_T.
92764         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
92765
92766         Module stat.
92767         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
92768         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
92769
92770         Module lstat.
92771         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
92772         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
92773
92774         Module timespec.
92775         * m4/timespec.m4 (gl_TIMESPEC): New macro.
92776         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
92777         * m4/st_mtim.m4: Indentation.
92778
92779         Module nanosleep.
92780         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
92781         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
92782         gl_PREREQ_NANOSLEEP.
92783
92784         Module regex.
92785         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
92786         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
92787         (gl_REGEX): New macro.
92788
92789         Module rename.
92790         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
92791         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
92792
92793         Module rmdir.
92794         * m4/rmdir.m4: New file.
92795
92796         Module utime.
92797         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
92798         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
92799         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
92800
92801         Module dirname.
92802         * m4/dirname.m4: New file.
92803
92804         Module getopt.
92805         * m4/getopt.m4: New file.
92806
92807         Module unistd-safer.
92808         * m4/unistd-safer.m4: New file.
92809
92810         Module fnmatch.
92811         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
92812         declaration.
92813         (gl_PREREQ_FNMATCH_EXTRA): New macro.
92814         (gl_FUNC_FNMATCH_POSIX): New macro.
92815         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
92816         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
92817         simply fnmatch.
92818
92819         Module exclude.
92820         * m4/exclude.m4: New file.
92821
92822         Module human.
92823         * m4/human.m4: New file.
92824
92825         Module acl.
92826         * m4/acl.m4: Nop.
92827
92828         Module backupfile.
92829         * m4/backupfile.m4: New file.
92830         * m4/d-ino.m4: Indentation.
92831
92832         Module fsusage.
92833         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
92834         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
92835         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
92836
92837         Module dirfd.
92838         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
92839         requirements.
92840
92841         Module euidaccess.
92842         * m4/euidaccess.m4: New file.
92843
92844         Module file-type.
92845         * m4/file-type.m4: New file.
92846
92847         Module fileblocks.
92848         * m4/fileblocks.m4: New file.
92849
92850         Module filemode.
92851         * m4/filemode.m4: New file.
92852
92853         Module isdir.
92854         * m4/isdir.m4: New file.
92855
92856         Module lchown.
92857         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
92858         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
92859
92860         Module makepath.
92861         * m4/makepath.m4: New file.
92862
92863         Module modechange.
92864         * m4/modechange.m4: New file.
92865
92866         Module mountlist.
92867         * m4/mountlist.m4: New file.
92868         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
92869         Indentation.
92870
92871         Module path-concat.
92872         * m4/path-concat.m4: New file.
92873
92874         Module pathmax.
92875         * m4/pathmax.m4: New file.
92876
92877         Module same.
92878         * m4/same.m4: New file.
92879
92880         Module save-cwd.
92881         * m4/save-cwd.m4: New file.
92882
92883         Module savedir.
92884         * m4/savedir.m4: New file.
92885
92886         Module xgetcwd.
92887         * m4/xgetcwd.m4: New file.
92888         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
92889
92890         Module xreadlink.
92891         * m4/xreadlink.m4: New file.
92892
92893         Module safe-read.
92894         * m4/safe-read.m4: New file.
92895
92896         Module safe-write.
92897         * m4/safe-write.m4: New file.
92898
92899         Module closeout.
92900         * m4/closeout.m4: New file.
92901
92902         Module stdio-safer.
92903         * m4/stdio-safer.m4: New file.
92904
92905         Module getpass.
92906         * m4/getpass.m4: New file.
92907
92908         Module getugroups.
92909         * m4/getugroups.m4: New file.
92910
92911         Module group-member.
92912         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
92913         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
92914
92915         Module idcache.
92916         * m4/idcache.m4: New file.
92917
92918         Module userspec.
92919         * m4/userspec.m4: New file.
92920
92921         Module gettime.
92922         * m4/clock_time.m4: New file.
92923         * m4/gettime.m4: New file.
92924
92925         Module settime.
92926         * m4/settime.m4: New file.
92927
92928         Module posixtm.
92929         * m4/posixtm.m4: New file.
92930
92931         Module gethostname.
92932         * m4/gethostname.m4: New file.
92933
92934         Module canon-host.
92935         * m4/canon-host.m4: New file.
92936
92937         Module gettext.
92938         * m4/codeset.m4: New file, from gettext-0.11.5.
92939         * m4/gettext.m4: New file, from gettext-0.11.5.
92940         * m4/glibc21.m4: New file, from gettext-0.11.5.
92941         * m4/iconv.m4: New file, from gettext-0.11.5.
92942         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92943         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92944         * m4/inttypes.m4: New file, from gettext-0.11.5.
92945         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92946         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92947         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92948         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92949         * m4/lib-link.m4: New file, from gettext-0.11.5.
92950         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92951         * m4/progtest.m4: New file, from gettext-0.11.5.
92952         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92953         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92954         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92955
92956         Module localcharset.
92957         * m4/localcharset.m4: New file.
92958
92959         Module hard-locale.
92960         * m4/hard-locale.m4: New file.
92961
92962         Module mbswidth.
92963         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92964         onceonly macros.
92965         * m4/mbrtowc.m4: Add comment.
92966
92967         Module memcasecmp.
92968         * m4/memcasecmp.m4: New file.
92969
92970         Module memcoll.
92971         * m4/memcoll.m4: New file.
92972
92973         Module unicodeio.
92974         * m4/unicodeio.m4: New file.
92975
92976         Module rpmatch.
92977         * m4/rpmatch.m4: New file.
92978
92979         Module yesno.
92980         * m4/yesno.m4: New file.
92981
92982         Module exitfail.
92983         * m4/exitfail.m4: New file.
92984
92985         Module c-stack.
92986         * m4/c-stack.m4 (gl_C_STACK): New macro.
92987         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92988
92989         Module error.
92990         * m4/error.m4 (gl_ERROR): New macro.
92991         (jm_PREREQ_ERROR): Use onceonly macros.
92992
92993         Module fatal.
92994         * m4/fatal.m4: New file.
92995
92996         Module getloadavg.
92997         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92998         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92999
93000         Module getpagesize.
93001         * m4/getpagesize.m4: New file.
93002
93003         Module getusershell.
93004         * m4/getusershell.m4: New file.
93005
93006         Module physmem.
93007         * m4/physmem.m4: New file.
93008
93009         Module posixver.
93010         * m4/posixver.m4: New file.
93011
93012         Module quotearg.
93013         * m4/quotearg.m4: New file.
93014
93015         Module quote.
93016         * m4/quote.m4: New file.
93017
93018         Module readutmp.
93019         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
93020
93021         Module sig2str.
93022         * m4/sig2str.m4: New file.
93023
93024         Other.
93025         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
93026         ulonglong.m4.
93027         * m4/intmax_t.m4: New file.
93028         * m4/d-type.m4: Indentation.
93029         * m4/jm-macros.m4: Update.
93030         * m4/prereq.m4 (jm_PREREQ): Update.
93031         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
93032         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
93033         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
93034         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
93035         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
93036         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
93037         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
93038         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
93039         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
93040         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
93041         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
93042         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
93043         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
93044         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
93045         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
93046         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
93047         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
93048         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
93049         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
93050
93051 2002-12-24  Bruno Haible  <bruno@clisp.org>
93052
93053         * MODULES.txt: Update according to m4/ changes.
93054
93055         Module gettext.
93056         * config.rpath: New file, from gettext-0.11.5.
93057
93058         * modules/*: New module descriptions.
93059         * gnulib-tool: New file.
93060         * MODULES.html.sh: New file.
93061
93062 2002-12-21  Karl Berry  <karl@gnu.org>
93063
93064         * doc/fdl.texi: update to version 1.2.
93065
93066 2002-12-19  Karl Berry  <karl@gnu.org>
93067
93068         * config/config.guess: update from prep.
93069
93070 2002-12-18  Bruno Haible  <bruno@clisp.org>
93071
93072         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
93073         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
93074
93075 2002-12-17  Bruno Haible  <bruno@clisp.org>
93076
93077         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
93078         stdlib.h, string.h.
93079
93080 2002-12-17  Bruno Haible  <bruno@clisp.org>
93081
93082         * lib/canon-host.c (strdup): Remove unused declaration.
93083
93084         * lib/fsusage.c: Include full_read.h.
93085         (get_fs_usage): Use full_read instead of safe_read.
93086
93087         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
93088
93089 2002-12-12  Karl Berry  <karl@gnu.org>
93090
93091         * config/config.guess: update from prep.
93092
93093 2002-12-11  Bruno Haible  <bruno@clisp.org>
93094
93095         * m4/setenv.m4: New file, from gettext-0.11.5.
93096
93097 2002-12-11  Bruno Haible  <bruno@clisp.org>
93098
93099         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
93100         not unsetenv().
93101         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
93102         modifications:
93103
93104         2002-12-11  Bruno Haible  <bruno@clisp.org>
93105
93106                 * setenv.c (alloca): Fall back to malloc.
93107                 (freea): New macro.
93108                 (setenv): Use freea() to free memory allocated with alloca().
93109
93110         2002-11-13  Bruno Haible  <bruno@clisp.org>
93111
93112                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
93113                 function declarations.
93114                 * unsetenv.c (unsetenv): Likewise.
93115
93116         2002-03-04  Bruno Haible  <bruno@clisp.org>
93117
93118                 Portability to AIX 4.3.3.
93119                 * unsetenv.c: New file, extracted from setenv.c.
93120                 * setenv.c: Move the unsetenv() function to unsetenv.c.
93121
93122         2001-12-20  Bruno Haible  <bruno@clisp.org>
93123
93124                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
93125                 use malloc instead. For SunOS 4.
93126
93127         2001-12-11  Bruno Haible  <bruno@clisp.org>
93128
93129                 * setenv.c: Declare alloca.
93130                 (compar_fn_t): New typedef.
93131                 (KNOWN_VALUE, STORE_VALUE): Use it.
93132
93133         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
93134         setenv.h.
93135
93136 2002-12-10  Paul Eggert  <eggert@twinsun.com>
93137
93138         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
93139         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
93140         Choose values that are less likely to collide with system fnmatch
93141         options.
93142         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
93143         defined (e.g., a pure POSIX system).
93144         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
93145         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
93146
93147 2002-12-06  Paul Eggert  <eggert@twinsun.com>
93148
93149         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
93150         a pain in practice to deal with generated m4 files.  This change
93151         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
93152
93153         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
93154         and jm-glibc-io.m4, as they are no longer a special case.
93155         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
93156         kludge and the auto-generation stuff.  Check only whether the
93157         functions are declared, not whether they exist, since older hosts
93158         that don't declare the functions can't use the optimization anyway.
93159
93160 2002-12-06  Jim Meyering  <jim@meyering.net>
93161
93162         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
93163
93164         Merge in changes from libc's misc/error.c, in preparation
93165         for the merge of gnulib's changes back into libc.
93166
93167         * lib/error.c (_): Define only if not already defined.
93168         Move definition to follow all #include directives.
93169         Include unlocked-io.h only if !_LIBC.
93170         [_LIBC]: Include <libio/libioP.h>.
93171         [USE_IN_LIBIO]: Include <libio/iolibio.h>
93172         (fflush): Tweak definition to use INTUSE.
93173         (putc): Define.
93174
93175 2002-12-05  Paul Eggert  <eggert@twinsun.com>
93176
93177         * lib/alloca.c [defined emacs]: Include "lisp.h".
93178         (xalloc_die) [defined emacs]: New macro.
93179         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
93180         [! defined emacs]: Include <xalloc.h>.
93181         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
93182         (pointer): Typedef to POINTER_TYPE *.
93183         (malloc): Remove decl; we now always use xmalloc.
93184         (alloca): Use old-style definition, since Emacs needs this.
93185         Check for arithmetic overflow when computing combined size.
93186
93187 2002-12-04  Paul Eggert  <eggert@twinsun.com>
93188
93189         Do not generate unlocked-io.h automatically, since it's easier to
93190         maintain it by hand.
93191
93192         * lib/unlocked-io.h: New file, from GNU diffutils,
93193         but with proper copyright notice and attribution.
93194         * lib/gen-uio: Remove.
93195         * lib/Makefile.am: Add copyright notice.
93196         (libfetish_a_SOURCES): Add unlocked-io.h.
93197         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
93198         (DISTCLEANFILES, io_functions): Remove macros.
93199         (EXTRA_DIST): Remove gen_uio.
93200         (unlocked-io.h): Remove rule.
93201
93202 2002-12-04  Jim Meyering  <jim@meyering.net>
93203
93204         Reflect the fact that stat.c and lstat.c are no longer generated.
93205         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
93206         (DISTCLEANFILES): Likewise.
93207         (EXTRA_DIST): Likewise.
93208         (all_local): Don't depend on stat.c or lstat.c.
93209         (stat.c, lstat.c): Remove rules.
93210         (EXTRA_DIST): Remove xstat.in.
93211
93212         * lib/xstat.in: Remove file.  Contents moved into stat.c.
93213         * lib/stat.c: New file.  Contents mostly from xstat.in.
93214         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
93215         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
93216
93217         * lib/safe-read.c: Rework so that it may serve to define safe_write,
93218         too.
93219         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
93220
93221 2002-12-03  Jim Meyering  <jim@meyering.net>
93222
93223         * lib/safe-read.c, safe-write.c: Change variable names and comments,
93224         but not semantics, to minimize the differences between these two files.
93225         (safe_read): Change comment to mention SAFE_READ_ERROR.
93226
93227         * lib/safe-read.c (IS_EINTR): Define.
93228         (safe_read): Use IS_EINTR in place of in-function cpp directives.
93229
93230 2002-12-02  Jim Meyering  <jim@meyering.net>
93231
93232         * lib/safe-read.c (EINTR): Define.
93233         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93234         (INT_MAX): Provide fallback.
93235         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
93236
93237         * lib/safe-read.h (SAFE_READ_ERROR): Define.
93238
93239 2002-12-02  Bruno Haible  <bruno@clisp.org>
93240
93241         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
93242         Define, taken from safe-read.c.
93243         (INT_MAX): Provide fallback.
93244         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
93245         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
93246
93247         * lib/safe-read.c (EINTR): Remove definition.
93248         (safe_read): Don't use EINTR if it is absent.
93249
93250 2002-12-01  Jim Meyering  <jim@meyering.net>
93251
93252         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
93253         zero.
93254         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
93255
93256 2002-11-27  Paul Eggert  <eggert@twinsun.com>
93257
93258         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
93259         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
93260         with `if (! (value < limit)) abort ();', for readability.
93261
93262 2002-11-26  Karl Berry  <karl@gnu.org>
93263
93264         * lib/strdup.c: copy from libc again, with jim's ok.
93265         * lib/.cppi-disable: re-add strdup.c
93266
93267 2002-11-25  Karl Berry  <karl@gnu.org>
93268
93269         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
93270         instead of "strtol.c".
93271
93272 2002-11-25  Karl Berry  <karl@gnu.org>
93273
93274         * config/install-sh: update from automake for variable quoting, $0 in
93275         error msgs, etc.
93276
93277         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
93278         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
93279         entry.
93280
93281 2002-11-25  Jim Meyering  <jim@meyering.net>
93282
93283         * lib/mktime.c: Sync from libc, now that it has the latest fix.
93284
93285 2002-11-24  Karl Berry  <karl@gnu.org>
93286
93287         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
93288         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
93289
93290 2002-11-24  Jim Meyering  <jim@meyering.net>
93291
93292         Update from coreutils:
93293
93294         * lib/mktime.c: Merge in changes from libc.
93295
93296         Avoid a link-time failure on some Linux systems.
93297         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
93298         (otherwise).
93299         (__mon_yday): Declare with the STATIC attribute.
93300         (__mktime_internal): Likewise.
93301         Based on a report from Greg Schafer.
93302
93303 2002-11-23  Jim Meyering  <jim@meyering.net>
93304
93305         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
93306         Use `unsigned', not `int', as type of index.
93307
93308         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
93309
93310         * lib/fsusage.c: Remove unneeded parentheses around operands of
93311         `defined'.
93312
93313 2002-11-22  Paul Eggert  <eggert@twinsun.com>
93314
93315         * lib/quotearg.h: Allow multiple inclusion by surrounding with
93316         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
93317         so that we can be included first.
93318         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
93319         * lib/quotearg.c: Include quotearg.h immediately after config.h.
93320         No need to include stddef.h or sys/types.h any more.
93321         Surround local include files with "", not "<>".
93322         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
93323         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
93324         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
93325         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
93326         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
93327         (ISPRINT): Remove; no longer needed now that we assume C89.
93328
93329         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
93330         Preserve errno.
93331
93332         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
93333         quotearg_char): Use SIZE_MAX rather than
93334         (size_t) -1 when we are talking about "infinity".
93335
93336         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
93337
93338 2002-11-22  Paul Eggert  <eggert@twinsun.com>
93339
93340         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
93341         hint that one should use `if (! x) abort ();' rather than `assert
93342         (x);', and anyway it's one less thing to worry about configuring.
93343         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
93344         hash_rehash, hash_insert): Use abort rather than assert.
93345
93346 2002-11-22  Bruno Haible  <bruno@clisp.org>
93347
93348         * lib/safe-read.h: Assume C89. Add comments.
93349         (safe_read): Change return type to size_t.
93350         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
93351         byte counts > SSIZE_MAX correctly.
93352         * lib/safe-write.h: New file.
93353         * lib/safe-write.c: New file.
93354         * lib/full-read.h: New file.
93355         * lib/full-read.c: New file.
93356         * lib/full-write.h: Assume C89. Add comments.
93357         * lib/full-write.c: Include safe-write.h.
93358         (full_write): Rewritten to use safe_write.
93359         Suggested by Jim Meyering and Paul Eggert.
93360
93361 2002-11-21  Jim Meyering  <jim@meyering.net>
93362
93363         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
93364
93365         Merge in changes from the coreutils.
93366
93367         2002-09-25  Paul Eggert  <eggert@twinsun.com>
93368         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
93369         <stdint.h>.
93370         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
93371         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
93372         int.  Work more efficiently if X is the same width as uintmax_t.
93373         Do not compare X to -1, to avoid bogus compiler warning.
93374         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
93375         Don't assume that f_frsize and f_bsize are the same type.
93376
93377         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
93378         warning on FreeBSD.
93379
93380         * lib/makepath.c (make_path): Restore umask *before* creating the final
93381         component.
93382         (make_path): Minor reformatting.
93383
93384         * lib/xmalloc.c: Adjust to work with new autoconf macros,
93385         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
93386         HAVE_MALLOC/HAVE_REALLOC.
93387
93388         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
93389         dummy ones.  At least on GNU/Linux systems, `auto' means something
93390         else.
93391         From Michael Stone.
93392
93393 2002-11-21  Bruno Haible  <bruno@clisp.org>
93394
93395         Remove case insensitive option matching.
93396         * lib/argmatch.h (argcasematch): Remove declaration.
93397         (ARGCASEMATCH): Remove macro.
93398         (__xargmatch_internal): Remove case_sensitive argument.
93399         (XARGMATCH): Update.
93400         (XARGCASEMATCH): Remove macro.
93401         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
93402         case_sensitive argument.
93403         (argcasematch): Remove function.
93404         (__xargmatch_internal): Remove case_sensitive argument.
93405         (main): Use XARGMATCH instead of XARGCASEMATCH.
93406
93407         * lib/xmalloc.c: Change compile-time error message. Add comment about
93408         required autoconf version.
93409
93410 2002-11-20  Paul Eggert  <eggert@twinsun.com>
93411
93412         Merge argmatch cleanups from Bison.  Assume C89.
93413
93414         * lib/argmatch.c: Include config.h here, not in argmatch.h.
93415         Include stdlib.h, for EXIT_FAILURE.
93416         Always include <string.h>, since we assume C89.
93417         (EXIT_FAILURE): Remove pre-C89 bug workaround.
93418         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
93419         Include <stddef.h> instead, since it's all we need for size_t.
93420         (PARAMS): Remove.  All uses removed.
93421         (ARRAY_CARDINALITY): Do not bother to #undef.
93422         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
93423         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
93424         Remove unnecessary parentheses.
93425         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
93426         Insert necessary parentheses.
93427         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
93428         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
93429
93430 2002-11-19  Bruno Haible  <bruno@clisp.org>
93431
93432         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
93433         * lib/mbswidth.h: Include <stddef.h>, for size_t.
93434
93435         * lib/mbswidth.h (PARAMS): Remove macro.
93436         (mbswidth, mbsnwidth): Use ANSI C function declarations.
93437         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
93438
93439         * lib/gcd.h (PARAMS): Remove macro.
93440         (gcd): Use ANSI C function declarations.
93441         * lib/gcd.c (gcd): Likewise.
93442
93443 2002-11-15  Bruno Haible  <bruno@clisp.org>
93444
93445         * lib/strcspn.c: Include <stddef.h>.
93446         (strcspn): Use ANSI C function declaration. Change return type to
93447         size_t. Use NULL.
93448         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
93449         (strpbrk): Use NULL.
93450         * lib/strpbrk.h (PARAMS): Remove macro.
93451         (strpbrk): Use ANSI C function declaration.
93452         * lib/strstr.c: Don't include <sys/types.h>.
93453         * lib/strstr.h (PARAMS): Remove macro.
93454         (strstr): Use ANSI C function declarations.
93455
93456 2002-11-14  Karl Berry  <karl@gnu.org>
93457
93458         * config/mkinstalldirs: `do' on separate line, instead of
93459         `for var; do'.
93460
93461 2002-11-06  Bruno Haible  <bruno@clisp.org>
93462
93463         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
93464         * lib/gcd.c (gcd): Likewise.
93465
93466 2002-11-05  Bruno Haible  <bruno@clisp.org>
93467
93468         * lib/gcd.h: New file, from gettext-0.11.5.
93469         * lib/gcd.c: New file, from gettext-0.11.5.
93470
93471 2002-11-05  Bruno Haible  <bruno@clisp.org>
93472
93473         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93474         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93475         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93476         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93477
93478         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
93479         <libintl.h>.
93480         * lib/makepath.c: Include gettext.h instead of <locale.h> and
93481         <libintl.h>.
93482
93483         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
93484         * lib/human.c: Include gettext.h instead of <libintl.h>.
93485         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
93486         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
93487         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
93488         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
93489         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
93490         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
93491         (textdomain): Remove definition.
93492         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
93493
93494         * lib/long-options.c: Remove include of <libintl.h> and definition of
93495         _.
93496         * lib/same.c: Remove include of <libintl.h> and definition of _.
93497
93498 2002-11-04  Owen Taylor  <otaylor@redhat.com>
93499
93500         * lib/config.charset: A few additions for Solaris.
93501
93502 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
93503
93504         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
93505         * lib/localcharset.c (locale_charset): Declare as extern "C".
93506
93507 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
93508
93509         * lib/config.charset: msdos in uk_UA uses CP1125.
93510
93511 2002-11-04  Bruno Haible  <bruno@clisp.org>
93512
93513         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
93514         * lib/strcase.h: New file, from GNU gettext-0.11.5.
93515         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
93516         * lib/strstr.h: New file, from GNU gettext-0.11.5.
93517         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
93518
93519 2002-11-04  Bruno Haible  <bruno@clisp.org>
93520
93521         * lib/localcharset.c (locale_charset): Don't return an empty string.
93522
93523 2002-11-04  Bruno Haible  <bruno@clisp.org>
93524
93525         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
93526         aliases.
93527
93528 2002-11-04  Bruno Haible  <bruno@clisp.org>
93529
93530         * lib/config.charset: Update for newest glibc. Add canonical names
93531         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
93532
93533 2002-11-04  Bruno Haible  <bruno@clisp.org>
93534
93535         * lib/config.charset: Add support for NetBSD.
93536
93537 2002-11-04  Bruno Haible  <bruno@clisp.org>
93538
93539         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
93540
93541 2002-11-01  Bruno Haible  <bruno@clisp.org>
93542
93543         * configure.in: Add AC_CONFIG_AUX_DIR call.
93544         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
93545         test/Makefile.
93546         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
93547
93548 2002-09-28  Karl Berry  <karl@gnu.org>
93549
93550         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
93551         installed automake until the next release, since changes have been
93552         made.
93553
93554 2002-09-25  Karl Berry  <karl@gnu.org>
93555
93556         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
93557         * lib/getopt*: copy from libc/posix.
93558         * lib/gettext.h: copy from gettext.
93559         * lib/.cppi-disable: add strdup.c, gettext.h.
93560
93561 2002-09-25  Karl Berry  <karl@gnu.org>
93562
93563         * config/srclist.txt: enable gettext.h check.
93564         * config/config.{guess,sub}: update from prep.
93565         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
93566                 from automake 1.6.3.
93567         See srclist*.
93568
93569 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
93570
93571         * regex.c (PATFETCH): Remove the translating fetch.
93572         (PATFETCH_RAW): Rename to PATFETCH.
93573         (set_image_of_range): New fun.
93574         (SET_RANGE_TABLE_WORK_AREA): Use it.
93575         (regex_compile): Don't translate the pattern chars so eagerly.
93576         Only do it when inserting an `exactn' bytecode or when handling
93577         a char-range.
93578         (mutually_exclusive_p): Avoid empty statement.
93579
93580 2002-07-06  Jim Meyering  <meyering@lucent.com>
93581
93582         * m4/README: Don't mention Makefile.am.in.
93583         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
93584
93585 2002-07-01  Jim Meyering  <meyering@lucent.com>
93586
93587         * lib/c-stack.c: Include sys/time.h.
93588         From Volker Borchert.
93589
93590 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93591
93592         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
93593
93594 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93595
93596         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
93597         New macro.  Use it uniformly instead of
93598         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
93599         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
93600         reported by Vin Shelton.
93601
93602 2002-06-22  Paul Eggert  <eggert@twinsun.com>
93603
93604         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
93605         Do not assume SA_SIGINFO behavior.
93606         Bug reported by Jim Meyering on NetBSD 1.5.2.
93607
93608 2002-06-22  Jim Meyering  <meyering@lucent.com>
93609
93610         * m4/c-stack.m4: New file, from diffutils-2.8.2.
93611         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
93612
93613         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
93614         now that configure.ac uses AC_GNU_SOURCE.
93615         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
93616         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
93617
93618         Update to latest tools.  Suggestions from Paul Eggert.
93619         * m4/stdbool.m4: New file, from diffutils-2.8.2.
93620         * m4/gnu-source.m4: Update from diffutils-2.8.2.
93621         * m4/fnmatch.m4: Likewise.
93622         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
93623         to AC_HEADER_STDBOOL
93624
93625 2002-06-22  Jim Meyering  <meyering@lucent.com>
93626
93627         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
93628         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
93629
93630 2002-06-22  Jim Meyering  <meyering@lucent.com>
93631
93632         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
93633
93634         * lib/exitfail.c, exitfail.h: Likewise.
93635         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
93636
93637         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
93638         of fnmatch.h.
93639         (EXTRA_DIST): Add fnmatch_loop.c.
93640         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
93641
93642         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
93643         * lib/fnmatch.c: Update from diffutils-2.8.2.
93644         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
93645         * lib/fnmatch.h: Remove file.
93646
93647 2002-06-21  Jim Meyering  <meyering@lucent.com>
93648
93649         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
93650         * m4/mbrtowc.m4: Likewise.
93651
93652         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
93653         * m4/mbswidth.m4: Reflect name change:
93654         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
93655         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93656
93657         * m4/lib-link.m4: Update from gettext-0.11.2.
93658         * m4/gettext.m4: Likewise.
93659
93660         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
93661         From Alfred M. Szmidt.
93662
93663 2002-06-18  Paul Eggert  <eggert@twinsun.com>
93664
93665         * lib/file-type.h: Report an error if neither S_ISREG nor
93666         S_IFREG is defined, instead of using a test specific to glibc
93667         2.2.  This should be safe, since POSIX requires S_ISREG and
93668         Unix Version 7 had S_IFREG.  We don't need to check for
93669         <sys/types.h> since we don't use any symbols that it defines.
93670
93671 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
93672
93673         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
93674         $@-t, so that each temporary file name is unique and valid in the first
93675         8 characters, for operation under DOS.
93676
93677 2002-06-15  Paul Eggert  <eggert@twinsun.com>
93678
93679         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
93680
93681 2002-06-15  Jim Meyering  <meyering@lucent.com>
93682
93683         Work even with DJGPP 2.03, which lacks support for symlinks.
93684         From Richard Dawe.
93685         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
93686         is defined.
93687         * lib/lchown.c (S_ISLNK): Likewise.
93688
93689 2002-06-15  Jim Meyering  <meyering@lucent.com>
93690
93691         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
93692         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
93693         have been included before this file.
93694
93695 2002-06-14  Jim Meyering  <meyering@lucent.com>
93696
93697         * lib/file-type.h: Use the version from diffutils-2.8.2.
93698         * lib/file-type.c: Likewise.
93699
93700 2002-06-07  Jim Meyering  <meyering@lucent.com>
93701
93702         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
93703         They're needed at least for NetBSD 1.5.2.
93704         ($statxfs_includes): Include those same headers.
93705         ($statxfs_includes): Include sys/vfs.h if available.
93706         ($statxfs_includes): Likewise for sys/statvfs.h.
93707         Check for the following members in both structs statfs and statvfs:
93708         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
93709
93710 2002-06-01  Jim Meyering  <meyering@lucent.com>
93711
93712         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
93713         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
93714
93715 2002-05-28  Jim Meyering  <meyering@lucent.com>
93716
93717         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
93718         Reported by Volker Borchert.
93719
93720 2002-05-27  Jim Meyering  <meyering@lucent.com>
93721
93722         Fix a problem seen only on nonconforming systems whereby ls.c's
93723         use of localtime, and then of gettimeofday would cause trouble:
93724         the localtime call used to initialize rpl_gettimeofday's save
93725         mechanism would clobber ls's current local time information so
93726         that in any long listing the first file would always be listed
93727         with date 1970-01-01.  Analysis by Volker Borchert.
93728
93729         * lib/gettimeofday.c (localtime): Undefine.
93730         (rpl_localtime): New function.
93731
93732 2002-05-27  Jim Meyering  <meyering@lucent.com>
93733
93734         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
93735         localtime.
93736
93737         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
93738         use the replacement function; it wouldn't resolve at link time.
93739         Reported by Volker Borchert.
93740
93741 2002-05-22  Jim Meyering  <meyering@lucent.com>
93742
93743         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
93744         file-type.h.
93745         * lib/file-type.h: New file.
93746         * lib/file-type.c (file_type): New file/function.  Extracted from
93747         diffutils.
93748
93749 2002-04-30  Jim Meyering  <meyering@lucent.com>
93750
93751         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
93752
93753 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93754
93755         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
93756
93757 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93758
93759         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
93760         Do not check for alloca.h (no longer used) or stdbool.h (was never
93761         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
93762
93763 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93764
93765         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
93766
93767 2002-04-29  Jim Meyering  <meyering@lucent.com>
93768
93769         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
93770         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
93771         Use AC_FUNC_STRNLEN here instead.
93772
93773         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
93774         With autoconf-2.53a, it's part of AC_PROG_CC.
93775
93776 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93777
93778         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
93779         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
93780
93781 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93782
93783         * lib/sig2str.h, lib/sig2str.c: New files.
93784         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
93785
93786 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93787
93788         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
93789         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
93790         of 127, since 64 is the largest conceivable number for ancient
93791         nonstandard hosts.
93792         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
93793
93794 2002-04-28  Jim Meyering  <meyering@lucent.com>
93795
93796         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
93797
93798 2002-04-24  Jim Meyering  <meyering@lucent.com>
93799
93800         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
93801         (jm_PREREQ): Use it.
93802
93803         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
93804         mach/mach.h fcntl.h.
93805         Check for this function: setlocale.
93806
93807 2002-04-24  Jim Meyering  <meyering@lucent.com>
93808
93809         * lib/gettext.h: New file, from Gettext.
93810         * lib/Makefile.am (INCLUDES): Remove -I../intl.
93811         (libfetish_a_SOURCES): Add gettext.h.
93812
93813 2002-04-16  Jim Meyering  <meyering@lucent.com>
93814
93815         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
93816         ut_pid, ut_id, ut_exit.
93817
93818 2002-04-16  Jim Meyering  <meyering@lucent.com>
93819
93820         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
93821         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
93822         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
93823
93824 2002-04-12  Jim Meyering  <meyering@lucent.com>
93825
93826         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
93827         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
93828         existence of the getmntinfo function.  Needed for Darwin 5.3.
93829
93830         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
93831         This is necessary at least on Darwin 5.3.
93832
93833         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
93834         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
93835         strnlen.o in the library, and that makes some versions of ranlib
93836         object.
93837
93838 2002-04-12  Jim Meyering  <meyering@lucent.com>
93839
93840         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
93841
93842 2002-04-09  Jim Meyering  <meyering@lucent.com>
93843
93844         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
93845         to be more precise.  Rather than saying we're checking whether the
93846         function `works', say what we're testing.
93847         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
93848         Reported by Bruno Haible.
93849
93850 2002-03-10  Jim Meyering  <meyering@lucent.com>
93851
93852         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
93853         Suggestion from Santiago Vila.
93854
93855 2002-03-08  Jim Meyering  <meyering@lucent.com>
93856
93857         * lib/rename.c: Mention that this wrapper is needed also on
93858         mips-dec-ultrix4.4 systems.
93859
93860 2002-03-02  Jim Meyering  <meyering@lucent.com>
93861
93862         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
93863         not HAVE_CLOCK_SETTIME.
93864
93865 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93866
93867         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
93868         Check for clock_settime.
93869
93870 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93871
93872         * lib/nanosleep.h: Rename to....
93873         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
93874
93875         * lib/gettime.c: New file.
93876         * lib/settime.c: New file.
93877         * lib/stime.c: Remove.
93878
93879         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
93880         timespec.h.  Remove nanosleep.h.
93881
93882 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93883
93884         * m4/acl.m4: New file.
93885         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
93886         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
93887
93888 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93889
93890         * lib/acl.c, lib/acl.h: New files.
93891         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
93892
93893 2002-02-24  Jim Meyering  <meyering@lucent.com>
93894
93895         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
93896         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
93897         cause trouble.  Reported by Nelson Beebe.
93898
93899 2002-02-23  Paul Eggert  <eggert@twinsun.com>
93900
93901         * lib/path-concat.c (xpath_concat): Reorder code to pacify
93902         compilers that don't know that xalloc_die never returns.
93903
93904 2002-02-20  Jim Meyering  <meyering@lucent.com>
93905
93906         * lib/getdate.c: Regenerate using bison-1.33.
93907
93908 2002-02-17  Jim Meyering  <meyering@lucent.com>
93909
93910         * config/config.guess (main): Don't use `head -1'; it's no longer
93911         portable. Use `sed 1q' instead.
93912
93913 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
93914
93915         * m4/codeset.m4: Upgrade to gettext-0.11.
93916         * m4/gettext.m4: Upgrade to gettext-0.11.
93917         * m4/glibc21.m4: Upgrade to gettext-0.11.
93918         * m4/iconv.m4: Upgrade to gettext-0.11.
93919         * m4/isc-posix.m4: Upgrade to gettext-0.11.
93920         * m4/lcmessage.m4: Upgrade to gettext-0.11.
93921         * m4/lib-ld.m4: New file, from gettext-0.11.
93922         * m4/lib-link.m4: New file, from gettext-0.11.
93923         * m4/lib-prefix.m4: New file, from gettext-0.11.
93924         * m4/progtest.m4: Upgrade to gettext-0.11.
93925
93926 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93927
93928         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
93929         (jm_PREREQ): Use it.
93930
93931 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93932
93933         * lib/posixver.c, lib/posixver.h: New files.
93934         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93935
93936 2002-02-02  Paul Eggert  <eggert@twinsun.com>
93937             Bruno Haible  <bruno@clisp.org>
93938
93939         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
93940         (fwrite_success_callback): New declaration.
93941         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
93942         print_unicode_char. Call failure callback instead of error.
93943         (fwrite_success_callback): New function.
93944         (exit_failure_callback): New function.
93945         (fallback_failure_callback): New function.
93946         (print_unicode_char): Call unicode_to_mb.
93947
93948 2002-01-26  Jim Meyering  <meyering@lucent.com>
93949
93950         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93951         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93952
93953 2002-01-26  Jim Meyering  <meyering@lucent.com>
93954
93955         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93956
93957 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93958
93959         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93960
93961 2002-01-22  Jim Meyering  <meyering@lucent.com>
93962
93963         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93964         Otherwise, some versions of automake would omit the rule that makes
93965         Makefile from Makefile.in.
93966
93967 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93968
93969         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93970         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93971         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93972         (memcoll): Set errno to zero if there is no error.
93973
93974         * lib/quotearg.c (quotearg_buffer_restyled):
93975         Fix bug with quoting buffers containing NUL when backslashing escapes.
93976         This bug was exposed by the other changes in this patch.
93977         (quotearg_n_options): New arg ARGSIZE.
93978         All callers changed.
93979         (quoting_options_from_style): New function.
93980         (quotearg_n_style): Use it.
93981         (quotearg_n_style_mem): New function.
93982
93983         * lib/quotearg.h (quotearg_n_style_mem): New function.
93984
93985 2002-01-19  Jim Meyering  <meyering@lucent.com>
93986
93987         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93988         Remove useless quotes: DF_PROG="df".
93989         * m4/strnlen.m4: New file.
93990
93991 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93992
93993         * lib/backupfile.c (ISDIGIT): Comment fix.
93994         * lib/getdate.y (ISDIGIT): Likewise.
93995         * lib/posixtm.c (ISDIGIT, year): Likewise.
93996         * lib/strverscmp.c (ISDIGIT): Likewise.
93997         * lib/userspec.c (ISDIGIT): Likewise.
93998
93999 2002-01-16  Jim Meyering  <meyering@lucent.com>
94000
94001         * lib/getdate.y: Add three semicolons, each just before a closing
94002         brace. Bison (as of version 1.31) no longer papers over that mistake.
94003
94004 2002-01-05  Jim Meyering  <meyering@lucent.com>
94005
94006         * lib/version-etc.c (version_etc_copyright): Update copyright year.
94007
94008 2001-12-19  Paul Eggert  <eggert@twinsun.com>
94009
94010         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
94011         not silently exit merely because the output buffer happens to
94012         have nothing pending.
94013
94014 2001-12-18  Paul Eggert  <eggert@twinsun.com>
94015
94016         See the big note in ../ChangeLog.
94017         * lib/human.c (suffixes): Prefer K to k for 1024.
94018         (generate_suffix_backwards): New function.
94019         (human_readable_inexact): Use it.
94020         * lib/xstrtol.c (__xstrtol): If there is no number but there
94021         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
94022         Accept 'K' as well as 'k'.
94023
94024 2001-12-15  Jim Meyering  <meyering@lucent.com>
94025
94026         * lib/regex.h (__restrict_arr): Update from libc.
94027
94028         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
94029         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
94030         (STREQ): Define.
94031
94032 2001-12-14  Jim Meyering  <meyering@lucent.com>
94033
94034         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
94035         Suggestion from Bruno Haible.
94036
94037 2001-12-10  Jim Meyering  <meyering@lucent.com>
94038
94039         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
94040         xrealloc, Instead, include "xalloc.h".
94041         (initbuffer): Don't cast xmalloc return value to char*.
94042         (readline): Reword comment.
94043         Don't cast xrealloc return value to char*
94044         Return NULL, not 0.
94045
94046 2001-12-09  Jim Meyering  <meyering@lucent.com>
94047
94048         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
94049         about `signed and unsigned type in conditional expression'.
94050         * lib/posixtm.c (posix_time_parse): Likewise.
94051
94052         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
94053
94054         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
94055         to avoid a pedantic warning.
94056
94057         * lib/getstr.c: Don't include assert.h.
94058         (getstr): Remove warning-evoking assertions.
94059         Return -1 if offset parameter is out of bounds.
94060         Change the type of a local from int to size_t.
94061
94062         * lib/strftime.c (my_strftime_localtime_r): Include this function
94063         definition in the `#if ! HAVE_TM_GMTOFF' block.
94064
94065         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
94066         Include xalloc.h instead.
94067
94068 2001-12-02  Jim Meyering  <meyering@lucent.com>
94069
94070         * lib/tempname.c: Don't declare getenv, thus reverting the change of
94071         2001-11-18.  It's no longer necessary, now that stdlib.h is always
94072         included.
94073
94074         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
94075         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
94076
94077 2001-11-30  Akim Demaille  <akim@epita.fr>
94078
94079         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
94080         before being defined.
94081
94082 2001-11-27  Paul Eggert  <eggert@twinsun.com>
94083
94084         * lib/quotearg.h (quotearg_n, quotearg_n_style):
94085         First arg is int, not unsigned.
94086         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
94087         (SIZE_MAX, UINT_MAX): New macros.
94088         (quotearg_n_options): Abort if N is negative.
94089         Avoid overflow check on hosts where size_t is 64 bits and int
94090         is 32 bits, as overflow is impossible there.
94091         Fix off-by-one typo that caused unnecessary reallocation.
94092
94093 2001-11-27  Jim Meyering  <meyering@lucent.com>
94094
94095         * lib/tempname.c: Merge with version from libc.
94096         * lib/regex.c: Likewise.
94097
94098         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
94099         systems for which STDC_HEADERS is 0, it was not included, resulting in
94100         a warning about an integer-to-pointer conversion problem with getenv.
94101         Reported by Volker Borchert.
94102
94103 2001-11-26  Jim Meyering  <meyering@lucent.com>
94104
94105         * lib/gtod.h: Remove file.
94106         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
94107         * lib/gettimeofday.c: Don't include gtod.h.
94108         (GTOD_init): Remove function.
94109         (rpl_gettimeofday): Do its job here instead, rather than aborting.
94110         Suggestion from Volker Borchert.
94111
94112 2001-11-23  Jim Meyering  <meyering@lucent.com>
94113
94114         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
94115         it.
94116         * lib/hash.c (struct hash_table): Define it here instead.
94117
94118 2001-11-22  Jim Meyering  <meyering@lucent.com>
94119
94120         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
94121
94122 2001-11-20  Jim Meyering  <meyering@lucent.com>
94123
94124         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
94125         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
94126
94127 2001-11-19  Jim Meyering  <meyering@lucent.com>
94128
94129         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
94130         directory.  Use "conftestXXXXXX" as the template.
94131         Suggestion from Paul Eggert.
94132
94133         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
94134         immediately, so the test doesn't mistakenly hit the max-open-files
94135         limit.
94136
94137 2001-11-18  Paul Eggert  <eggert@twinsun.com>
94138
94139         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
94140         (TEMPORARIES): New macro.
94141         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
94142         removes an artificial limitation (e.g. HP-UX 10.20, where
94143         TMP_MAX is 17576).
94144
94145 2001-11-18  Jim Meyering  <meyering@lucent.com>
94146
94147         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
94148
94149 2001-11-18  Jim Meyering  <meyering@lucent.com>
94150
94151         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
94152         on SunOS 4.
94153
94154         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
94155         files will be created before anything else.
94156
94157 2001-11-17  Paul Eggert  <eggert@twinsun.com>
94158
94159         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
94160         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
94161
94162 2001-11-17  Jim Meyering  <meyering@lucent.com>
94163
94164         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
94165         Prompted by a report from Bob Proulx.
94166
94167         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
94168         Instead, require UTILS_FUNC_MKSTEMP.
94169
94170 2001-11-17  Jim Meyering  <meyering@lucent.com>
94171
94172         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
94173         Now, that's done as part of AC_FUNC_STRTOD.
94174
94175 2001-11-17  Jim Meyering  <meyering@lucent.com>
94176
94177         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
94178         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
94179         rather than group writable.  Patch by Juan F. Codagnone.
94180
94181         * lib/readtokens.c: Remove explicit declarations of xmalloc and
94182         xrealloc, Instead, include "xalloc.h".
94183
94184         * lib/mountlist.c: Include unlocked-io.h after all system headers.
94185         Remove explicit declarations of xmalloc, xrealloc,
94186         and xstrdup.  Instead, include "xalloc.h".
94187
94188         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
94189         unlocked-io.h.
94190         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
94191         Likewise.
94192         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
94193
94194         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
94195         Reported by Padraig Brady.
94196
94197         * lib/mkstemp.c: #undef mkstemp.
94198         Include config.h.
94199         (rpl_mkstemp): Rename from mkstemp.
94200         Protoize.
94201
94202 2001-11-16  Jim Meyering  <meyering@lucent.com>
94203
94204         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
94205         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
94206         determine the amount of total physical memory, use pstat_getstatic.
94207         HPUX-11 doesn't define _SC_PHYS_PAGES.
94208         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
94209         If sysconf couldn't be used to determine the amount of available
94210         physical memory, use both pstat_getstatic and pstat_getdynamic.
94211         Based on a patch from Bob Proulx.
94212
94213 2001-11-10  Jim Meyering  <meyering@lucent.com>
94214
94215         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
94216         (jm_PREREQ): Use it.
94217
94218 2001-11-09  Jim Meyering  <meyering@lucent.com>
94219
94220         * m4/jm-macros.m4: Require autoconf-2.52f.
94221         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
94222         Use these AC_-prefixed names, not the AM_-prefixed ones.
94223
94224         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
94225
94226 2001-11-05  Jim Meyering  <meyering@lucent.com>
94227
94228         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
94229
94230 2001-11-04  Jim Meyering  <meyering@lucent.com>
94231
94232         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
94233         $DEFS.
94234
94235 2001-11-03  Jim Meyering  <meyering@lucent.com>
94236
94237         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
94238         of AC_DEFUN.
94239
94240         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
94241         know the name of the variable in the macro definition.
94242
94243 2001-11-03  Jim Meyering  <meyering@lucent.com>
94244
94245         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
94246         in argmatch_to_argument call.
94247
94248         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
94249         argument.
94250
94251         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
94252         e.g., a fault due to an attempt to free a NULL pointer.
94253
94254 2001-11-01  Jim Meyering  <meyering@lucent.com>
94255
94256         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
94257         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
94258
94259 2001-11-01  Jim Meyering  <meyering@lucent.com>
94260
94261         * lib/dirfd.c, lib/dirfd.h: New files.
94262         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
94263
94264         * lib/hash.c (hash_print) [TESTING]: Clean up.
94265
94266 2001-10-22  Paul Eggert  <eggert@twinsun.com>
94267
94268         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
94269         to avoid a warning if -Wall.
94270
94271 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
94272
94273         * README: New file
94274         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
94275         (per RMS's instructions, this is now the canonical source)
94276         * lgpl/, gpl/: New directories.
94277
94278 2001-10-21  Paul Eggert  <eggert@twinsun.com>
94279
94280         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
94281
94282 2001-10-21  Jim Meyering  <meyering@lucent.com>
94283
94284         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
94285         this code would end up calling gettext even in packages built
94286         with --disable-nls.
94287         * lib/getopt.c (_): Likewise.
94288         * lib/regex.c (_): Likewise.
94289
94290 2001-10-20  Paul Eggert  <eggert@twinsun.com>
94291
94292         * m4/error.m4 (jm_PREREQ_ERROR):
94293         Do not invoke AC_CHECK_FUNCS with strerror_r, as
94294         AC_FUNC_STRERROR_R does that.
94295         Check for strerror declaration.
94296
94297         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
94298         are supposed to have them these days.
94299         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
94300         Merge changes from latest Autoconf CVS.
94301         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
94302         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
94303         POSIX decided to standardize on the int flavor of strerror_r.
94304
94305 2001-10-20  Paul Eggert  <eggert@twinsun.com>
94306
94307         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
94308         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
94309         Use strerror_r that is only a macro, even if it is not a function.
94310         (strerror): Check for HAVE_DECL_STRERROR before declaring.
94311         (private_strerror): Use prototypes, not old-style function definition.
94312         (print_errno_message): New function.
94313         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
94314         char*-flavored one.
94315         (error_tail, error, error_at_line): Use it.
94316
94317 2001-10-11  Jim Meyering  <meyering@lucent.com>
94318
94319         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
94320         and quote_n (1, ... to avoid clobbering a buffer.
94321
94322 2001-10-05  Jim Meyering  <meyering@lucent.com>
94323
94324         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
94325         hash-pjw.h.
94326         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
94327         * lib/hash-pjw.h: New file.
94328
94329 2001-09-30  Jim Meyering  <meyering@lucent.com>
94330
94331         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
94332         `struct fsstat' has the `f_fstypename' member.
94333         Use that to define FS_TYPE, which is now used to make
94334         the getfsstat link test tighter.
94335
94336 2001-09-30  Jim Meyering  <meyering@lucent.com>
94337
94338         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
94339         Include <sys/ucred.h>, for Apple Darwin.
94340         Include sys/mount.h and sys/fs_types.h only if available.
94341         (FS_TYPE): Define.
94342         (read_filesystem_list): Use FS_TYPE.
94343
94344 2001-09-29  Paul Eggert  <eggert@twinsun.com>
94345
94346         * lib/exclude.c (excluded_filename): 0 -> false, since it's
94347         a boolean context.
94348
94349 2001-09-29  Jim Meyering  <meyering@lucent.com>
94350
94351         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
94352         [one-argument getmntent function]): Include stdio.h before mntent.h.
94353         SunOS 4.1.x needs it for the declaration of `FILE'.
94354         Patch by Volker Borchert.
94355
94356         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
94357         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
94358         sys/fs_types.h, and make the link-test for getfsstat guard #include
94359         directives with appropriate #if HAVE_*_H tests so that we can
94360         detect getfsstat on Apple Darwin1.3.7 systems.
94361         Reported by Nelson Beebe.
94362         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
94363
94364 2001-09-28  Paul Eggert  <eggert@twinsun.com>
94365
94366         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
94367         #defines strtoimax.  Also treat the other strto* functions
94368         like strtoimax.
94369
94370         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94371         Check for strtoul and strtoumax,
94372         as those declarations are made even in the signed case.
94373         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
94374         Likewise, for strtol and strtoimax.
94375
94376 2001-09-28  Paul Eggert  <eggert@twinsun.com>
94377
94378         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
94379         #defines strtoimax.  Also treat the other strto* functions
94380         like strtoimax.
94381
94382         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
94383         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
94384         (strtoimax, strtoumax): Do not declare if already defined as a macro.
94385
94386 2001-09-26  Jim Meyering  <meyering@lucent.com>
94387
94388         Most macros in unlocked-io.h had the wrong number of arguments.
94389         * lib/gen-uio: New script.
94390         (USE_UNLOCKED_IO): Define to 1 if not already defined.
94391         * lib/unlocked-io.hin: Remove file.
94392         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
94393         rather than trying to embed it here.
94394         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
94395         Reported by Padraig Brady.
94396
94397 2001-09-25  Volker Borchert  <bt@teknon.de>
94398
94399         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
94400         `result'.
94401
94402 2001-09-24  Jim Meyering  <meyering@lucent.com>
94403
94404         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
94405
94406 2001-09-23  Jim Meyering  <meyering@lucent.com>
94407
94408         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
94409         instead of the mere test for existence of mntent.h.  The latter
94410         would get a false-positive on AIX 3.4 systems.
94411         In the outer getmntent if-block, don't die if neither of the getmntent
94412         tests succeeds.  Instead, just fall through and continue with the
94413         remaining tests.
94414
94415 2001-09-23  Jim Meyering  <meyering@lucent.com>
94416
94417         * lib/mountlist.c: Remove useless parentheses in #if directives.
94418         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
94419         the deprecated MOUNTED symbol is no longer defined in mntent.h.
94420
94421 2001-09-22  Jim Meyering  <meyering@lucent.com>
94422
94423         * m4/gettext.m4: New file.  From gettext.
94424         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
94425         * m4/progtest.m4: Likewise
94426         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
94427         * m4/glibc21.m4: Likewise.
94428
94429         * m4/libintl.m4: Remove.  No longer used.
94430
94431 2001-09-22  Jim Meyering  <meyering@lucent.com>
94432
94433         * lib/localcharset.c: Update from latest gettext.
94434         * lib/config.charset: Likewise.
94435
94436 2001-09-20  Jim Meyering  <meyering@lucent.com>
94437
94438         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
94439         strtoimax.
94440         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
94441         strtoumax.
94442
94443 2001-09-20  Jim Meyering  <meyering@lucent.com>
94444
94445         * lib/xstrtol.c (strtoimax): Guard declaration with
94446         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
94447         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
94448         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
94449         (strtoumax): Likewise, for completeness (it wasn't necessary).
94450
94451 2001-09-17  Paul Eggert  <eggert@twinsun.com>
94452
94453         * lib/strtoimax.c (HAVE_LONG_LONG):
94454         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
94455         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
94456         to work around bug in IBM C compiler.
94457
94458 2001-09-17  Jim Meyering  <meyering@lucent.com>
94459
94460         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
94461         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
94462         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
94463         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
94464         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
94465         whenever the right hand side need not be expanded by the shell.
94466
94467 2001-09-16  Paul Eggert  <eggert@twinsun.com>
94468
94469         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
94470         library.  It's not correct, as some older glibcs are buggy.
94471         fnmatch wasn't fixed until glibc 2.2.
94472
94473         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
94474         special shell magic here.
94475
94476 2001-09-16  Jim Meyering  <meyering@lucent.com>
94477
94478         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
94479         * m4/jm-macros.m4: Require it.
94480
94481 2001-09-16  Jim Meyering  <meyering@lucent.com>
94482
94483         * lib/mkdir.c: New file.
94484
94485 2001-09-15  Jim Meyering  <meyering@lucent.com>
94486
94487         * m4/jm-macros.m4: Check for help2man.
94488
94489 2001-09-11  Jim Meyering  <meyering@lucent.com>
94490
94491         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
94492         The body, by Paul Eggert, was moved here from configure.in.
94493         * m4/jm-macros.m4: Require UTILS_HOST_OS.
94494
94495 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94496
94497         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
94498         (jm_PREREQ): Use it.
94499
94500 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94501
94502         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
94503         Use ssize_t, not int, to store result of readlink.
94504         Check for ssize_t overflow as well as size_t overflow,
94505         as POSIX says the result of readlink is implementation-defined
94506         when ssize_t overflows.
94507         Remove unnecessary cast to char*.
94508         Use free+malloc instead of realloc, as the storage doesn't need
94509         to be preserved and it's clearer and can be more efficient that way.
94510         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
94511         * lib/xreadlink.h (xreadlink): Update prototype.
94512
94513 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94514
94515         * lib/xgetcwd.c: Revert some of the previous change; intead,
94516         fix the HAVE_GETCWD_NULL code to behave more like the
94517         !HAVE_GETCWD_NULL code used to.
94518
94519         Include "xalloc.h".
94520         (xgetcwd): Do not return NULL when memory is exhausted; instead,
94521         invoke xalloc_die.
94522
94523 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94524
94525         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
94526         sys/param.h, as pathmax.h includes them.
94527
94528 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94529
94530         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
94531         (jm_PREREQ_XGETCWD): New macro.
94532
94533         * m4/getcwd.m4: New file.
94534
94535 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94536
94537         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
94538         like the HAVE_GETCWD_NULL code.
94539         Include pathmax.h if not HAVE_GETCWD.
94540         Do not include xalloc.h.
94541         (INITIAL_BUFFER_SIZE): New symbol.
94542         Do not use xmalloc / xrealloc, since the caller is responsible for
94543         handling errors.  Preserve errno around `free' during failure.
94544         Do not overrun buffer when using getwd.
94545
94546 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94547
94548         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
94549         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
94550         getcwd (NULL, 0).
94551
94552 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94553
94554         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
94555         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
94556         spotted by Jim Meyering.
94557
94558 2001-09-03  Jim Meyering  <meyering@lucent.com>
94559
94560         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
94561         failure.
94562
94563 2001-09-02  Jim Meyering  <meyering@lucent.com>
94564
94565         * lib/error.c: Update from GNU libc.
94566
94567 2001-09-01  Jim Meyering  <meyering@lucent.com>
94568
94569         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
94570         Used by df.
94571
94572 2001-09-01  Jim Meyering  <meyering@lucent.com>
94573
94574         * lib/xreadlink.c: New file.
94575         * lib/xreadlink.h: New file.
94576         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
94577         xreadlink.h.
94578
94579         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
94580         doesn't conflict with sparc Solaris 7's definition in
94581         /usr/include/sys/int_types.h.
94582
94583         * lib/exclude.c: Use `""', not `<>' to #include non-system header
94584         files.
94585         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
94586         and strncasecmp as r-values.  Unixware didn't have declarations.
94587
94588 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94589
94590         * lib/xstrtol.h: Add copyright notice.
94591         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
94592         LONGINT_INVALID_SUFFIX_CHAR.
94593
94594 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94595
94596         * lib/xstrtol.c (strtoimax): New decl.
94597
94598 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94599
94600         * lib/xgetcwd.c: Don't include pathmax.h.
94601         Include stdlib.h and unistd.h if available.
94602         Include xalloc.h.
94603         (xmalloc, xstrdup, free): Remove decls.
94604         (xgetcwd): Don't assume sizes fit in unsigned.
94605         Check for overflow when computing sizes.
94606         Simplify reallocation code.
94607
94608 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94609
94610         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
94611         a directory's st_size can have an arbitrary value, so the old
94612         usage could waste an arbitrary amount of memory.  All uses
94613         changed.
94614         * lib/savedir.h: Update prototype.
94615
94616 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94617
94618         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
94619
94620         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
94621         old strtoimax.c.
94622
94623         Also, make the following further changes to make this file's
94624         configuration more similar to that of strtol.c:
94625         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
94626         (strtoumax, uintmax_t, strtoull, strtol): Remove.
94627         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
94628         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
94629         changed to signed values.
94630
94631         And make the following changes as well:
94632         Fix copyright notice, as 1999 was missing.
94633         (verify): New macro.
94634         (strtoimax): Check sizes at compile-time, not run-time.
94635         Prefer strtol to strtoll if both work.
94636         (main): Remove; it was not that useful and was a pain to maintain.
94637
94638         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
94639
94640 2001-08-31  Jim Meyering  <meyering@lucent.com>
94641
94642         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
94643         Use an initial, malloc'd, buffer of length 128 rather than
94644         a statically allocated one of length 1024.
94645
94646 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94647
94648         Simplify code, partly by assuming autoconf 2.52 semantics.
94649
94650         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
94651
94652         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
94653         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
94654         All uses removed.
94655         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
94656         Move AC_REQUIRE to next-to-top level, to avoid confusion.
94657         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
94658         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
94659         jm_AC_HEADER_INTTYPES_H.
94660         * m4/jm-macros.m4 (jm_MACROS): Likewise.
94661
94662         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
94663
94664         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94665         Quote first arg of AC_DEFUN.
94666         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
94667         since they are needed to parse the include file even if we need
94668         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
94669         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
94670         but with opposite signedness.
94671
94672 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94673
94674         Merge 'exclude' changes from tar 1.13.22.
94675         This fixes one or two unlikely storage allocation overflow bugs,
94676         but doesn't change user-visible behavior otherwise.
94677
94678 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94679
94680         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
94681         (jm_PREREQ_EXCLUDE): New macro.
94682
94683 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94684
94685         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
94686         tm to be declared.
94687
94688 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94689
94690         * lib/hash.c: Remove '2001' from copyright notice.
94691
94692 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94693
94694         * lib/full-write.h: New file.
94695         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
94696         * lib/full-write.c: Correct credits, as cccp.c no longer
94697         exists and anyway it was so heavily changed from the old cccp
94698         code as to be unrecognizable.  Include full-write.h.
94699         (full_write): Return size_t, with short writes meaning failure.
94700         All callers changed.  This fixes a bug with large buffers
94701         on 64-bit hosts.
94702         * lib/utime.c: Include full-write.h.
94703
94704 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94705
94706         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
94707         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
94708         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
94709         Include if available.
94710         (<xalloc.h>): Include
94711         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
94712         (verify): New macro.  Use it to verify that EXCLUDE macros do not
94713         collide with FNM macros.
94714         (struct patopts): New struct.
94715         (struct exclude): Use it, as exclude patterns now come with options.
94716         (new_exclude): Support above changes.
94717         (new_exclude, add_exclude_file):
94718         Initial size must now be a power of two to simplify overflow checking.
94719         (free_exclude, fnmatch_no_wildcards): New function.
94720         (excluded_filename): No longer requires options arg, as the options
94721         are determined by add_exclude.  Now returns bool, not int.
94722         (excluded_filename, add_exclude):
94723         Add support for the fancy new exclusion options.
94724         (add_exclude, add_exclude_file): Now takes int options arg.
94725         Check for arithmetic overflow when computing sizes.
94726         (add_exclude_file): xrealloc might modify errno, so don't
94727         realloc until after errno might be used.
94728
94729         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
94730         New macros.
94731         (free_exclude): New decl.
94732         (add_exclude, add_exclude_file): Now takes int options arg.
94733         (excluded_filename): No longer requires options arg, as the options
94734         are determined by add_exclude.  Now returns bool, not int.
94735
94736 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94737
94738         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
94739
94740 2001-08-27  Jim Meyering  <meyering@lucent.com>
94741
94742         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
94743
94744         * lib/version-etc.c (N_): Remove definition.
94745         Revert most of last change.
94746         Instead, simply don't mark the `Copyright...' string for translation.
94747         Based on advice from Paul Eggert.
94748
94749         * lib/strtoxmax.c: Tweak comment.
94750
94751 2001-08-26  Jim Meyering  <meyering@lucent.com>
94752
94753         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
94754
94755         * m4/xstrtoimax.m4: New file.
94756         * m4/xstrtoumax.m4: Add comments explaining why we
94757         AC_REPLACE_FUNCS(strtol).
94758
94759 2001-08-26  Jim Meyering  <meyering@lucent.com>
94760
94761         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
94762         of copyright with `%s' so translators don't get an untranslated
94763         message in 2002.
94764         (COPYRIGHT_YEAR): Define.
94765         (version_etc): Use fprintf rather than fputs.
94766         Suggestion from Ulrich Drepper.
94767
94768         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
94769
94770         * lib/strtoll.c: New file, from GNU libc.
94771         * lib/xstrtoimax.c: New file.
94772
94773         * lib/xstrtol.h: Add xstrtoimax.
94774         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
94775         * lib/strtoimax.c: New file.  Likewise, but first define
94776         STRTOUXMAX_SIGNED.
94777
94778         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
94779         ...
94780         * lib/strtoxmax.c: ... then renamed to this.
94781
94782 2001-08-18  Paul Eggert  <eggert@twinsun.com>
94783
94784         * m4/inttypes.m4: Add AC_PREREQ(2.13).
94785         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
94786         (jm_AC_TYPE_INTMAX_T): New macro.
94787         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
94788
94789         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
94790
94791         * m4/longlong.m4: Renamed from ulonglong.m4.
94792         * m4/inttypes.m4: Renamed from inttypes_h.m4.
94793         * m4/uintmax_t.m4: Removed.
94794
94795 2001-08-13  Paul Eggert  <eggert@twinsun.com>
94796
94797         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
94798         Port to Solaris 8, where 'sed' requires a space after the 'r'
94799         command, and where sh dislikes "$/".  Clean up the spacing a bit.
94800         Redirect output to $tmp just once.
94801
94802 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
94803
94804         * lib/addext.c (<errno.h>): Include.
94805         (errno): Declare if not defined.
94806         (addext): Work correctly when pathconf returns -1 and leaves
94807         errno alone because there is no limit.  Also, work even if
94808         pathconf returns a value greater than SIZE_MAX.
94809
94810 2001-08-12  Jim Meyering  <meyering@lucent.com>
94811
94812         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
94813         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
94814         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
94815         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
94816         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
94817         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
94818         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
94819         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
94820         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
94821         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
94822         utime.m4, utimes.m4, xstrtoumax.m4:
94823         Quote the first argument in each use of AC_DEFUN.
94824
94825 2001-08-12  Jim Meyering  <meyering@lucent.com>
94826
94827         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
94828         Simply `return getcwd (NULL, 0);'.
94829         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
94830         Use 1300 as initial value for length, not PATH_MAX.
94831
94832         * lib/pathmax.h: Clean up cpp syntax.
94833
94834 2001-08-12  Jim Meyering  <meyering@lucent.com>
94835
94836         * lib/gettimeofday.c: New file.
94837         * lib/gtod.h: New file.
94838         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
94839
94840 2001-08-05  Jim Meyering  <meyering@lucent.com>
94841
94842         * m4/jm-macros.m4: Require autoconf-2.52.
94843
94844 2001-08-04  Jim Meyering  <meyering@lucent.com>
94845
94846         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
94847         stmt, to get in sync with glibc.
94848
94849 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94850
94851         The following changes are from gettext 0.10.39 as maintained by
94852         Bruno Haible.
94853
94854         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
94855         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
94856         with inverted sense.  All uses changed.
94857
94858         * lib/mbswidth.c: Don't include <limits.h>.
94859         Include <stdlib.h> and <string.h> unconditionally.
94860         (iswcntrl, mbsinit, ISCNTRL): New macros.
94861         (mbsnwidth): Use K&R style function declarations.
94862         Don't bother checking for MB_LEN_MAX == 1, since the compiler
94863         can optimize it when MB_CUR_MAX == 1.
94864         The width of control characters is zero, not 1.
94865
94866 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94867
94868         The following changes are from gettext 0.10.39 as maintained by
94869         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
94870
94871         * m4/codeset.m4: Upgrade to serial AM1.
94872         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
94873         all uses changed.  Quote first arg of AC_DEFUN.
94874         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
94875
94876         * m4/iconv.m4: Upgrade to serial AM2.
94877         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
94878         Add --with-libconv-prefix.
94879         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
94880         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
94881         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
94882         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
94883         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
94884
94885         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
94886         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
94887         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
94888         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
94889         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
94890         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
94891         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
94892         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
94893         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94894
94895         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
94896         string.h any more.
94897
94898         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
94899         not the default value.
94900
94901         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
94902         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
94903         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
94904         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
94905         Also check for iswcntrl, used for wcwidth fallback.
94906         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
94907         to Autoconf 2.13.
94908
94909 2001-08-03  Jim Meyering  <meyering@lucent.com>
94910
94911         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
94912         as it was in the original.  Reported by Paul Eggert.
94913
94914 2001-07-16  Jim Meyering  <meyering@lucent.com>
94915
94916         * m4/gettimeofday.m4: New file.
94917         Prompted by a report from Bernhard Baehr.
94918
94919 2001-07-15  Jim Meyering  <meyering@lucent.com>
94920
94921         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
94922         stuff. Now it's in ../Makefile.cfg.
94923
94924 2001-07-15  Jim Meyering  <meyering@lucent.com>
94925
94926         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
94927         (BUILT_SOURCES): Add unlocked-io.h.
94928         (io_functions): Define.
94929         (unlocked-io.h): New rule.
94930         (DISTCLEANFILES): Add unlocked-io.h.
94931         (all-local): Depend on unlocked-io.h, to ensure it is created.
94932
94933         * lib/unlocked-io.hin: New file
94934
94935         * lib/regex.c: Update from glibc.
94936
94937 2001-07-05  Jim Meyering  <meyering@lucent.com>
94938
94939         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
94940         recommendation.
94941         (libfetish_a_SOURCES): Put all .h files here instead.
94942         Remove a thus-exposed (better checks in automake) duplicate and
94943         two unnecessary .h files.
94944
94945 2001-07-04  Jim Meyering  <meyering@lucent.com>
94946
94947         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94948         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94949         distcheck failure.
94950
94951 2001-07-02  Jim Meyering  <meyering@lucent.com>
94952
94953         The following changes were prompted by suggestions from Bruno Haible.
94954
94955         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94956         is now generated.
94957         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94958         definition of EXTRA_DIST.
94959         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94960         ensure that the generated file is created/updated whenever the list
94961         of $(unlocked_functions) is changed.
94962         (jm-glibc-io.m4): New rule.
94963         (unlocked-io.h): New rule -- currently unused.
94964
94965 2001-06-24  Jim Meyering  <meyering@lucent.com>
94966
94967         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94968         unmatched right bracket, rather than kludging it with an extra,
94969         falsely-matching quote in a comment.  Patch by Akim Demaille.
94970
94971 2001-06-11  Jim Meyering  <meyering@lucent.com>
94972
94973         * lib/regex.c: Update from GNU libc.
94974
94975 2001-05-27  Jim Meyering  <meyering@lucent.com>
94976
94977         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94978         Check for ut_type in struct utmp.
94979
94980 2001-05-27  Jim Meyering  <meyering@lucent.com>
94981
94982         * lib/readutmp.h (UT_TYPE): Define.
94983
94984 2001-05-24  Jim Meyering  <meyering@lucent.com>
94985
94986         * lib/argmatch.c: Include "quote.h".
94987         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94988         quote function.  Reported by Göran Uddeborg.
94989
94990 2001-05-22  Jim Meyering  <meyering@lucent.com>
94991
94992         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94993         now that we use the package-supplied version unconditionally.
94994         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94995
94996 2001-05-21  Jim Meyering  <meyering@lucent.com>
94997
94998         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94999         shell syntax errors.
95000
95001 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
95002
95003         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
95004
95005 2001-05-20  Paul Eggert  <eggert@twinsun.com>
95006
95007         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
95008         Don't bother to check library strftime, since
95009         we'll be using our own my_strftime function anyway.
95010         Define my_strftime instead of strftime.
95011
95012 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
95013
95014         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
95015         which is not yet declared.
95016
95017 2001-05-15  Jim Meyering  <meyering@lucent.com>
95018
95019         * m4/regex.m4: Use proper quoting so brackets appear in the test
95020         program.
95021         Reported by, and with help from, Bruno Haible.
95022
95023 2001-05-13  Jim Meyering  <meyering@lucent.com>
95024
95025         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
95026         undefined.
95027
95028 2001-05-11  Paul Eggert  <eggert@twinsun.com>
95029
95030         dirname code cleanup.  base_name now behaves more compatibly
95031         with POSIX basename when given file names that have trailing
95032         slashes, and similarly for dir_name.  Add new primitives
95033         base_len and dir_len.  Put the directory-name-related decls
95034         into dirname.h.
95035
95036         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
95037         * lib/backupfile.c (base_name): Likewise.
95038         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
95039         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
95040         * lib/makepath.c (strip_trailing_slashes): Likewise.
95041         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
95042         ISSLASH): Likewise.
95043         * lib/rename.c (strip_trailing_slashes): Likewise.
95044         * lib/same.c (base_name): Likewise.
95045         * lib/stripslash.c (ISSLASH): Likewise.
95046
95047         * lib/addext.c: Include <dirname.h> after size_t is defined.
95048         * lib/backupfile.c: Likewise.
95049
95050         * lib/addext.c (addext): Use base_len to trim redundant
95051         trailing slashes instead of doing it ourselves.
95052         But do not trim the last slash if it is not redundant.
95053
95054         * lib/backupfile.c (find_backup_file_name,
95055         max_backup_version): Use base_len instead of rolling it ourselves.
95056         Handle the case of "" and (on DOS) "C:" correctly.
95057
95058         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
95059         needed. Include <string.h>, <dirname.h>.
95060         (base_name): Allow file names ending in slashes, other than names
95061         that are all slashes.  In this case, return the basename followed
95062         by the slashes.  This is more general, and can be used in places
95063         where the original base_name purposely had an assertion failure.
95064         (base_len): New function.
95065
95066         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
95067         Do not include <assert.h>; no longer needed.
95068         Include xalloc.h.
95069         (memrchr): Remove decl.
95070         (dir_name_r): Remove.
95071         (dir_len): Renamed from dirlen.  All callers changed.
95072         Rewrite in terms of base_name, for simplicity and consistency.
95073         (dir_name): Never return NULL.  All callers changed.
95074         Do not include <stdlib.h> in test program; no longer needed.
95075         return 0; is fine for test program.
95076
95077         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
95078         New macros.
95079         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
95080
95081         * lib/path-concat.c (path_concat): Use base_len to compute
95082         base length, not strlen; this means we cannot rely on memcpy
95083         to null-terminate.
95084
95085         * lib/same.c (STREQ): Remove.
95086         (same_name): Handle the case where the basename ends in trailing '/'.
95087
95088         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
95089         a slash was stripped.  Do not strip the last slash after a
95090         file system prefix.
95091
95092 2001-05-11  Paul Eggert  <eggert@twinsun.com>
95093
95094         * lib/Makefile.am (libfetish_a_SOURCES):
95095         Add strftime.c, since we now compile it on all hosts.
95096
95097         * lib/strftime.c (my_strftime):
95098         Define to nstrftime if emacs, but only if my_strftime is not defined.
95099         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
95100         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
95101         Add one more extra argument: a nanoseconds value.
95102         All uses changed.
95103         (ns): New macro.
95104         (my_strftime function): Add %N format.
95105         (emacs_strftimeu): Renamed from emacs_strftime,
95106         with extra ut argument.
95107
95108 2001-05-09  Paul Eggert  <eggert@twinsun.com>
95109
95110         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
95111
95112 2001-04-21  Jim Meyering  <meyering@lucent.com>
95113
95114         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
95115         doesn't interfere.
95116
95117 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
95118
95119         * m4/ftruncate.m4: Check for chsize.
95120         Link with ftruncate.o unconditionally if ftruncate is missing.
95121         This was required when cross-compiling to i586-mingw32msvc.
95122
95123 2001-04-08  Jim Meyering  <meyering@lucent.com>
95124
95125         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
95126         recomputed; that's necessary when the offset spans a DST transition.
95127         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
95128
95129 2001-04-02  Jim Meyering  <meyering@lucent.com>
95130
95131         * lib/regex.h, regex.c: Update from GNU libc.
95132
95133 2001-03-24  Jim Meyering  <meyering@lucent.com>
95134
95135         * m4/jm-macros.m4: Require autoconf-2.49d.
95136
95137 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
95138
95139         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
95140
95141 2001-03-19  Paul Eggert  <eggert@twinsun.com>
95142
95143         * lib/version-etc.c (version_etc_copyright): Update to 2001.
95144
95145 2001-03-17  Jim Meyering  <meyering@lucent.com>
95146
95147         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
95148         now that the version in autoconf is equivalent.
95149         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
95150
95151         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
95152         Suggestion from Akim Demaille.
95153
95154         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
95155         (jm_PREREQ_TEMPNAME): New function.
95156
95157 2001-03-16  Paul Eggert  <eggert@twinsun.com>
95158
95159         * lib/tempname.c (uint64_t): Define to uintmax_t if
95160         not defined, and if UINT64_MAX is not defined.
95161         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
95162         Reported by John David Anglin.
95163
95164 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
95165
95166         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
95167         resolve alias if codeset is empty.
95168         * lib/config.charset (BeOS): Use wildcard syntax.
95169
95170 2001-03-13  Jim Meyering  <meyering@lucent.com>
95171
95172         * lib/path-concat.c (path_concat)
95173         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
95174         concatenating e.g., `C:' and `foo'.
95175         From Bruno Haible.
95176
95177 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
95178
95179         * lib/localcharset.c (locale_charset): Don't use
95180         setlocale(LC_CTYPE,NULL). Don't return NULL.
95181         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
95182
95183 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
95184
95185         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
95186         support for DOS/DJGPP.
95187
95188 2001-03-01  Paul Eggert  <eggert@twinsun.com>
95189
95190         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
95191         lacks mkstemp.  Compile our own tempname.c if we compile our own
95192         mkstemp.c, as mkstemp relies on tempname.
95193
95194 2001-03-01  Jim Meyering  <meyering@lucent.com>
95195
95196         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
95197         AH_VERBATIM really does output its argument verbatim.
95198
95199 2001-02-28  Paul Eggert  <eggert@twinsun.com>
95200
95201         * lib/Makefile.am (libfetish_a_SOURCES):
95202         Add dup-safer.c, fopen-safer.c.
95203         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
95204
95205         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
95206         * lib/unistd-safer.h: New files.
95207
95208 2001-02-25  Paul Eggert  <eggert@twinsun.com>
95209
95210         The mkstemp replacement is taken from glibc 2.2.2, with some
95211         portability fixes for use outside glibc, as follows:
95212
95213         * lib/tempname.c (struct_stat64): New macro.
95214         (direxists, __gen_tempname): Use it.
95215         This avoids a portability problem with Solaris 8.
95216
95217         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
95218         (<stddef.h>, <stdint.h>, <string.h>):
95219         Include only if STDC_HEADERS || _LIBC.
95220         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
95221         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
95222         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
95223         (__set_errno): Define this macro if <errno.h> doesn't.
95224         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
95225         Define these macros if <stdio.h> doesn't.
95226         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
95227         Define these macros if <sys/stat.h>
95228         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
95229         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
95230         __xstat64): Define if not _LIBC.
95231         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
95232         (__gen_tempname): Invoke gettimeofday only if
95233         HAVE_GETTIMEOFDAY || _LIBC;
95234         otherwise, fall back on plain "time".
95235         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
95236
95237         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
95238
95239         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
95240
95241 2001-02-18  Paul Eggert  <eggert@twinsun.com>
95242
95243         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
95244
95245 2001-02-17  Paul Eggert  <eggert@twinsun.com>
95246
95247         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
95248         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
95249         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
95250         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95251
95252 2001-02-17  Paul Eggert  <eggert@twinsun.com>
95253
95254         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
95255         Remove workaround macros for hosts that have mbrtowc but not
95256         mbstate_t, as we now insist on proper declarations for both
95257         before using mbrtowc.
95258
95259 2001-02-17  Jim Meyering  <meyering@lucent.com>
95260
95261         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
95262         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
95263         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
95264         UnixWare 7.1.1.
95265
95266         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
95267         rather than AC_CACHE_VAL.
95268
95269 2001-02-17  Jim Meyering  <meyering@lucent.com>
95270
95271         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
95272         around included file name.
95273
95274         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
95275
95276         * lib/strftime.c: Update from GNU libc (the only changes were to
95277         comments).
95278
95279 2001-02-17  Jim Meyering  <meyering@lucent.com>
95280
95281         * lib/regex.c: Update from libc.
95282
95283 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
95284
95285         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
95286         clash.
95287
95288 2001-02-16  Paul Eggert  <eggert@twinsun.com>
95289
95290         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
95291         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
95292         Reported by Mark Hounschell via Paul Eggert.
95293
95294 2001-02-07  Jim Meyering  <meyering@lucent.com>
95295
95296         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
95297
95298 2001-02-05  Jim Meyering  <meyering@lucent.com>
95299
95300         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
95301         it includes the patch required for `large file' support with at least
95302         HP-UX's 10.20 /bin/cc.
95303
95304 2001-02-03  Jim Meyering  <meyering@lucent.com>
95305
95306         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
95307         AS_IF, now that it works once again (mysteriously).
95308         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
95309
95310 2001-01-30  Jim Meyering  <meyering@lucent.com>
95311
95312         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
95313         * m4/chown.m4: Rename conftestchown to conftest.chown.
95314         * m4/rename.m4: s/conftestdir/conftest.d1/ and
95315         s/conftestdir2/conftest.d2/.
95316         * m4/utimes.m4: s/conftestdata/conftest.data/
95317         Inspired by Pavel Roskin's change in autoconf.
95318
95319 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
95320
95321         * lib/config.charset: Update for FreeBSD 4.2.
95322
95323 2001-01-27  Jim Meyering  <meyering@lucent.com>
95324
95325         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
95326         a use of AS_IF.
95327         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
95328
95329 2001-01-26  Jim Meyering  <meyering@lucent.com>
95330
95331         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
95332         quotearg.c includes it.
95333
95334 2001-01-26  Jim Meyering  <meyering@lucent.com>
95335
95336         * lib/quotearg.c: Include stddef.h.
95337         * lib/quote.c: Include stddef.h.
95338         Reported by Axel Kittenberger.
95339
95340         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
95341         line in double quotes so that it evokes a better diagnostic.
95342         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
95343         Reported by Axel Kittenberger.
95344
95345 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
95346
95347         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
95348         as if it was a `charset'.
95349
95350 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
95351
95352         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
95353         has const.
95354
95355 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
95356
95357         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
95358         to avoid a warning.  Add back 'const' to inptr.
95359
95360 2001-01-20  Jim Meyering  <meyering@lucent.com>
95361
95362         Be sure that headers are checked before used in code compiled
95363         for the type checks.
95364         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
95365         In place of that, invoke jm_CHECK_ALL_TYPES.
95366         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
95367         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
95368         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
95369         The check for ssize_t was mistakenly run before the test for unistd.h.
95370
95371         The configure-time check for stdbool.h was missing.
95372         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
95373         (jm_PREREQ_HASH): New function.
95374
95375 2001-01-17  Jim Meyering  <meyering@lucent.com>
95376
95377         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
95378         for autoconf-2.49c.
95379         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
95380
95381 2001-01-16  Jim Meyering  <meyering@lucent.com>
95382
95383         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
95384         From Bruno Haible.
95385
95386 2001-01-14  Jim Meyering  <meyering@lucent.com>
95387
95388         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
95389         foo and bar.  Create conftestdir/ in the script, not in the C code.
95390         Remove directories in the script, not in the C code.
95391         Remove conftestdir{,2} before trying to create the directory.
95392         Make the entire configure script fail if the mkdir fails.
95393
95394 2001-01-14  Jim Meyering  <meyering@lucent.com>
95395
95396         * lib/rename.c: New file.  From Volker Borchert.
95397         Include stdlib.h, string.h or strings.h, and xalloc.h.
95398         Use strip_trailing_slashes rather than open-coding it.
95399
95400 2001-01-03  Paul Eggert  <eggert@twinsun.com>
95401
95402         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
95403
95404 2001-01-03  Jim Meyering  <meyering@lucent.com>
95405
95406         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
95407         of local `inptr' to avoid warning with some system declarations of
95408         iconv.
95409
95410 2001-01-02  Volker Borchert  <bt@teknon.de>
95411
95412         * m4/rename.m4: New file.
95413         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
95414
95415 2001-01-01  Jim Meyering  <meyering@lucent.com>
95416
95417         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
95418         even on systems with utmpx.h.  It's necessary for the declaration of
95419         utmp's ut_user member.  Reported by Andreas Jaeger.
95420
95421         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
95422         available. They are required for the declarations of getgrgid and
95423         getpwuid resp.
95424         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
95425         Reported by Andreas Jaeger.
95426
95427 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
95428
95429         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
95430         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
95431         so `make install' also works in VPATH builds.
95432
95433 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
95434
95435         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
95436         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
95437         can be used in subdirectories.
95438
95439 2000-12-29  Paul Eggert  <eggert@twinsun.com>
95440
95441         * lib/modechange.c: Do not assume that mode_t uses the
95442         traditional octal encoding.  E.g. "chmod 1 FOO" should set
95443         the other-execute bit of FOO even if S_IXOTH != 1.
95444
95445         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
95446         WOTH, XOTH, ALLM): New macros.
95447         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
95448          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
95449         Use them.
95450         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
95451         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
95452         (mode_compile):
95453         No need to use uintmax_t; unsigned long is long enough.
95454         Don't bother to get suffix since we don't use it.
95455
95456 2000-12-26  Jim Meyering  <meyering@lucent.com>
95457
95458         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
95459         better with autoheader.
95460
95461 2000-12-24  Jim Meyering  <meyering@lucent.com>
95462
95463         * lib/hash.c (is_prime): Return explicit boolean values.
95464         (hash_get_first): Return NULL to appease Irix5.6's 89.
95465         Reported by Nelson Beebe.
95466
95467 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
95468
95469         * lib/localcharset.c (locale_charset): Add support for Win32.
95470
95471 2000-12-18  Paul Eggert  <eggert@twinsun.com>
95472
95473         * lib/physmem.h, lib/physmem.c: New files.
95474
95475         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
95476         (noinst_HEADERS): Add physmem.h.
95477
95478         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
95479         't' for compatibility with Solaris 8 sort.
95480
95481 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
95482
95483         * lib/config.charset: Add support for BeOS.
95484
95485 2000-12-17  Jim Meyering  <meyering@lucent.com>
95486
95487         * m4/dos.m4 (jm_AC_DOS): New file and macro.
95488         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
95489
95490 2000-12-16  Jim Meyering  <meyering@lucent.com>
95491
95492         This bug had a serious impact on chown: `chown N:M FILE' (for integer
95493         N and M) would have treated it like `chown N:N FILE'.
95494
95495         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
95496
95497 2000-12-16  Jim Meyering  <meyering@lucent.com>
95498
95499         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
95500         SHELLS_FILE to a file name that's useful on djgpp systems.
95501         Include stdlib.h.
95502         (ADDITIONAL_DEFAULT_SHELLS): Define.
95503         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
95504         Based mostly on a patch from Prashant TR.
95505
95506 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
95507
95508         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
95509         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
95510         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
95511
95512 2000-12-08  Andreas Schwab  <schwab@suse.de>
95513
95514         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
95515         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
95516
95517 2000-12-07  Jim Meyering  <meyering@lucent.com>
95518
95519         * lib/stripslash.c (ISSLASH): Define.
95520         (strip_trailing_slashes): Use ISSLASH rather than comparing against
95521         `/'.
95522         From Prashant TR.
95523
95524         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
95525         (dir_name_r): Declare this function as static.
95526         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
95527         manifest itself on a name containing a mix of slashes and
95528         backslashes.
95529         Make this function work with names starting with a DOS-style
95530         drive letter and colon prefix.
95531         (dir_name): Append `.' if necessary.
95532         Based mostly on patches from Prashant TR and Eli Zaretskii.
95533
95534         * lib/dirname.h (dir_name_r): Remove prototype.
95535
95536 2000-12-06  Paul Eggert  <eggert@twinsun.com>
95537
95538         * m4/off_t-format.m4: Remove this file.
95539         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
95540
95541 2000-12-06  Jim Meyering  <meyering@lucent.com>
95542
95543         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
95544         replacement strtoull, we may well need the replacement strtoul, too.
95545         Check for declarations of strtoul and strtoull.
95546         Check for strtol.  Mainly as a cue to cause automake to include
95547         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
95548         Check for limits.h -- strtol.c needs it.
95549
95550 2000-12-05  Jim Meyering  <meyering@lucent.com>
95551
95552         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
95553
95554 2000-12-04  Jim Meyering  <meyering@lucent.com>
95555
95556         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
95557         Also include memory.h, stdlib.h, unistd.h if appropriate.
95558         Reported by Andreas Jaeger (conflicting declaration of malloc).
95559
95560 2000-12-02  Jim Meyering  <meyering@lucent.com>
95561
95562         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
95563         * m4/jm-macros.m4 (jm_MACROS): require it.
95564
95565 2000-12-02  Jim Meyering  <meyering@lucent.com>
95566
95567         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
95568
95569 2000-12-01  Paul Eggert  <eggert@twinsun.com>
95570
95571         * lib/memrchr.c: Include <config.h> before any system include file.
95572
95573 2000-11-30  Jim Meyering  <meyering@lucent.com>
95574
95575         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
95576
95577 2000-11-30  Jim Meyering  <meyering@lucent.com>
95578
95579         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
95580
95581 2000-11-29  Paul Eggert  <eggert@twinsun.com>
95582
95583         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
95584
95585 2000-11-26  Jim Meyering  <meyering@lucent.com>
95586
95587         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
95588
95589 2000-11-22  Paul Eggert  <eggert@twinsun.com>
95590
95591         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
95592         size of (size_t) -1; it's not portable.
95593
95594 2000-11-17  Jim Meyering  <meyering@lucent.com>
95595
95596         * lib/strstr.c: Update from GNU libc.
95597
95598 2000-11-17  Akim Demaille  <akim@epita.fr>
95599
95600         * lib/obstack.h: Formatting changes.
95601         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
95602         prevent type checking.
95603         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
95604         cast the value to (void *): assigning a `foo *' to a `void *'
95605         variable is valid.
95606         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
95607
95608 2000-11-16  Jim Meyering  <meyering@lucent.com>
95609
95610         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
95611
95612 2000-11-11  Jim Meyering  <meyering@lucent.com>
95613
95614         * lib/error.c: Add a couple #includes, merging from GNU libc version.
95615
95616 2000-11-10  Jim Meyering  <meyering@lucent.com>
95617
95618         * lib/obstack.h: Update from GNU libc.
95619         * lib/obstack.c: Likewise.
95620
95621 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
95622
95623         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
95624
95625 2000-11-06  Paul Eggert  <eggert@twinsun.com>
95626
95627         * lib/getusershell.c (setusershell): Use rewind rather than
95628         fseek/fseeko, to avoid configuration hassles with fseeko.
95629         Don't bother opening SHELLS_FILE if shellstream is NULL;
95630         it's not necessary.
95631
95632 2000-11-05  Jim Meyering  <meyering@lucent.com>
95633
95634         * lib/makepath.h (make_dir): Declare.
95635         * lib/makepath.c (make_dir): Remove `static' attribute.
95636         Tweak a comment.
95637
95638 2000-11-04  Jim Meyering  <meyering@lucent.com>
95639
95640         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
95641
95642 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
95643
95644         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
95645         last one in a bucket, advance to the next bucket.
95646
95647 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
95648
95649         * lib/fnmatch.c: Do not comment out all the code if we are using
95650         the GNU C library, because in some cases we are replacing buggy
95651         code in the GNU C library itself.
95652
95653 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
95654
95655         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
95656         (regex_compile): Catch bogus \(\1\).
95657
95658 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95659
95660         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
95661         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
95662         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
95663
95664 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95665
95666         * lib/error.h, getline.h, modechange.h:
95667         Remove "2000" from Copyright line, as the file hasn't been
95668         changed this year other than in the copyright notice.
95669
95670         * lib/xalloc.h: Add "2000" to Copyright line, as this file
95671         was changed this year.
95672
95673 2000-10-29  Jim Meyering  <meyering@lucent.com>
95674
95675         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
95676         renaming.
95677         * m4/ls-mntd-fs.m4: Likewise
95678
95679 2000-10-29  Jim Meyering  <meyering@lucent.com>
95680
95681         * lib/xstat.in: Fix grammar in comment.
95682
95683 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
95684
95685         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
95686         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
95687         doesn't define __restrict_arr.
95688
95689 2000-10-28  Jim Meyering  <meyering@lucent.com>
95690
95691         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
95692         (jm_PREREQ_MEMCHR): New function.
95693
95694 2000-10-28  Jim Meyering  <meyering@lucent.com>
95695
95696         * lib/memchr.c: Update from libc.
95697         Adjust for portability:
95698         [HAVE_STDLIB_H]: Include stdlib.h.
95699         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
95700         Undef __memchr, too.
95701         [!weak_alias]: Define __memchr to memchr.
95702
95703         * lib/regex.c: Update from libc.
95704         * lib/regex.h: Likewise.
95705         * lib/getopt1.c: Likewise.
95706         * lib/memcmp.c: Likewise.
95707
95708         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
95709         Avoid using fseek, when possible -- it's broken by design.
95710         Patch by Ulrich Drepper.
95711
95712 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
95713
95714         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
95715         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
95716         Giving in to popular pressure to shut up the compiler with casts.
95717
95718 2000-10-26  Jim Meyering  <meyering@lucent.com>
95719
95720         * lib/strftime.c: Update from libc.
95721
95722 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
95723
95724         * regex.c: More `unsigned char' -> `re_char' changes.
95725         Also change several `int' into `re_wchar_t'.
95726         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
95727         (PUSH_FAILURE_POINTER): Don't cast any more.
95728         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
95729         We want GCC to complain, since this piece of code makes
95730         re_match non-reentrant, which *should* be fixed.
95731         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
95732         (EXTEND_BUFFER): Use RETALLOC.
95733         (SET_LIST_BIT): Don't cast.
95734         (re_wchar_t): New type.
95735         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
95736         that those two functions will always properly return.
95737         (IMMEDIATE_QUIT_CHECK): Cast to void.
95738         (analyse_first): Use recursion rather than an explicit stack.
95739         (re_compile_fastmap): Can't fail anymore.
95740         (re_search_2): Don't check re_compile_fastmap for failure.
95741         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
95742         Now also sets the new value (passed in a new argument).
95743         (re_match_2_internal): Use it.
95744         Also, use a new var `reg' of type size_t when looping through regs
95745         rather than reuse the inappropriate `mcnt'.
95746
95747 2000-10-25  Jim Meyering  <meyering@lucent.com>
95748
95749         * lib/obstack.c: Update from libc.
95750
95751 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
95752
95753         * regex.c (regex_compile): Change the way of handling a range from
95754         a char less than 256 to a char not less than 256.
95755
95756 2000-10-24  Andrew Innes  <andrewi@gnu.org>
95757
95758         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
95759         NT-Emacs only.
95760         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
95761         so that re_search functions only quit when callers expect them to.
95762
95763 2000-10-23  Jim Meyering  <meyering@lucent.com>
95764
95765         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
95766         wrong.  That set_locale call must not have any side effects.
95767         From Paul Eggert.
95768
95769 2000-10-22  Jim Meyering  <meyering@lucent.com>
95770
95771         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
95772         [CYCLIC]: Remove now-unused definition.
95773
95774         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
95775         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
95776         Suggestion from Ulrich Drepper.
95777
95778 2000-10-21  Jim Meyering  <meyering@lucent.com>
95779
95780         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
95781         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
95782         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
95783
95784 2000-10-21  Jim Meyering  <meyering@lucent.com>
95785
95786         * lib/dirname.c (memrchr): Declare if necessary.
95787         (dir_name): Remove the restriction that there be no
95788         trailing slashes.  Now, this code skips past them, effectively
95789         ignoring them.
95790         [TEST_DIRNAME] (main): New unit tests.
95791
95792         * lib/memrchr.c: New file from GNU libc.
95793         Undef __memrchr, too.
95794         [!weak_alias]: Define __memrchr to memrchr.
95795         Guard weak_alias use with `#ifdef weak_alias'.
95796
95797 2000-10-21  Jim Meyering  <meyering@lucent.com>
95798
95799         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
95800         (dir_name): Use dir_name_r.
95801         * lib/dirname.h (dir_name_r): Declare it.
95802
95803 2000-10-17  Jim Meyering  <meyering@lucent.com>
95804
95805         * lib/quote.h (PARAMS): Define and use.
95806         Reported by Akim Demaille.
95807
95808         * lib/getopt.c: Update from libc.
95809
95810 2000-10-16  Jim Meyering  <meyering@lucent.com>
95811
95812         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
95813         setlocale.
95814         From Jan Fedak.
95815
95816 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
95817
95818         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
95819
95820 2000-09-25  Jim Meyering  <meyering@lucent.com>
95821
95822         * lib/md5.h (rol): Define (from GnuPG).
95823
95824         * lib/sha.c: Give credit (GnuPG) where due.
95825         (M): Use rol rather than open-coding it.
95826         Add a FIXME comment.
95827
95828 2000-09-21  Jim Meyering  <meyering@lucent.com>
95829
95830         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
95831         Reported by Michael Stone.
95832
95833 2000-09-20  Jim Meyering  <meyering@lucent.com>
95834
95835         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
95836         (noinst_HEADERS): Add sha.h.
95837         Based on code from Scott G. Miller and from GnuPG.
95838
95839 2000-09-18  Jim Meyering  <meyering@lucent.com>
95840
95841         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
95842         LIBS. Otherwise, everyone ends up linking with -lelf for some
95843         configurations.
95844         Reported by Mike Stone.
95845
95846 2000-09-15  Jim Meyering  <meyering@lucent.com>
95847
95848         * lib/regex.c: Update from libc.
95849
95850 2000-09-10  Jim Meyering  <meyering@lucent.com>
95851
95852         * lib/getopt.c (_getopt_internal): Update from glibc.
95853
95854 2000-09-09  Jim Meyering  <meyering@lucent.com>
95855
95856         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
95857         think it should be used as a general replacement for isascii.
95858         * lib/fnmatch.c: Likewise.
95859         * lib/mbswidth.c: Likewise
95860         * lib/regex.c: Likewise.
95861
95862         Don't use atoi.
95863         * lib/userspec.c: Include sys/param.h and limits.h.
95864         Include xstrtol.h.
95865         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95866         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
95867         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
95868         UID, GID.  Check range.
95869
95870 2000-09-06  Jim Meyering  <meyering@lucent.com>
95871
95872         * lib/getopt.c (_getopt_internal): Update from glibc.
95873
95874 2000-08-30  Jim Meyering  <meyering@lucent.com>
95875
95876         * lib/strftime.c: Merge in changes from GNU libc.
95877
95878 2000-08-26  Jim Meyering  <meyering@lucent.com>
95879
95880         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
95881         * m4/fpending.m4: New file.
95882
95883 2000-08-26  Jim Meyering  <meyering@lucent.com>
95884
95885         * lib/closeout.c: Include "__fpending.h".
95886         (close_stdout_status): Return right away if there's nothing to flush.
95887
95888         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
95889         * lib/__fpending.c: New file.
95890         * lib/__fpending.h: New file.
95891
95892 2000-08-20  Jim Meyering  <meyering@lucent.com>
95893
95894         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
95895         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
95896         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
95897
95898 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
95899
95900         Improve fileutils installation on systems where running
95901         programs (like install) can't be unlinked.
95902         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
95903         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
95904
95905 2000-08-07  Paul Eggert  <eggert@twinsun.com>
95906
95907         Standardize on "memory exhausted" instead of "Memory exhausted"
95908         or "virtual memory exhausted".
95909         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
95910         "virtual memory exhausted".
95911         * lib/same.c (same_name): Invoke xalloc_die instead of printing
95912         our own message.
95913         * lib/userspec.c (parse_user_spec): Likewise.
95914         * lib/bumpalloc.h: comment fix
95915         * lib/same.c, userspec.c: Include xalloc.h.
95916
95917         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
95918         not char *const and pointing to a constant array.
95919         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
95920         (xrealloc): Comment fix.
95921
95922         * lib/userspec.c (parse_user_spec):
95923         Don't translate a message until just before returning,
95924         to avoid unnecessary translation.
95925
95926 2000-08-07  Jim Meyering  <meyering@lucent.com>
95927
95928         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
95929         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
95930         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
95931         getgroups.c, gethostname.c, getopt.h, group-member.c,
95932         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
95933         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
95934         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
95935         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
95936         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
95937         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
95938         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
95939         yesno.c: Back out Copyright date changes for each file with no change
95940         this year.  This eases coordination with other programs using the same
95941         source code modules.  From Paul Eggert.
95942
95943 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95944
95945         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95946         not char, for compatibility with glibc 2.1.3 strftime.c.
95947
95948 2000-08-03  Greg McGary  <greg@mcgary.org>
95949
95950         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95951         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95952         (EXTEND_BUFFER): Use them.
95953
95954 2000-08-01  Jim Meyering  <meyering@lucent.com>
95955
95956         * lib/dirname.c (ISSLASH): Define.
95957         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95958         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95959         both `\' and `/' may be use as path separators.
95960         Based on a patch from Prashant TR.
95961
95962 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95963
95964         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95965         slot vector a constant, since it might get modified.
95966
95967 2000-07-31  Jim Meyering  <meyering@lucent.com>
95968
95969         * lib/xmalloc.c: Use `virtual memory exhausted', not
95970         `Memory exhausted'.
95971         * lib/obstack.c (print_and_abort): Likewise.
95972
95973 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95974
95975         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95976         buffer, so that the caller can always quote one small
95977         component of a "memory exhausted" message in slot 0.
95978         From a suggestion by Jim Meyering.
95979
95980 2000-07-30  Jim Meyering  <meyering@lucent.com>
95981
95982         * lib/makepath.c (make_path): Quote the other instance, too.
95983
95984         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95985         (STATIC_BUF_SIZE): Define.
95986         (quotearg_n_options): Use only statically allocated storage when
95987         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95988         than STATIC_BUF_SIZE.
95989
95990 2000-07-29  Jim Meyering  <meyering@lucent.com>
95991
95992         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95993         * lib/dirname.c (dir_name): Likewise.
95994
95995         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95996         `/'.
95997
95998         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95999         (dir_name): Assert that there are no trailing slashes.
96000
96001 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
96002
96003         * lib/mbswidth.h (mbswidth): Add a flags argument.
96004         (mbswidth): New declaration.
96005         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
96006         * lib/mbswidth.c (mbswidth): Add a flags argument.
96007         (mbsnwidth): New function.
96008
96009 2000-07-24  Jim Meyering  <meyering@lucent.com>
96010
96011         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
96012
96013 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96014
96015         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
96016
96017 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96018
96019         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
96020         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
96021         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
96022         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
96023         invoke multibyte primitives.
96024
96025 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96026
96027         * lib/quotearg.c:
96028         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
96029         so that mbstate_t is always defined.
96030
96031         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
96032         be 1 in at least one GCC installation, and this configuration
96033         error is likely to be common.  Ignoring MB_LEN_MAX hurts
96034         performance on hosts that have mbrtowc but have only unibyte
96035         locales, but I assume these hosts are rare.
96036
96037 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96038
96039         * lib/mbswidth.c (_XOPEN_SOURCE):
96040         Don't define; this causes problems on Solaris 7.
96041         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
96042
96043 2000-07-23  Jim Meyering  <meyering@lucent.com>
96044
96045         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
96046         too: getgrgid, getpwuid, getuid.
96047
96048 2000-07-23  Jim Meyering  <meyering@lucent.com>
96049
96050         * lib/basename.c (base_name): Add an assertion.
96051
96052 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
96053
96054         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
96055         shadow its mbsinit function.
96056
96057 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
96058
96059         * lib/mbswidth.h: New file.
96060         * lib/mbswidth.c: New file.
96061         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
96062         (noinst_HEADERS): Add mbswidth.h.
96063
96064 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
96065
96066         * lib/config.charset: Add support for FreeBSD. Improve support for
96067         HP-UX and IRIX 6.
96068
96069 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
96070
96071         * m4/mbswidth.m4: New file.
96072         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
96073
96074 2000-07-15  Jim Meyering  <meyering@lucent.com>
96075
96076         * lib/makepath.c: Include quote.h.
96077         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
96078         corresponding argument in a `quote (...)' call.
96079         Give better diagnostics.
96080
96081         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
96082         (noinst_HEADERS): Add quote.h.
96083
96084         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
96085         from tar's src/misc.c.
96086         * lib/quote.h: New file.  Prototypes for same.
96087
96088 2000-07-14  Paul Eggert  <eggert@twinsun.com>
96089
96090         From a suggestion by Bruno Haible.
96091         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
96092         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
96093         to decide whether to define the BeOS workaround macro;
96094         this adjusts to the change to AC_MBSTATE_T.
96095
96096 2000-07-14  Jim Meyering  <meyering@lucent.com>
96097
96098         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
96099         jm_AC_TYPE_UINTMAX_T.
96100
96101 2000-07-13  Paul Eggert  <eggert@twinsun.com>
96102
96103         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
96104
96105         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
96106         quotearg_buffer_restyled): Add support for
96107         clocale_quoting_style.  Undo previous change to
96108         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
96109         and "{RIGHT QUOTATION MARK}" msgids.
96110
96111 2000-07-10  Paul Eggert  <eggert@twinsun.com>
96112
96113         From a suggestion by Bruno Haible.
96114         * m4/mbstate_t.m4 (AC_MBSTATE_T):
96115         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
96116         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
96117         and mbstate_t, to a single-part test that simply defines mbstate_t.
96118         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
96119         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
96120
96121 2000-07-10  Jim Meyering  <meyering@lucent.com>
96122
96123         * m4/strerror_r.m4: Mirror the correction made in autoconf.
96124
96125         * m4/gnu-source.m4: Output to confdefs.h directly.
96126         Suggestion from Akim Demaille.
96127
96128 2000-07-09  Paul Eggert  <eggert@twinsun.com>
96129
96130         The old behavior of quoting `like this' doesn't look good with
96131         newer, ISO-style fonts.  See:
96132         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
96133
96134         Instead, quote "like this" by default.  Let the translator
96135         tailor the locale-specific quoting behavior by providing
96136         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
96137
96138         * lib/quotearg.c (N_): New macro.
96139         (gettext_default): New function.
96140         (quotearg_buffer_restyled): Use
96141         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
96142         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
96143
96144 2000-07-09  Jim Meyering  <meyering@lucent.com>
96145
96146         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
96147         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
96148
96149         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
96150         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
96151
96152 2000-07-09  Jim Meyering  <meyering@lucent.com>
96153
96154         * lib/Most files: Update copyright dates to include 2000.
96155
96156 2000-07-08  Jim Meyering  <meyering@lucent.com>
96157
96158         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
96159         if not defined.
96160         (xgethostname): Remove now-unnecessary #ifdef.
96161         Move declaration of `err' into loop where it's used.
96162
96163 2000-07-05  Paul Eggert  <eggert@twinsun.com>
96164         and Bruno Haible  <haible@clisp.cons.org>
96165
96166         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
96167         only if the test for an object-type mbstate_t fails.  This
96168         prevents us from mistakenly reporting that mbstate_t is a
96169         system object type after we "#define mbstate_t int" to work
96170         around its lack.
96171
96172 2000-07-05  Paul Eggert  <eggert@twinsun.com>
96173         and Bruno Haible  <haible@clisp.cons.org>
96174
96175         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
96176
96177 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96178
96179         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
96180         to strerror_r.
96181         Include <ctype.h> for use of isalpha.
96182
96183 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96184
96185         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
96186         by allocating a larger buffer. Test the gethostname return value for
96187         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
96188         returns an error and ENAMETOOLONG isn't defined.
96189
96190 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96191
96192         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
96193         dimension.
96194
96195 2000-07-04  Jim Meyering  <meyering@lucent.com>
96196
96197         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
96198         of the deprecated AC_CHECKING.
96199
96200 2000-07-04  Jim Meyering  <meyering@lucent.com>
96201
96202         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
96203         Reported by Bruno Haible.
96204
96205 2000-07-04  Jim Meyering  <meyering@lucent.com>
96206
96207         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
96208         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
96209         lacks mbrtowc.
96210
96211 2000-07-03  Paul Eggert  <eggert@twinsun.com>
96212
96213         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
96214         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
96215
96216 2000-07-03  Paul Eggert  <eggert@twinsun.com>
96217         and Bruno Haible  <haible@clisp.cons.org>
96218
96219         * lib/quotearg.c (mbrtowc):
96220         Assign to *pwc, and return 1 only if result is nonzero.
96221         (iswprint): Use ISPRINT when substituting our own mbrtowc.
96222
96223 2000-07-03  Jim Meyering  <meyering@lucent.com>
96224
96225         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
96226
96227 2000-07-03  Jim Meyering  <meyering@lucent.com>
96228
96229         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
96230         This is necessary to get a definition of e.g., UTMP_FILE on
96231         HP-UX 10.20.
96232         From Bob Proulx.
96233
96234 2000-07-02  Jim Meyering  <meyering@lucent.com>
96235
96236         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
96237
96238         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
96239         AC_LIBOBJ(function_name).
96240         * m4/chown.m4: Likewise.
96241         * m4/fnmatch.m4: Likewise.
96242         * m4/ftruncate.m4: Likewise.
96243         * m4/getgroups.m4: Likewise.
96244         * m4/getline.m4: Likewise.
96245         * m4/group-member.m4: Likewise.
96246         * m4/jm-macros.m4: Likewise.
96247         * m4/lstat.m4: Likewise.
96248         * m4/malloc.m4: Likewise.
96249         * m4/memcmp.m4: Likewise.
96250         * m4/nanosleep.m4: Likewise.
96251         * m4/putenv.m4: Likewise.
96252         * m4/realloc.m4: Likewise.
96253         * m4/regex.m4: Likewise.
96254         * m4/stat.m4: Likewise.
96255         * m4/strftime.m4: Likewise.
96256
96257 2000-07-02  Jim Meyering  <meyering@lucent.com>
96258
96259         * lib/quotearg.c (mbstate_t): Don't define here.
96260
96261 2000-07-02  Jim Meyering  <meyering@lucent.com>
96262
96263         * lib/nanosleep.c (SIGCONT): Define if not already defined.
96264
96265 2000-07-01  Jim Meyering  <meyering@lucent.com>
96266
96267         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
96268
96269 2000-07-01  Jim Meyering  <meyering@lucent.com>
96270
96271         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
96272         problem.
96273
96274 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
96275
96276         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
96277         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
96278
96279 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
96280
96281         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
96282         per change in ../m4/ls-mntd-fs.m4.
96283         (read_filesystem_list): Ignore symbolic links.
96284
96285 2000-06-29  Jim Meyering  <meyering@lucent.com>
96286
96287         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
96288         for declaration of strcmp.
96289
96290         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
96291
96292         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
96293         Avoid warning by casting result to `char *' to remove `const'.
96294
96295 2000-06-28  Jim Meyering  <meyering@lucent.com>
96296
96297         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
96298         included by quotearg.c, for which we perform this test.  From
96299         Bruno Haible.
96300
96301 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
96302
96303         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
96304         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
96305         <utmpx.h> exists, put readutmp.o into LIBOBJS.
96306
96307 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
96308
96309         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
96310
96311 2000-06-26  Paul Eggert  <eggert@twinsun.com>
96312
96313         savedir now sets errno on failure and invokes xmalloc to get memory.
96314         Fix a couple of other minor bugs while we're at it.
96315
96316         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
96317         (NAMLEN): Remove macro.
96318         (malloc, realloc): Remove decls.
96319         (stpcpy): Likewise.
96320         ("xalloc.h"): Include.
96321         (NAME_SIZE_DEFAULT): New macro.
96322         (savedir): Use xmalloc / xrealloc to allocate memory.
96323         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
96324         Skip "" directory entries.
96325         Use strlen to calculate directory entry length, since the old method
96326         is rarely used these days and isn't worth supporting.
96327         Don't use a pointer after freeing it.
96328         Check for integer overflow when calculating allocation size.
96329         Use memcpy to copy entries, instead of stpcpy.
96330         Set errno properly when returning NULL.
96331         Check for readdir error.
96332
96333 2000-06-26  Jim Meyering  <meyering@lucent.com>
96334
96335         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
96336
96337 2000-06-25  Jim Meyering  <meyering@lucent.com>
96338
96339         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
96340         Linux header bug when _XOPEN_SOURCE is defined to 500.
96341
96342 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
96343
96344         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
96345         deficiency.
96346
96347 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
96348
96349         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
96350         Include xalloc.h.
96351         Don't include <stdlib.h>.  Don't declare malloc, realloc.
96352
96353 2000-06-24  Jim Meyering  <meyering@lucent.com>
96354
96355         * m4/strerror_r.m4: Revive this file -- to try out an experimental
96356         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
96357         for which strerror does return char*, but which lacks a conveniently
96358         accessible declaration of the function.  If the compile-test says
96359         strerror_r doesn't work, then resort to a `run'-test that works on
96360         BeOS and segfaults on DEC Unix.
96361
96362 2000-06-24  Jim Meyering  <meyering@lucent.com>
96363
96364         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
96365
96366 2000-06-23  Paul Eggert  <eggert@twinsun.com>
96367
96368         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
96369         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
96370
96371 2000-06-23  Paul Eggert  <eggert@twinsun.com>
96372
96373         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
96374         (mbrtowc, mbstate_t): Define substitutes if
96375         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
96376         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
96377         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
96378
96379 2000-06-23  Jim Meyering  <meyering@lucent.com>
96380
96381         * m4/afs.m4: Add missing AC_MSG_RESULT.
96382         Reported by Bruno Haible.
96383
96384         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
96385         Suggestion from Bruno Haible.
96386
96387 2000-06-23  Jim Meyering  <meyering@lucent.com>
96388
96389         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
96390
96391 2000-06-21  Jim Meyering  <meyering@lucent.com>
96392
96393         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
96394
96395 2000-06-21  Jim Meyering  <meyering@lucent.com>
96396
96397         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
96398         (noinst_HEADERS): Add getstr.h.
96399
96400         * lib/getline.c (getstr): Move into a separate file.
96401         * lib/getstr.c (getstr): New file, extracted from getline.c, with
96402         the following changes: new parameter, delim2; both delim[12]
96403         parameters have type `int', not `char'.  The latter would lose
96404         with 8-bit delimiters.
96405         * lib/getstr.h: New file.
96406
96407 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
96408
96409         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
96410         than 1024, return a memory chunk of least possible size, instead
96411         of size PATH_MAX + 2. In the loop, increment the size proportionally.
96412         Use free/xmalloc instead of xrealloc to avoid copying for very long
96413         paths.
96414
96415 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
96416
96417         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
96418         the empty string.
96419
96420 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
96421
96422         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
96423         address, not strdup.  Include <stdlib.h> and don't declare free().
96424
96425 2000-06-19  Jim Meyering  <meyering@lucent.com>
96426
96427         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
96428
96429 2000-06-18  Jim Meyering  <meyering@lucent.com>
96430
96431         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
96432
96433         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
96434         `checking whether...' message to be consistent with that of the
96435         lstat test.
96436
96437 2000-06-18  Jim Meyering  <meyering@lucent.com>
96438
96439         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
96440         Besides, these days every porting target provides a mkdir function.
96441
96442         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
96443         needed. (this snippet comes from src/system.h).
96444
96445 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
96446
96447         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
96448
96449 2000-06-15  Paul Eggert  <eggert@twinsun.com>
96450
96451         * lib/human.c (adjust_value): New function.
96452         (human_readable_inexact): Apply rounding style even when
96453         printing approximate values.
96454
96455 2000-06-14  Paul Eggert  <eggert@twinsun.com>
96456
96457         * lib/human.c (human_readable_inexact): Allow an input block
96458         size that is not a multiple of the output block size, and vice versa.
96459         Reported by Piergiorgio Sartor.
96460
96461 2000-06-14  Paul Eggert  <eggert@twinsun.com>
96462
96463         * lib/getdate.y (get_date): Apply relative times after time
96464         zone indicator, not before.  Reported by Todd A. Jacobs.
96465
96466 2000-06-13  Jim Meyering  <meyering@lucent.com>
96467
96468         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
96469
96470         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
96471
96472 2000-06-12  Paul Eggert  <eggert@twinsun.com>
96473
96474         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
96475
96476 2000-06-12  Jim Meyering  <meyering@lucent.com>
96477
96478         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
96479         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
96480         optional argument.
96481         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
96482         the optional argument, `lib'.
96483
96484 2000-06-08  Jim Meyering  <meyering@lucent.com>
96485
96486         * m4/largefile.m4: Remove file (now that it's part of autoconf).
96487
96488 2000-06-04  Paul Eggert  <eggert@twinsun.com>
96489
96490         Rewrite largefile configuration so that we don't need to run
96491         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
96492         AC_CANONICAL_HOST in configure.in -- jmm]
96493
96494         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
96495         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
96496         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
96497         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
96498         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
96499         All uses changed.
96500         Instead of inspecting the output of getconf, try to compile the
96501         test program without and with the macro definition.
96502         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
96503         for getconf.  Instead, check for the needed flags by compiling
96504         test programs.
96505
96506 2000-06-04  Paul Eggert  <eggert@twinsun.com>
96507
96508         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
96509
96510 2000-06-04  Jim Meyering  <meyering@lucent.com>
96511
96512         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
96513         SunOS 4.1.4 for which gid_t is an unsigned type.
96514
96515 2000-06-03  Jim Meyering  <meyering@lucent.com>
96516
96517         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
96518         now that autoconf requires that.
96519
96520         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
96521         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
96522         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
96523
96524 2000-06-03  Jim Meyering  <meyering@lucent.com>
96525
96526         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
96527
96528 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
96529
96530         * m4/glibc21.m4: New file.
96531         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
96532
96533 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
96534
96535         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
96536         newer, don't install charset.alias.
96537         * lib/config.charset: Change the Linux/glibc rules so they become empty
96538         on glibc-2.1 or newer.
96539
96540 2000-06-02  Jim Meyering  <meyering@lucent.com>
96541
96542         * lib/mountlist.c: Back out last change.  Instead, do this...
96543         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
96544         me_dummy member using the same `ignore'-testing code.
96545         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
96546         fs_type strings.
96547         From Mark D. Roth.
96548
96549 2000-05-29  Jim Meyering  <meyering@lucent.com>
96550
96551         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
96552         mounts with the `ignore' attribute.  Based on a patch from
96553         Mark D. Roth.
96554
96555 2000-05-28  Jim Meyering  <meyering@lucent.com>
96556
96557         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
96558         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96559         * m4/stat.m4: Likewise.
96560         * m4/lstat.m4: Likewise.
96561         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
96562
96563         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
96564         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
96565
96566 2000-05-26  Jim Meyering  <meyering@lucent.com>
96567
96568         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
96569
96570 2000-05-24  Jim Meyering  <meyering@lucent.com>
96571
96572         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
96573         autoconf requires that.
96574         * m4/lib-check.m4: Likewise.
96575         * m4/jm-macros.m4: Likewise.
96576         * m4/strftime.m4: Likewise.
96577
96578         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
96579         AC_CHECK_DECLS, now that autoconf requires that.
96580
96581 2000-05-22  Jim Meyering  <meyering@lucent.com>
96582
96583         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96584         * m4/lstat.m4: Likewise.
96585
96586 2000-05-22  Jim Meyering  <meyering@lucent.com>
96587
96588         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
96589
96590 2000-05-20  Jim Meyering  <meyering@lucent.com>
96591
96592         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
96593         (jm_PREREQ): Use it.
96594
96595 2000-05-18  Jim Meyering  <meyering@lucent.com>
96596
96597         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
96598         back, too, since it may have been modified by allocate_entry.
96599         (hash_delete): Rewrite to use neither the assignment operator
96600         nor the comma operator in an if-expression.
96601
96602 2000-05-15  Paul Eggert  <eggert@twinsun.com>
96603
96604         * lib/closeout.c:
96605         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
96606         Remove; no longer needed.
96607         "quotearg.h": Add include.
96608         (file_name): Do not bother to explicitly initialize to NULL; it's less
96609         efficient on some hosts.
96610         (close_stdout_status): Remove test as to whether stdout was already
96611         closed; it breaks for the case "echo x | sort >&-".
96612         Quote file name colons.
96613         Do not assume that _("write error") lacks format strings.
96614
96615 2000-05-15  Jim Meyering  <meyering@lucent.com>
96616
96617         * lib/version-etc.c (version_etc_copyright): Update the copyright
96618         string used in all --version output.
96619
96620 2000-05-14  Jim Meyering  <meyering@lucent.com>
96621
96622         * lib/closeout.c (close_stdout_set_file_name): New function.
96623         (close_stdout_status): Use new file-scoped global.
96624         Return right away if fstat says the stdout file descriptor is invalid.
96625         * lib/closeout.h (close_stdout_set_file_name): Declare.
96626
96627 2000-05-10  Jim Meyering  <meyering@lucent.com>
96628
96629         * lib/closeout.c [default_exit_status]: New file-scoped variable.
96630         (close_stdout_set_status): New function.
96631         * lib/closeout.h (close_stdout_set_status): Declare.
96632
96633 2000-05-09  Jim Meyering  <meyering@lucent.com>
96634
96635         * m4/gettext.m4: Rename this...
96636         * m4/libintl.m4: ...to this.
96637
96638 2000-05-08  Jim Meyering  <meyering@lucent.com>
96639
96640         * lib/long-options.c: Don't include closeout.h.
96641         (parse_long_options): Don't call close_stdout for --version.
96642
96643 2000-05-06  Paul Eggert  <eggert@twinsun.com>
96644
96645         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
96646         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
96647         2.1.3 bug.  This avoids a clash when files like regex.c define
96648         _GNU_SOURCE.
96649
96650 2000-05-06  Jim Meyering  <meyering@lucent.com>
96651
96652         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
96653         (AC_REPLACE_FUNCS): Add strnlen.
96654
96655         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
96656         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
96657
96658         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
96659         AC_SEARCH_LIBS call for nanosleep.
96660         (LIB_NANOSLEEP): Set and AC_SUBST.
96661
96662 2000-05-06  Jim Meyering  <meyering@lucent.com>
96663
96664         * lib/strnlen.c: Undefine __strnlen and strnlen.
96665         [!weak_alias]: Define __strnlen to strnlen.
96666
96667         * lib/atexit.c: New file, from libiberty.
96668
96669 2000-05-06  Jim Meyering  <meyering@lucent.com>
96670
96671         * lib/closeout.c (close_stdout_status): Also check for errors on the
96672         stderr stream.
96673
96674 2000-05-05  Jim Meyering  <meyering@lucent.com>
96675
96676         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
96677         AC_SEARCH_LIBS call for clock_gettime.
96678         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
96679
96680         * m4/search-libs.m4: Update from autoconf.
96681
96682         su doesn't work on Solaris 2.6.
96683         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
96684         <shadow.h>.  Reported by Dragos Harabor.
96685
96686 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
96687
96688         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
96689         memcpy instead of xmalloc, xrealloc, path_concat.
96690         (locale_charset): Treat empty environment variables as absent.
96691         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
96692
96693 2000-05-04  Jim Meyering  <meyering@lucent.com>
96694
96695         * lib/getopt.c: Update from glibc.
96696         * lib/obstack.c: Likewise.
96697         * lib/obstack.h: Likewise.
96698         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
96699         file
96700
96701         * lib/regex.h: Likewise.
96702         * lib/strndup.c: Likewise.
96703         * lib/strnlen.c: New file, from glibc.
96704
96705 2000-05-03  Jim Meyering  <meyering@lucent.com>
96706
96707         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
96708
96709 2000-05-02  Paul Eggert  <eggert@twinsun.com>
96710
96711         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
96712         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
96713         compile-time test, rather than inspecting host and OS, to
96714         decide whether to define _LARGEFILE_SOURCE.
96715
96716 2000-05-01  Jim Meyering  <meyering@lucent.com>
96717
96718         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
96719
96720         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
96721         Based on a patch from Bruno Haible.
96722
96723 2000-05-01  Jim Meyering  <meyering@lucent.com>
96724
96725         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
96726
96727 2000-04-29  Jim Meyering  <meyering@lucent.com>
96728
96729         * lib/path-concat.c: Declare strdup only if it's not defined.
96730         * lib/canon-host.c: Likewise.
96731
96732 2000-04-28  Jim Meyering  <meyering@lucent.com>
96733
96734         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
96735         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
96736         is included first, then limits.h is included by locale.h by libintl.h.
96737         From John David Anglin.
96738
96739 2000-04-25  Jim Meyering  <meyering@lucent.com>
96740
96741         * lib/makepath.c (S_IRWXUGO): Define.
96742         (make_path): Always perform explicit chmod if MODE specifies any
96743         of the `special' permission bits.  Prompted by a bug report against
96744         install from Mate Wierdl and Joost van Baal.
96745
96746 2000-04-18  Jim Meyering  <meyering@lucent.com>
96747
96748         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
96749         (jm_PREREQ): Use it.
96750
96751 2000-04-18  Jim Meyering  <meyering@lucent.com>
96752
96753         * lib/README: New file.
96754
96755         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
96756         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
96757
96758 2000-04-17  Jim Meyering  <meyering@lucent.com>
96759
96760         Get it right :-)
96761         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
96762         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
96763         Suggestion from Akim Demaille.
96764
96765 2000-04-17  Jim Meyering  <meyering@lucent.com>
96766
96767         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
96768         the definition of it to rpl_strftime also defined-away the system's
96769         declaration.
96770
96771 2000-04-15  Jim Meyering  <meyering@lucent.com>
96772
96773         Use `C' to denote so-called `contiguous' files, the same way
96774         that tar does.
96775         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
96776         (ftypelet): Use S_ISCTG.
96777         From Michael Deutschmann.
96778
96779 2000-04-14  Jim Meyering  <meyering@lucent.com>
96780
96781         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
96782         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
96783         clobbered.
96784
96785 2000-04-14  Jim Meyering  <meyering@lucent.com>
96786
96787         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
96788
96789 2000-04-13  Jim Meyering  <meyering@lucent.com>
96790
96791         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
96792         AH_VERBATIM to insert required #ifndef into config.h.in.
96793         Suggestion from Akim Demaille.
96794
96795 2000-04-12  Jim Meyering  <meyering@lucent.com>
96796
96797         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
96798         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
96799         Christian Krackowizer.
96800
96801         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
96802         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
96803         (AC_SYS_LARGEFILE): Require.
96804         (AM_C_PROTOTYPES): Require.
96805
96806 2000-04-08  Jim Meyering  <meyering@lucent.com>
96807
96808         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
96809         names don't conflict.  Reported by Eli Zaretskii.
96810
96811 2000-04-07  Jim Meyering  <meyering@lucent.com>
96812
96813         * lib/putenv.c: Move inclusion of errno.h so it follows that of
96814         sys/types.h, to work around system header problems on AIX 3.2.5.
96815         From Bruno Haible.
96816
96817 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
96818
96819         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
96820         bug.  Deal with the different error behavior of Irix iconv.
96821
96822 2000-04-05  Paul Eggert  <eggert@twinsun.com>
96823
96824         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
96825         IRIX if the installer said otherwise.
96826
96827 2000-04-05  Jim Meyering  <meyering@lucent.com>
96828
96829         Portability tweaks required for ultrix4.3.
96830         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
96831         (jm_CHECK_DECLS): Add getutent to the list of functions.
96832         (_jm_DECL_HEADERS): Add utmpx.h.
96833         From John David Anglin.
96834
96835         * m4/strftime.m4: Back out the 2000-04-02 change.
96836         Instead of that change, simply undefine putenv in the test program.
96837
96838 2000-04-05  Jim Meyering  <meyering@lucent.com>
96839
96840         Portability tweaks required for ultrix4.3.
96841         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
96842         getutent.
96843         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
96844         * lib/canon-host.c: Declare strdup.
96845         * lib/path-concat.c: Likewise.
96846         From John David Anglin.
96847
96848 2000-04-04  Jim Meyering  <meyering@lucent.com>
96849
96850         Be more DOS 8.3-friendly.
96851         * lib/ref-add.sin: Renamed from ref-add.sed.in.
96852         * lib/ref-del.sin: Renamed from ref-del.sed.in.
96853         * lib/Makefile.am: Reflect renaming.
96854         Reported by Eli Zaretskii.
96855
96856         Use a temporary file name that won't clash with `charset.alias'
96857         in the DOS 8.3 name space.
96858         * lib/Makefile.am (charset_tmp): Define.
96859         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
96860         (uninstall-local): Likewise.
96861         Reported by Eli Zaretskii.
96862
96863 2000-04-03  Jim Meyering  <meyering@lucent.com>
96864
96865         * m4/gettext.m4: Fix typo in comment.
96866
96867         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
96868         textutils/configure.in).  Suggestion from Paul Eggert.
96869         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
96870
96871 2000-04-02  Paul Eggert  <eggert@twinsun.com>
96872
96873         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
96874         variable in the shell rather than using putenv, which isn't
96875         portable.  This avoids the configure-time inter-test dependency
96876         on the potentially-renamed putenv function.
96877
96878 2000-03-30  Paul Eggert  <eggert@twinsun.com>
96879
96880         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
96881         before checking struct stat.st_blksize, so that
96882         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
96883
96884 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96885
96886         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
96887         since strftime.c uses HAVE_STRFTIME to decide whether to use
96888         the underlying strftime.
96889
96890 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96891
96892         * lib/time/strftime.c (my_strftime): Make sure we call the system
96893         strftime, not ourselves, when invoking the underlying strftime.
96894
96895 2000-03-24  Jim Meyering  <meyering@lucent.com>
96896
96897         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
96898         (charset_alias): Define.
96899         (install-exec-local): Factor out common code.
96900         (uninstall-local): Split lines longer than 80.
96901         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
96902         (SUFFIXES): Define.
96903         (.sed.in.sed): New rule.  Don't redirect directly to $@.
96904         (CLEANFILES): Add ref-add.sed and ref-del.sed.
96905
96906 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
96907
96908         * lib/config.charset: Output a line containing "Packages using this
96909         file".
96910         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
96911         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
96912         ref-del.sed): New rules.
96913
96914 2000-03-17  Jim Meyering  <meyering@lucent.com>
96915
96916         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
96917         Otherwise, include <strings.h>
96918
96919 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
96920
96921         * lib/unicodeio.c (utf8_wctomb): New function.
96922         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
96923         format instead of in UCS-4 with platform dependent endianness.
96924
96925 2000-03-10  Jim Meyering  <meyering@lucent.com>
96926
96927         * m4/lib-check.m4: Look for getspnam in -lgen, too.
96928         From Marco Franzen.
96929
96930 2000-03-07  Paul Eggert  <eggert@twinsun.com>
96931
96932         * lib/savedir.c (savedir): Work even if directory size is
96933         negative; this can happen with some screwy NFS configurations.
96934
96935 2000-03-06  Jim Meyering  <meyering@lucent.com>
96936
96937         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
96938         if it's NULL (because we ran out of memory).  From Bruno Haible.
96939
96940 2000-03-05  Jim Meyering  <meyering@lucent.com>
96941
96942         * lib/localcharset.c ("path-concat.h"): Include.
96943         (get_charset_aliases): Use path_concat instead of ANSI string
96944         concatenation.
96945
96946         * lib/unicodeio.h (PARAMS): Define.
96947         Use it to guard prototype.
96948
96949 2000-03-04  Jim Meyering  <meyering@lucent.com>
96950
96951         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96952         for lib/localcharset.c.
96953
96954 2000-03-04  Jim Meyering  <meyering@lucent.com>
96955
96956         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96957         installing into it.
96958         (uninstall-local): Uncomment this rule so `make distcheck' works
96959         once again.
96960
96961         * lib/unicodeio.c (<errno.h>): Include it.
96962         (errno): Declare if not defined.
96963
96964         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96965
96966         * lib/config.charset: New version, incorporating remarks from a linux
96967         i18n mailing list.  From Bruno Haible.
96968
96969 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96970
96971         * m4/codeset.m4: New file.
96972         * m4/iconv.m4: New file.
96973         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96974
96975 2000-03-03  Jim Meyering  <meyering@lucent.com>
96976
96977         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96978
96979 2000-03-02  Jim Meyering  <meyering@lucent.com>
96980
96981         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96982         the messages come out on separate lines.
96983
96984         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96985         rather than jm_CHECK_DECLARATIONS.
96986         * m4/decl.m4: Remove now-unused file.
96987
96988         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96989         geteuid.
96990
96991 2000-03-02  Jim Meyering  <meyering@lucent.com>
96992
96993         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96994
96995 2000-03-01  Jim Meyering  <meyering@lucent.com>
96996
96997         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96998         * lib/unicodeio.c: Likewise.
96999
97000 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
97001
97002         * lib/config.charset: New file.
97003         * lib/localcharset.c: New file.
97004         * lib/unicodeio.h, lib/unicodeio.c: New files.
97005         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
97006         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
97007         (noinst_HEADERS): Add unicodeio.h.
97008         (all-local, install-exec-local, charset.alias): New targets.
97009
97010 2000-02-28  Paul Eggert  <eggert@twinsun.com>
97011
97012         * lib/quotearg.c (ALERT_CHAR): New macro.
97013         (quotearg_buffer_restyled): Use it.
97014
97015 2000-02-27  Jim Meyering  <meyering@lucent.com>
97016
97017         * m4/check-decl.m4: Add getenv to the list.
97018
97019 2000-02-27  Jim Meyering  <meyering@lucent.com>
97020
97021         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
97022         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
97023
97024         * lib/backupfile.c: Guard inclusion of stdlib.h with
97025         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
97026         Declare malloc if needed.
97027
97028         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
97029         `#ifndef HAVE_DECL..'
97030         now that autoconf always defines the HAVE_DECL_ symbols.
97031         * lib/human.c: Likewise.
97032         * lib/same.c: Likewise.
97033         * lib/strtoumax.c: Likewise.
97034
97035         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
97036         declaration check was not run.
97037         * lib/hash.c: Likewise.
97038         * lib/human.c: Likewise.
97039         * lib/same.c: Likewise.
97040         * lib/strtoumax.c: Likewise.
97041
97042         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
97043         `.', then first look up the entire `.'-containing string as a login
97044         name.
97045
97046 2000-02-23  Jim Meyering  <meyering@lucent.com>
97047
97048         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
97049         in place of my hack.
97050
97051 2000-02-18  Paul Eggert  <eggert@twinsun.com>
97052
97053         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
97054         (textint): New typedef.
97055         (parser_control): Member year changed from int to textint.
97056         All uses changed.
97057         (YYSTYPE): Removed; replaced by %union with int and textint members.
97058         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
97059         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
97060         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
97061         (tSNUMBER, tUNUMBER): Now of type <textintval>.
97062         (date, number, to_year): Use width of number in digits, not its value,
97063         to determine whether it's a 2-digit year, or a 2-digit time.
97064         (yylex): Store number of digits of numeric tokens.
97065         Reported by John Kendall.
97066
97067         (parser_control): Changed from struct parser_control to typedef (for
97068         consistency).  All uses changed.
97069
97070         (tID): Removed; not used.
97071         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
97072
97073 2000-02-14  Paul Eggert  <eggert@twinsun.com>
97074
97075         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
97076         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
97077
97078 2000-02-12  Jim Meyering  <meyering@lucent.com>
97079
97080         * lib/userspec.c (ISDIGIT): Define it.
97081         (isdigit): Remove definition.
97082         (is_number): Use ISDIGIT, not isdigit.
97083         <libintl.h>: Include.
97084         (_ and N_): Define.
97085         (parse_user_spec): Mark translatable strings.
97086
97087 2000-02-10  Jim Meyering  <meyering@lucent.com>
97088
97089         With these changes, nanosleep.[ch] are finally enough like the other
97090         lib/* replacement files to compile on a few more losing systems.
97091
97092         * lib/nanosleep.h: Don't include config.h.
97093         Remove prototype from declaration of nanosleep.
97094         (PARAMS): Remove now-unneeded definition.
97095         * lib/nanosleep.c: #undef nanosleep.
97096         (rpl_nanosleep): Rename from nanosleep.
97097
97098 2000-02-10  Jim Meyering  <meyering@lucent.com>
97099
97100         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
97101         gnu_nanosleep to rpl_nanosleep.
97102
97103 2000-02-09  Jim Meyering  <meyering@lucent.com>
97104
97105         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
97106         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
97107
97108 2000-02-08  Akim Demaille  <akim@epita.fr>
97109
97110         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
97111         `[' and `]' and remove uses of `changequote'.
97112         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
97113         (AC_SYS_LARGEFILE): Likewise.
97114         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
97115         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
97116         of changequote.
97117         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
97118         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
97119         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
97120         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
97121
97122 2000-02-05  Jim Meyering  <meyering@lucent.com>
97123
97124         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
97125         Remove explicit use of AC_HEADER_TIME.  It is required by
97126         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
97127         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
97128         in autoconf whereby the expansion of the latter ended up preceding
97129         the expansion of its prerequisite, AC_HEADER_TIME.
97130         Reported by Volker Borchert.
97131
97132 2000-02-03  Jim Meyering  <meyering@lucent.com>
97133
97134         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
97135
97136 2000-02-03  Jim Meyering  <meyering@lucent.com>
97137
97138         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
97139         rather than with `#if HAVE_UTMPNAME'.
97140
97141 2000-02-02  Jim Meyering  <meyering@lucent.com>
97142
97143         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
97144         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
97145         Reported by Eli Zaretskii.
97146
97147 2000-02-01  Jim Meyering  <meyering@lucent.com>
97148
97149         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
97150
97151 2000-01-31  Jim Meyering  <meyering@lucent.com>
97152
97153         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
97154         functions.  Add the time.h and sys/time.h headers along with the
97155         AC_REQUIRE'ment of AC_HEADER_TIME.
97156
97157 2000-01-31  Jim Meyering  <meyering@lucent.com>
97158
97159         * lib/nanosleep.h (nanosleep): Guard declaration with
97160         `#if ! HAVE_DECL_NANOSLEEP'.
97161         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
97162         the declaration in that vendor's sys/timers.h.
97163         Reported by Christian Krackowizer.
97164
97165         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
97166         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
97167         (ISPRINT): Likewise.
97168         Reported by Tom Tromey.
97169
97170 2000-01-30  Jim Meyering  <meyering@lucent.com>
97171
97172         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
97173
97174         * m4/prereq.m4 (utmp_includes): Define.
97175         Check for ut_user and ut_name members in both struct utmpx
97176         and struct utmp.
97177
97178 2000-01-30  Jim Meyering  <meyering@lucent.com>
97179
97180         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
97181         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
97182         header files where only utmpx.ut_user is declared.
97183
97184         * lib/readutmp.h (UT_USER): Define.
97185
97186 2000-01-29  Jim Meyering  <meyering@lucent.com>
97187
97188         * m4/lib-check.m4: New file containing library-related checks from
97189         fileutils and sh-utils (textutils had none).
97190
97191 2000-01-28  Jim Meyering  <meyering@lucent.com>
97192
97193         * m4/perl.m4: Change format of warning message to look more like that
97194         from the missing script.  Suggestion from François Pinard.
97195
97196 2000-01-25  Jim Meyering  <meyering@lucent.com>
97197
97198         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
97199         well as time.h in the compile check.
97200         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
97201         Fix typo in cross-compiling case: s/yes/no/.
97202
97203 2000-01-23  Jim Meyering  <meyering@lucent.com>
97204
97205         * m4/jm-macros.m4: Move df-related tests here from
97206         fileutils/configure.in
97207
97208         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
97209         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
97210
97211         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
97212         s/space/ac_fsusage_space/.
97213         (jm_FILE_SYSTEM_USAGE): Take two parameters.
97214
97215         * m4/ftruncate.m4: New file (derived from part of
97216         fileutils/configure.in).
97217         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
97218         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
97219
97220         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
97221         AC_SUBST these here, rather than just in sh-util/configure.in, so
97222         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
97223         all the same.
97224         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
97225         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
97226         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
97227         (AC_SUBST(POW_LIBM)): Likewise.
97228         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
97229
97230 2000-01-23  Jim Meyering  <meyering@lucent.com>
97231
97232         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
97233         obstack.c.
97234
97235 2000-01-22  Jim Meyering  <meyering@lucent.com>
97236
97237         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
97238
97239         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
97240
97241         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
97242         configure.in
97243         (AC_CHECK_HEADERS): Likewise for sh-utils.
97244         (AC_CHECK_HEADERS): Likewise for textutils.
97245         Merge the three lists of headers.
97246
97247         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
97248         from fileutils' configure.in.
97249
97250         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
97251         code. Moved tests into their own function (_jm_DECL_HEADERS) in
97252         check-decl.m4.
97253
97254         * m4/check-decl.m4: Use #if rather than #ifdef.
97255         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
97256         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
97257         (_jm_DECL_HEADERS): Define new function.
97258         (jm_CHECK_DECLARATIONS): Require it.
97259
97260 2000-01-22  Jim Meyering  <meyering@lucent.com>
97261
97262         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
97263         [! HAVE_DECL_STRTOULL]: Declare strtoull.
97264         Required for some AIX systems.  Reported by Christian Krackowizer.
97265         [TESTING] (main): New function.
97266
97267         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
97268         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
97269         letters.
97270
97271         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
97272         iswprint.
97273
97274         * lib/strverscmp.c (ISDIGIT): Define.
97275         (strverscmp): Use ISDIGIT, not isdigit.
97276
97277 2000-01-19  Jim Meyering  <meyering@lucent.com>
97278
97279         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
97280         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
97281         defines `struct timespec' in <sys/time.h>
97282
97283         * m4/c-bs-a.m4: Remove uses of changequote altogether.
97284         Thanks to Akim for explaining.
97285
97286 2000-01-17  Paul Eggert  <eggert@twinsun.com>
97287
97288         * lib/nanosleep.c (nanosleep):
97289         Don't use SA_INTERRUPT to decide whether to call sigaction, as
97290         POSIX.1 doesn't require SA_INTERRUPT and some systems
97291         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
97292         it's been part of POSIX.1 since day 1 (in 1988).
97293
97294 2000-01-17  Jim Meyering  <meyering@lucent.com>
97295
97296         * lib/interlock: Remove unused file.  Reported by François Pinard.
97297
97298 2000-01-16  Paul Eggert  <eggert@twinsun.com>
97299
97300         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
97301         alert, backslash, formfeed, and vertical tab unnecessarily in
97302         shell quoting style.
97303
97304 2000-01-16  Jim Meyering  <meyering@lucent.com>
97305
97306         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
97307         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
97308         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
97309         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
97310
97311 2000-01-16  Jim Meyering  <meyering@lucent.com>
97312
97313         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
97314         because the latter didn't work.
97315
97316 2000-01-15  Jim Meyering  <meyering@lucent.com>
97317
97318         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
97319         (AC_REPLACE_FUNCS): Add memcpy and memset.
97320         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
97321         Add strpbrk.
97322         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
97323
97324 2000-01-12  Jim Meyering  <meyering@lucent.com>
97325
97326         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
97327         (jm_PREREQ): Use it.
97328         (jm_PREREQ_READUTMP): New macro.
97329         (jm_PREREQ): Use it.
97330
97331 2000-01-11  Paul Eggert  <eggert@twinsun.com>
97332
97333         Quote multibyte characters correctly.
97334         * m4/c-bs-a.m4: New file.
97335         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
97336         (jm_PREREQ): Use it.
97337
97338 2000-01-11  Paul Eggert  <eggert@twinsun.com>
97339
97340         * m4/uintmax_t.m4: Port to autoconf 2.13.
97341
97342 2000-01-08  Jim Meyering  <meyering@ascend.com>
97343
97344         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
97345         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
97346
97347 2000-01-04  Jim Meyering  <meyering@ascend.com>
97348
97349         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
97350         jm_STRUCT_DIRENT_D_TYPE.
97351         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
97352         jm_STRUCT_DIRENT_D_INO.
97353         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
97354         jm_STRUCT_UTIMBUF.
97355         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
97356         renamings.
97357         * m4/utime.m4: Likewise.
97358
97359         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
97360         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
97361
97362 2000-01-03  Paul Eggert  <eggert@twinsun.com>
97363
97364         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
97365         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
97366
97367 2000-01-02  Jim Meyering  <meyering@ascend.com>
97368
97369         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
97370         remember if this is necessary.
97371
97372 1999-12-26  Jim Meyering  <meyering@ascend.com>
97373
97374         * m4/jm-macros.m4: Use it here.
97375         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
97376
97377 1999-12-23  Jim Meyering  <meyering@ascend.com>
97378
97379         * m4/jm-macros.m4: Check for clock_gettime (moved from
97380         fileutils/configure.in)
97381         Check for gettimeofday.
97382
97383 1999-12-20  Jim Meyering  <meyering@ascend.com>
97384
97385         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
97386         autoconf-2.14a-1999-12-20.
97387
97388 1999-12-19  Jim Meyering  <meyering@ascend.com>
97389
97390         * m4/lstat-slash.m4: New file.
97391         * m4/jm-macros.m4: Use the new macro:
97392         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97393
97394 1999-12-07  Jim Meyering  <meyering@ascend.com>
97395
97396         * m4/perl.m4: Require that File::Compare be available, too.
97397         Too many systems seem to lack it.
97398
97399         * m4/strftime.m4: Add checks for most of the cpp macros tested in
97400         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
97401
97402 1999-11-18  Paul Eggert  <eggert@twinsun.com>
97403
97404         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
97405         problem with the QNX 4.25 shell, which doesn't propagate exit
97406         status of failed commands inside shell assignments.
97407
97408 1999-11-17  Jim Meyering  <meyering@ascend.com>
97409
97410         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
97411
97412 1999-11-07  Jim Meyering  <meyering@ascend.com>
97413
97414         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
97415
97416 1999-11-06  Jim Meyering  <meyering@ascend.com>
97417
97418         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
97419         * m4/jm-macros.m4 (jm_MACROS): Use it here.
97420
97421 1999-11-05  Jim Meyering  <meyering@ascend.com>
97422
97423         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
97424         configure.in of textutils, fileutils, and sh-utils into this one
97425         (shared between those packages) file.
97426         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
97427         AC_STRUCT_ST_BLKSIZE.
97428
97429 1999-11-03  Jim Meyering  <meyering@ascend.com>
97430
97431         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
97432         of AC_CHECK_TYPE checks includes unistd.h.
97433         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
97434         Suggestion from Akim Demaille.
97435
97436 1999-10-30  Jim Meyering  <meyering@ascend.com>
97437
97438         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
97439         m4-quoted string.
97440         * m4/ls-mntd-fs.m4: Likewise.
97441         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
97442         * m4/jm-winsz1.m4: Likewise.
97443
97444         * m4/const.m4: Remove file, since the fix made it into the experimental
97445         version of autoconf.
97446         * m4/mktime.m4: Likewise.
97447
97448         * m4/check-type.m4: Remove file, now that the latest version of
97449         AC_CHECK_TYPE takes a third arg to specify additional #includes.
97450
97451         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
97452         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
97453         AC_CHECK_TYPE.
97454
97455 1999-10-04  Jim Meyering  <meyering@ascend.com>
97456
97457         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
97458
97459 1999-09-22  Paul Eggert  <eggert@twinsun.com>
97460
97461         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
97462         2.95.1 bug with HP-UX 10.20.
97463
97464 1999-09-17  Jim Meyering  <meyering@ascend.com>
97465
97466         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
97467         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
97468         due to missing strdup (against sh-utils-2.0).
97469
97470 1999-08-29  Jim Meyering  <meyering@ascend.com>
97471
97472         * m4/jm-macros.m4: Require jm_BISON.
97473         * m4/bison.m4: New file.
97474
97475 1999-08-17  Paul Eggert  <eggert@twinsun.com>
97476
97477         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
97478         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
97479
97480 1999-08-05  Jim Meyering  <meyering@ascend.com>
97481
97482         * m4/getline.m4: Rename test file from conftestdata to conftest.data
97483         to avoid conflicts with `conftest' on 8+3 filesystems.
97484         Suggestion from Eli Zaretskii.
97485
97486 1999-08-04  Jim Meyering  <meyering@ascend.com>
97487
97488         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
97489         fileutils and sh-utils (textutils's getline test was inadequate).
97490         (AM_FUNC_GETLINE): Run this test.
97491         (AC_CHECK_FUNCS): Check for getdelim.
97492         Reported by Bob Proulx.
97493
97494 1999-08-02  Jim Meyering  <meyering@ascend.com>
97495
97496         * m4/jm-macros.m4: Add a comment.
97497
97498 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97499
97500         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
97501         <inttypes.h> defines strtoumax as a macro (and not as a
97502         function).
97503
97504 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97505
97506         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
97507         that we can shift, multiply and divide unsigned long long
97508         values; Ultrix cc can't do it.
97509
97510 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97511
97512         * m4/mktime.m4: New file, which is a preview of what should appear
97513         in the next public autoconf release.
97514
97515 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97516
97517         * m4/lfs.m4: Remove this file.
97518         * m4/largefile.m4: New file.  It contains the old contents of
97519         lfs.m4, except that all names with prefix AC_LFS have been
97520         changed to use the prefix AC_SYS_LARGEFILE instead, to be
97521         compatible with future autoconf versions.  Also, some minor m4
97522         quoting problems have been fixed.
97523
97524 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97525
97526         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
97527         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
97528         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
97529         and simplify the shell code.
97530
97531 1999-08-01  Jim Meyering  <meyering@ascend.com>
97532
97533         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
97534         m4.
97535
97536 1999-07-20  Jim Meyering  <meyering@ascend.com>
97537
97538         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
97539
97540 1999-07-15  Jim Meyering  <meyering@ascend.com>
97541
97542         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
97543
97544 1999-05-22  Jim Meyering  <meyering@ascend.com>
97545
97546         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
97547
97548 1999-05-20  Jim Meyering  <meyering@ascend.com>
97549
97550         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
97551         Add a colon after each `then' in case $4 is empty.
97552
97553 1999-05-16  Jim Meyering  <meyering@ascend.com>
97554
97555         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
97556
97557 1999-05-10  Jim Meyering  <meyering@ascend.com>
97558
97559         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
97560
97561         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
97562         AC_FUNC_MKTIME.
97563
97564 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
97565
97566         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
97567
97568 1999-05-04  Paul Eggert  <eggert@twinsun.com>
97569
97570         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
97571         not CPPFLAGS, so that linking works correctly in IRIX.
97572
97573 1999-04-30  Paul Eggert  <eggert@twinsun.com>
97574
97575         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
97576
97577 1999-04-20  Paul Eggert  <eggert@twinsun.com>
97578
97579         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
97580         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
97581         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
97582         jm_AC_TYPE_UNSIGNED_LONG_LONG.
97583         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
97584
97585         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
97586
97587 1999-04-20  Jim Meyering  <meyering@ascend.com>
97588
97589         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
97590         AC_REPLACE xstroull if necessary.  From Paul Eggert.
97591         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
97592
97593 1999-04-18  Jim Meyering  <meyering@ascend.com>
97594
97595         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
97596         * m4/jm-macros.m4: Use it.
97597
97598 1999-04-06  Jim Meyering  <meyering@ascend.com>
97599
97600         * m4/strftime.m4: Remove test for %f.
97601
97602 1999-03-29  Jim Meyering  <meyering@ascend.com>
97603
97604         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
97605         superset of the AC_TYPE_* checks in the textutils, fileutils,
97606         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
97607         AC_TYPE_PID_T.
97608
97609 1999-03-28  Jim Meyering  <meyering@ascend.com>
97610
97611         * m4/jm-macros.m4: Define GNU_PACKAGE here.
97612         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
97613         replaced e.g., in the *.sh files of the sh-utils.
97614
97615 1999-03-20  Jim Meyering  <meyering@ascend.com>
97616
97617         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
97618         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
97619         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
97620
97621 1999-03-19  Jim Meyering  <meyering@ascend.com>
97622
97623         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
97624
97625 1999-03-12  Jim Meyering  <meyering@ascend.com>
97626
97627         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
97628
97629 1999-03-07  Jim Meyering  <meyering@ascend.com>
97630
97631         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
97632         declared.
97633
97634 1999-02-17  Jim Meyering  <meyering@ascend.com>
97635
97636         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
97637         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
97638
97639 1999-02-07  Jim Meyering  <meyering@ascend.com>
97640
97641         * m4/group-member.m4: New file -- extracted from sh-utils'
97642         configure.in.
97643
97644         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
97645         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
97646
97647 1999-02-06  Jim Meyering  <meyering@ascend.com>
97648
97649         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
97650         * m4/fnmatch.m4: Likewise.
97651         * m4/getgroups.m4: Likewise.
97652         * m4/lstat.m4: Likewise.
97653         * m4/malloc.m4: Likewise.
97654         * m4/putenv.m4: Likewise.
97655         * m4/realloc.m4: Likewise.
97656         * m4/regex.m4: Likewise.
97657         * m4/stat.m4: Likewise.
97658         * m4/strftime.m4: Likewise.
97659         Suggestion from Alain Magloire.
97660
97661         * m4/chown.m4: Use `.$ac_objext', not `.o'.
97662         * m4/fnmatch.m4: Likewise.
97663         * m4/getgroups.m4: Likewise.
97664         * m4/getline.m4: Likewise.
97665         * m4/lstat.m4: Likewise.
97666         * m4/malloc.m4: Likewise.
97667         * m4/memcmp.m4: Likewise.
97668         * m4/putenv.m4: Likewise.
97669         * m4/realloc.m4: Likewise.
97670         * m4/regex.m4: Likewise.
97671         * m4/stat.m4: Likewise.
97672         * m4/strftime.m4: Likewise.
97673         Suggestion from Alain Magloire.
97674
97675         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
97676         an argument.
97677
97678         * m4/regex.m4: Add a run-time Test for proper operation of
97679         re_compile_pattern.
97680
97681 1999-01-31  Jim Meyering  <meyering@ascend.com>
97682
97683         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
97684
97685 1999-01-30  Jim Meyering  <meyering@ascend.com>
97686
97687         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
97688
97689         * m4/jm-mktime.m4: Make this a wrapper around the official
97690         AM_FUNC_MKTIME rather than my private copy, now that the official one
97691         is up to date.
97692         * m4/mktime.m4: Remove file.
97693
97694         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
97695         * m4/uptime.m4: Likewise.
97696         * m4/uintmax_t.m4: Likewise.
97697
97698 1999-01-28  Jim Meyering  <meyering@ascend.com>
97699
97700         * m4/jm-macros.m4: Use jm_AFS.
97701         * m4/afs.m4: New file (from fileutils' configure.in).
97702
97703         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
97704         * m4/chown.m4: Likewise.
97705         * m4/d-ino.m4: Likewise.
97706         * m4/d-type.m4: Likewise.
97707         * m4/fnmatch.m4: Likewise.
97708         * m4/getgroups.m4: Likewise.
97709         * m4/gettext.m4: Likewise.
97710         * m4/jm-mktime.m4: Likewise.
97711         * m4/jm-winsz2.m4: Likewise.
97712         * m4/lcmessage.m4: Likewise.
97713         * m4/ls-mntd-fs.m4: Likewise.
97714         * m4/malloc.m4: Likewise.
97715         * m4/memcmp.m4: Likewise.
97716         * m4/putenv.m4: Likewise.
97717         * m4/realloc.m4: Likewise.
97718         * m4/st_mtim.m4: Likewise.
97719         * m4/strftime.m4: Likewise.
97720
97721 1999-01-16  Jim Meyering  <meyering@ascend.com>
97722
97723         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
97724         (ARGMATCH_DIE_DECL): Define.
97725
97726 1999-01-12  Jim Meyering  <meyering@ascend.com>
97727
97728         * m4/Makefile.am.in: Rewrite to avoid using fmt.
97729         Reported by Lars Hecking.
97730
97731 1999-01-10  Jim Meyering  <meyering@ascend.com>
97732
97733         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
97734         gross kludge.
97735         * m4/inttypes_h.m4: Likewise.
97736         * m4/lstat.m4: Likewise.
97737         * m4/malloc.m4: Likewise.
97738         * m4/readdir.m4: Likewise.
97739         * m4/realloc.m4: Likewise.
97740         * m4/st_dm_mode.m4: Likewise.
97741         * m4/stat.m4: Likewise.
97742         * m4/utimbuf.m4: Likewise.
97743         * m4/utimes.m4: Likewise.
97744
97745         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
97746         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
97747         comments in config.h.in are meaningful.
97748
97749         * m4/jm-macros.m4: Require autoconf-2.13 here.
97750
97751         * m4/regex.m4: By default, don't use the included regex.c on systems
97752         with glibc 2.  Suggestion from Uli Drepper.
97753
97754 1999-01-02  Jim Meyering  <meyering@ascend.com>
97755
97756         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
97757
97758 1998-12-18  Jim Meyering  <meyering@ascend.com>
97759
97760         * m4/Makefile.am.in (Makefile.am): Simplify rule.
97761         Based on a suggestion from Lars Hecking.
97762
97763 1998-11-16  Paul Eggert  <eggert@twinsun.com>
97764
97765         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
97766
97767 1998-11-16  Jim Meyering  <meyering@ascend.com>
97768
97769         * m4/lfs.m4: Double-quote the `uname...` expression.
97770
97771 1998-11-14  Jim Meyering  <meyering@ascend.com>
97772
97773         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
97774         * m4/stat.m4: Likewise.
97775
97776 1998-11-03  Jim Meyering  <meyering@ascend.com>
97777
97778         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
97779         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
97780
97781 1998-10-18  Jim Meyering  <meyering@ascend.com>
97782
97783         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
97784
97785 1998-10-17  Jim Meyering  <meyering@ascend.com>
97786
97787         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
97788         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
97789         calls for those previously hard-coded headers.  Instead, take a new
97790         parameter.
97791         (jm_CHECK_DECLARATIONS): Reflect interface change.
97792         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
97793         (jm_CHECK_DECL_LOCALTIME_R): New macro.
97794
97795         * m4/mktime.m4: Test for spring-forward gap before long-running test.
97796
97797 1998-10-14  Jim Meyering  <meyering@ascend.com>
97798
97799         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
97800         instead of "TZ=America/Vancouver".  From Paul Eggert.
97801
97802 1998-10-11  Jim Meyering  <meyering@ascend.com>
97803
97804         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
97805         This adds a test for a recently added compatibility fix for mktime.c.
97806         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
97807
97808 1998-09-27  Jim Meyering  <meyering@ascend.com>
97809
97810         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
97811
97812         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
97813         ../configure.in, including a change from Gordon Matzigkeit to allow
97814         cross-compiling for the Hurd.
97815
97816         * m4/glibc.m4: New file/macro to test for the GNU C Library
97817         versions 1 and 2.  From Gordon Matzigkeit.
97818         Indent.
97819
97820 1998-09-21  Jim Meyering  <meyering@ascend.com>
97821
97822         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
97823
97824 1998-08-18  Paul Eggert  <eggert@twinsun.com>
97825
97826         Port nanosecond-resolution times to UnixWare 2.1.2 and
97827         pedantic Solaris 2.6.
97828
97829         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
97830         AC_STRUCT_ST_MTIM.
97831         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
97832         Generate name of ns member, instead of just 1 or undef.
97833         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
97834
97835 1998-08-15  Jim Meyering  <meyering@ascend.com>
97836
97837         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
97838         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
97839         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
97840         instead of jm_TYPE_SSIZE_T.
97841
97842 1998-08-12  Jim Meyering  <meyering@ascend.com>
97843
97844         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
97845
97846 1998-08-02  Jim Meyering  <meyering@ascend.com>
97847
97848         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
97849         in acconfig.h manually.
97850
97851 1998-07-31  Paul Eggert  <eggert@twinsun.com>
97852
97853         * m4/st_mtim.m4: New file.
97854
97855 1998-07-28  Jim Meyering  <meyering@ascend.com>
97856
97857         * m4/utimes.m4: Undef stat.
97858
97859 1998-07-25  Jim Meyering  <meyering@ascend.com>
97860
97861         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
97862         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
97863
97864 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
97865
97866         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
97867         uid and gid actually remain unchanged.
97868
97869 1998-07-07  Jim Meyering  <meyering@ascend.com>
97870
97871         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
97872
97873 1998-07-04  Jim Meyering  <meyering@ascend.com>
97874
97875         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
97876         to prove that this macro can be used in packages without regex.c.
97877
97878 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
97879
97880         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
97881         is to be used.
97882
97883 1998-07-03  Jim Meyering  <meyering@ascend.com>
97884
97885         * m4/gettext.m4: Add -lintl if it's found to be necessary.
97886
97887         * m4/gettext.m4: New file -- from gettext-0.10.35.
97888         * m4/lcmessage.m4: Likewise.
97889         * m4/progtest.m4: Likewise.
97890
97891         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
97892         * m4/jm-macros.m4: Require the new macro.
97893
97894 1998-06-29  Jim Meyering  <meyering@ascend.com>
97895
97896         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
97897         for the definition of NGROUPS (used in a system header included
97898         by sys/mount.h).
97899
97900 1998-06-28  Jim Meyering  <meyering@ascend.com>
97901
97902         * m4/ls-mntd-fs.m4: New file.
97903         * m4/fstypename.m4: New file.
97904
97905         * m4/jm-macros.m4: Require the new macro.
97906         * m4/jm-glibc-io.m4: New file.
97907
97908 1998-05-19  Jim Meyering  <meyering@ascend.com>
97909
97910         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
97911         * m4/lchown.m4: New file.
97912
97913         * m4/Makefile.am.in: New file.
97914         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
97915
97916 1998-05-14  Jim Meyering  <meyering@ascend.com>
97917
97918         * m4/Makefile.am (EXTRA_DIST): Add them.
97919         * m4/jm-macros.m4: New file.
97920         * m4/utimbuf.m4: New file.
97921
97922 1998-05-12  Jim Meyering  <meyering@ascend.com>
97923
97924         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
97925
97926 1998-05-11  Jim Meyering  <meyering@ascend.com>
97927
97928         * m4/isc-posix.m4: New file.
97929
97930 1998-05-10  Jim Meyering  <meyering@ascend.com>
97931
97932         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
97933
97934 1998-05-09  Jim Meyering  <meyering@ascend.com>
97935
97936         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
97937         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
97938         with automake.
97939
97940         * m4/ssize_t.m4: New file.
97941         * m4/mktime.m4: Remove file -- the new automake has this now.
97942
97943 1998-04-26  Jim Meyering  <meyering@ascend.com>
97944
97945         * m4/assert.m4: New file.
97946         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97947
97948 1998-04-05  Jim Meyering  <meyering@ascend.com>
97949
97950         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97951         (jm_PREREQ): Use it here.
97952
97953 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97954
97955         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97956         in acconfig.h.
97957
97958 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97959
97960         * m4/prereq.m4: New file.
97961         * m4/error.m4: New file.
97962         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97963
97964 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97965
97966         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97967         cache-check for the same variable -- that defeated the purpose of
97968         the test; the test program was never run.  This was a problem only
97969         on systems with losing getline functions -- HP-UX 10.20 is one.
97970         Reported by Bjorn Helgaas.
97971
97972 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97973
97974         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97975
97976 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97977
97978         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97979
97980         * m4/const.m4: New file.  Use an initializer in this declaration
97981         typedef int charset[2]; const charset x;
97982         Reported by Bob Glickstein.
97983
97984 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97985
97986         * m4/chown.m4: Fix reversed types on -1 args to chown.
97987         From Kaveh Ghazi.
97988
97989 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97990
97991         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97992         Add lseek and memchr.
97993
97994         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97995         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97996         have a 20-character limit on names.
97997
97998 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97999
98000         * m4/inttypes_h.m4: New file.
98001         * m4/uintmax_t.m4: New file.
98002         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
98003
98004
98005         -----
98006
98007         Local Variables:
98008         coding: utf-8
98009         End:
98010
98011         Copyright (C) 1997-2012 Free Software Foundation, Inc.
98012
98013         Copying and distribution of this file, with or without
98014         modification, are permitted provided the copyright notice
98015         and this notice are preserved.